From d7e742c32d734c35ad8411a566f9af04bf0fc76e Mon Sep 17 00:00:00 2001 From: Georg Ehrke Date: Thu, 9 Aug 2012 12:36:00 +0200 Subject: [PATCH] move calendar settings from personal settings to in app settings --- ajax/calendar/overview.php | 4 +- appinfo/app.php | 1 - calendar.php | 12 ++++ css/style.css | 11 +++- index.php | 3 +- js/calendar.js | 68 +++++++++++--------- js/settings.js | 7 +-- settings.php | 2 +- templates/calendar.php | 16 ++--- templates/part.choosecalendar.php | 101 +++++++++++++++--------------- templates/settings.php | 76 +++++++++++++++------- 11 files changed, 178 insertions(+), 123 deletions(-) create mode 100644 calendar.php diff --git a/ajax/calendar/overview.php b/ajax/calendar/overview.php index 9d43364f..1d8e49ea 100644 --- a/ajax/calendar/overview.php +++ b/ajax/calendar/overview.php @@ -4,9 +4,7 @@ * This file is licensed under the Affero General Public License version 3 or * later. * See the COPYING-README file. - */ - - + */ $l10n = OC_L10N::get('calendar'); OCP\JSON::checkLoggedIn(); OCP\JSON::checkAppEnabled('calendar'); diff --git a/appinfo/app.php b/appinfo/app.php index 4fdba291..5c05c57b 100644 --- a/appinfo/app.php +++ b/appinfo/app.php @@ -33,5 +33,4 @@ OCP\App::addNavigationEntry( array( 'href' => OCP\Util::linkTo( 'calendar', 'index.php' ), 'icon' => OCP\Util::imagePath( 'calendar', 'icon.svg' ), 'name' => $l->t('Calendar'))); -OCP\App::registerPersonal('calendar', 'settings'); OC_Search::registerProvider('OC_Search_Provider_Calendar'); diff --git a/calendar.php b/calendar.php new file mode 100644 index 00000000..2c0bee9d --- /dev/null +++ b/calendar.php @@ -0,0 +1,12 @@ + + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ +$l10n = OC_L10N::get('calendar'); +OCP\JSON::checkLoggedIn(); +OCP\JSON::checkAppEnabled('calendar'); +$tmpl = new OCP\Template('calendar', 'part.choosecalendar'); +$tmpl->printpage(); \ No newline at end of file diff --git a/css/style.css b/css/style.css index 373a4565..5cda4b1b 100644 --- a/css/style.css +++ b/css/style.css @@ -19,7 +19,7 @@ #loading { display: none;margin: 0;padding:0;margin-top:5px;} -#calendar_holder {position: relative;bottom: 0; right: 0; left: 0; top: 3em;} +#fullcalendar {position: relative;bottom: 0; right: 0; left: 0; top: 3em;} .fc-content{padding:2px 4px;} #listview {margin: 0; padding: 10px; background: #EEEEEE;} #listview #more_before, #listview #more_after {border: 1px solid #1a1a1a; width:25em;padding: 3px;text-align: center;} @@ -133,3 +133,12 @@ padding:0 8px 2px; line-height:1.2; margin-bottom:4px; } + +#choosecalendar a.settings{ + margin-top: 25px; + margin-right: 10px; +} + +#fullcalendar{ + overflow: scroll; +} \ No newline at end of file diff --git a/index.php b/index.php index cbfe0027..352c295c 100644 --- a/index.php +++ b/index.php @@ -5,8 +5,7 @@ * later. * See the COPYING-README file. */ - - +DEFINE('DEBUG', TRUE); OCP\User::checkLoggedIn(); OCP\App::checkAppEnabled('calendar'); diff --git a/js/calendar.js b/js/calendar.js index 25311fa0..23846c89 100644 --- a/js/calendar.js +++ b/js/calendar.js @@ -18,7 +18,7 @@ Calendar={ startEventDialog:function(){ Calendar.UI.loading(false); $('.tipsy').remove(); - $('#calendar_holder').fullCalendar('unselect'); + $('#fullcalendar').fullCalendar('unselect'); Calendar.UI.lockTime(); $( "#from" ).datepicker({ dateFormat : 'dd-mm-yy' @@ -88,7 +88,7 @@ Calendar={ $.post(url, post, function(data){ Calendar.UI.loading(false); if(data.status == 'success'){ - $('#calendar_holder').fullCalendar('removeEvents', $('#event_form input[name=id]').val()); + $('#fullcalendar').fullCalendar('removeEvents', $('#event_form input[name=id]').val()); $('#event').dialog('destroy').remove(); } else { $('#errorbox').html(t('calendar', 'Deletion failed')); @@ -133,7 +133,7 @@ Calendar={ } else if(data.status == 'success'){ $('#event').dialog('destroy').remove(); - $('#calendar_holder').fullCalendar('refetchEvents'); + $('#fullcalendar').fullCalendar('refetchEvents'); } },"json"); }, @@ -148,7 +148,7 @@ Calendar={ console.log("Event moved successfully"); }else{ revertFunc(); - $('#calendar_holder').fullCalendar('refetchEvents'); + $('#fullcalendar').fullCalendar('refetchEvents'); } }); }, @@ -163,7 +163,7 @@ Calendar={ console.log("Event resized successfully"); }else{ revertFunc(); - $('#calendar_holder').fullCalendar('refetchEvents'); + $('#fullcalendar').fullCalendar('refetchEvents'); } }); }, @@ -239,11 +239,11 @@ Calendar={ doc_height = $(document).height(), win_height = $(window).height(); if(direction == 'down' && win_height == (doc_height - scroll)){ - $('#calendar_holder').fullCalendar('next'); + $('#fullcalendar').fullCalendar('next'); $(document).scrollTop(0); event.preventDefault(); }else if (direction == 'top' && scroll == 0) { - $('#calendar_holder').fullCalendar('prev'); + $('#fullcalendar').fullCalendar('prev'); $(document).scrollTop(win_height); event.preventDefault(); } @@ -398,9 +398,9 @@ Calendar={ if (data.status == 'success'){ checkbox.checked = data.active == 1; if (data.active == 1){ - $('#calendar_holder').fullCalendar('addEventSource', data.eventSource); + $('#fullcalendar').fullCalendar('addEventSource', data.eventSource); }else{ - $('#calendar_holder').fullCalendar('removeEventSource', data.eventSource.url); + $('#fullcalendar').fullCalendar('removeEventSource', data.eventSource.url); } } }); @@ -426,10 +426,10 @@ Calendar={ function(data) { if (data.status == 'success'){ var url = 'ajax/events.php?calendar_id='+calid; - $('#calendar_holder').fullCalendar('removeEventSource', url); + $('#fullcalendar').fullCalendar('removeEventSource', url); $('#choosecalendar_dialog').dialog('destroy').remove(); Calendar.UI.Calendar.overview(); - $('#calendar_holder').fullCalendar('refetchEvents'); + $('#fullcalendar').fullCalendar('refetchEvents'); } }); } @@ -456,8 +456,8 @@ Calendar={ function(data){ if(data.status == 'success'){ $(button).closest('tr').prev().html(data.page).show().next().remove(); - $('#calendar_holder').fullCalendar('removeEventSource', data.eventSource.url); - $('#calendar_holder').fullCalendar('addEventSource', data.eventSource); + $('#fullcalendar').fullCalendar('removeEventSource', data.eventSource.url); + $('#fullcalendar').fullCalendar('addEventSource', data.eventSource); if (calendarid == 'new'){ $('#choosecalendar_dialog > table:first').append(''); } @@ -504,7 +504,7 @@ Calendar={ idtype: '', activation:function(object,owner,id){ $.post(OC.filePath('calendar', 'ajax/share', 'activation.php'),{id:id, idtype:'calendar', activation:object.checked?1:0}); - $('#calendar_holder').fullCalendar('refetchEvents'); + $('#fullcalendar').fullCalendar('refetchEvents'); }, dropdown:function(userid, calid){ $('.calendar_share_dropdown').remove(); @@ -612,7 +612,7 @@ Calendar={ console.log('The drop-import feature is not supported in your browser :('); return false; } - droparea = document.getElementById('calendar_holder'); + droparea = document.getElementById('fullcalendar'); droparea.ondrop = function(e){ e.preventDefault(); Calendar.UI.Drop.drop(e); @@ -626,7 +626,7 @@ Calendar={ reader = new FileReader(); reader.onload = function(event){ Calendar.UI.Drop.import(event.target.result); - $('#calendar_holder').fullCalendar('refetchEvents'); + $('#fullcalendar').fullCalendar('refetchEvents'); } reader.readAsDataURL(file); } @@ -634,7 +634,7 @@ Calendar={ import:function(data){ $.post(OC.filePath('calendar', 'ajax/import', 'dropimport.php'), {'data':data},function(result) { if(result.status == 'success'){ - $('#calendar_holder').fullCalendar('addEventSource', result.eventSource); + $('#fullcalendar').fullCalendar('addEventSource', result.eventSource); $('#notification').html(result.message); $('#notification').slideDown(); window.setTimeout(function(){$('#notification').slideUp();}, 5000); @@ -647,7 +647,11 @@ Calendar={ }); } } - } + }, + Settings:{ + // + }, + } $.fullCalendar.views.list = ListView; function ListView(element, calendar) { @@ -815,7 +819,7 @@ function ListView(element, calendar) { } $(document).ready(function(){ Calendar.UI.initScroll(); - $('#calendar_holder').fullCalendar({ + $('#fullcalendar').fullCalendar({ header: false, firstDay: firstDay, editable: true, @@ -851,10 +855,10 @@ $(document).ready(function(){ } Calendar.UI.setViewActive(view.name); if (view.name == 'agendaWeek') { - $('#calendar_holder').fullCalendar('option', 'aspectRatio', 0.1); + $('#fullcalendar').fullCalendar('option', 'aspectRatio', 0.1); } else { - $('#calendar_holder').fullCalendar('option', 'aspectRatio', 1.35); + $('#fullcalendar').fullCalendar('option', 'aspectRatio', 1.35); } }, columnFormat: { @@ -888,7 +892,7 @@ $(document).ready(function(){ changeYear: true, showButtonPanel: true, beforeShow: function(input, inst) { - var calendar_holder = $('#calendar_holder'); + var calendar_holder = $('#fullcalendar'); var date = calendar_holder.fullCalendar('getDate'); inst.input.datepicker('setDate', date); inst.input.val(calendar_holder.fullCalendar('getView').title); @@ -896,30 +900,36 @@ $(document).ready(function(){ }, onSelect: function(value, inst) { var date = inst.input.datepicker('getDate'); - $('#calendar_holder').fullCalendar('gotoDate', date); + $('#fullcalendar').fullCalendar('gotoDate', date); } }); fillWindow($('#content')); OCCategories.changed = Calendar.UI.categoriesChanged; OCCategories.app = 'calendar'; $('#oneweekview_radio').click(function(){ - $('#calendar_holder').fullCalendar('changeView', 'agendaWeek'); + $('#fullcalendar').fullCalendar('changeView', 'agendaWeek'); }); $('#onemonthview_radio').click(function(){ - $('#calendar_holder').fullCalendar('changeView', 'month'); + $('#fullcalendar').fullCalendar('changeView', 'month'); }); $('#listview_radio').click(function(){ - $('#calendar_holder').fullCalendar('changeView', 'list'); + $('#fullcalendar').fullCalendar('changeView', 'list'); }); $('#today_input').click(function(){ - $('#calendar_holder').fullCalendar('today'); + $('#fullcalendar').fullCalendar('today'); }); $('#datecontrol_left').click(function(){ - $('#calendar_holder').fullCalendar('prev'); + $('#fullcalendar').fullCalendar('prev'); }); $('#datecontrol_right').click(function(){ - $('#calendar_holder').fullCalendar('next'); + $('#fullcalendar').fullCalendar('next'); }); Calendar.UI.Share.init(); Calendar.UI.Drop.init(); + $('#choosecalendar .generalsettings').on('click keydown', function() { + OC.appSettings({appid:'calendar', loadJS:true, cache:false}); + }); + $('#choosecalendar .calendarsettings').on('click keydown', function() { + OC.appSettings({appid:'calendar', loadJS:true, cache:false, scriptName:'calendar.php'}); + }); }); diff --git a/js/settings.js b/js/settings.js index 60741f2b..20753a7b 100644 --- a/js/settings.js +++ b/js/settings.js @@ -1,11 +1,7 @@ $(document).ready(function(){ $('#timezone').change( function(){ - OC.msg.startSaving('#calendar .msg') - // Serialize the data var post = $( '#timezone' ).serialize(); - $.post( OC.filePath('calendar', 'ajax/settings', 'settimezone.php'), post, function(data){ - //OC.msg.finishedSaving('#calendar .msg', data); - }); + $.post( OC.filePath('calendar', 'ajax/settings', 'settimezone.php'), post, function(data){return;}); return false; }); $('#timezone').chosen(); @@ -52,6 +48,7 @@ $(document).ready(function(){ }); }); calendarcachecheck(); + }); function calendarcachecheck(){ $.getJSON(OC.filePath('calendar', 'ajax/cache', 'status.php'), function(jsondata, status) { diff --git a/settings.php b/settings.php index eaa20c6c..f5635180 100644 --- a/settings.php +++ b/settings.php @@ -14,4 +14,4 @@ $tmpl->assign('calendars', OC_Calendar_Calendar::allCalendars(OCP\USER::getUser( OCP\Util::addscript('calendar','settings'); -return $tmpl->fetchPage(); +$tmpl->printPage(); \ No newline at end of file diff --git a/templates/calendar.php b/templates/calendar.php index 29b9bf6b..c94cc755 100644 --- a/templates/calendar.php +++ b/templates/calendar.php @@ -33,6 +33,7 @@ ?> }); +
@@ -41,8 +42,9 @@
- "/> - " onclick="Calendar.UI.Calendar.overview();" /> + + <?php echo $l->t('Settings'); ?> + <?php echo $l->t('Settings'); ?>
@@ -50,12 +52,6 @@
- -
-
- +
-
- t("There was a fail, while parsing the file."); ?> -
- + \ No newline at end of file diff --git a/templates/part.choosecalendar.php b/templates/part.choosecalendar.php index 8d621cc3..ad2f9e75 100644 --- a/templates/part.choosecalendar.php +++ b/templates/part.choosecalendar.php @@ -1,51 +1,52 @@ -
"> -

t('Your calendars'); ?>:

- -"; - $tmpl = new OCP\Template('calendar', 'part.choosecalendar.rowfields'); - $tmpl->assign('calendar', $option_calendars[$i]); - if(OC_Calendar_Share::allUsersSharedwith($option_calendars[$i]['id'], OC_Calendar_Share::CALENDAR) == array()){ - $shared = false; - }else{ - $shared = true; + +

t('Your calendars'); ?>:

+
+ "; + $tmpl = new OCP\Template('calendar', 'part.choosecalendar.rowfields'); + $tmpl->assign('calendar', $option_calendars[$i]); + if(OC_Calendar_Share::allUsersSharedwith($option_calendars[$i]['id'], OC_Calendar_Share::CALENDAR) == array()){ + $shared = false; + }else{ + $shared = true; + } + $tmpl->assign('shared', $shared); + $tmpl->printpage(); + echo ""; } - $tmpl->assign('shared', $shared); - $tmpl->printpage(); - echo ""; -} -?> - - - - - - -
- -
-

">

-

-

t('Shared calendars'); ?>:

- -'; - $tmpl = new OCP\Template('calendar', 'part.choosecalendar.rowfields.shared'); - $tmpl->assign('share', $share[$i]); - $tmpl->printpage(); - echo ''; -} -?> -
-' . $l->t('No shared calendars') . '

'; -} -?> -
\ No newline at end of file + ?> + + + + + + + +

">

+ + +
+

t('Shared calendars'); ?>:

+ + '; + $tmpl = new OCP\Template('calendar', 'part.choosecalendar.rowfields.shared'); + $tmpl->assign('share', $share[$i]); + $tmpl->printpage(); + echo ''; + } + ?> +
+ ' . $l->t('No shared calendars') . '

'; + } + ?> + + \ No newline at end of file diff --git a/templates/settings.php b/templates/settings.php index 28c35762..56a6a42e 100644 --- a/templates/settings.php +++ b/templates/settings.php @@ -7,11 +7,16 @@ * See the COPYING-README file. */ ?> -
-
- t('Calendar'); ?> - - + + + + + +
+ + + - - + + + + + + + + - - + + + + - - - -
+ +    + +
+ +
+    + + +   + +
+ +    + -
+
+ +    + -
- -
- +
+ +    + + +
+ +

t('URLs'); ?>

+
t('Calendar CalDAV syncing addresses'); ?> (t('more info'); ?>)
t('Primary address (Kontact et al)'); ?>
@@ -63,5 +97,5 @@
-
-
+ + \ No newline at end of file