diff --git a/apps/calendar/ajax/import/import.php b/apps/calendar/ajax/import/import.php index b5a97e5d12..cbb4b55056 100644 --- a/apps/calendar/ajax/import/import.php +++ b/apps/calendar/ajax/import/import.php @@ -37,7 +37,7 @@ if($_POST['method'] == 'new'){ $newcal = true; } if($newcal){ - $id = OC_Calendar_Calendar::addCalendar(OCP\USER::getUser(), strip_tags($_POST['calname']),'VEVENT,VTODO,VJOURNAL',null,0,$import->createCalendarColor()); + $id = OC_Calendar_Calendar::addCalendar(OCP\USER::getUser(), strip_tags($_POST['calname']),'VEVENT,VTODO,VJOURNAL',null,0,strip_tags($_POST['calcolor'])); OC_Calendar_Calendar::setCalendarActive($id, 1); } }else{ diff --git a/apps/calendar/appinfo/app.php b/apps/calendar/appinfo/app.php index b9357d574e..09b18ed397 100644 --- a/apps/calendar/appinfo/app.php +++ b/apps/calendar/appinfo/app.php @@ -24,6 +24,8 @@ OCP\Util::connectHook('OC_Calendar', 'deleteCalendar', 'OC_Calendar_Share', 'pos OCP\Util::addscript('calendar','loader'); OCP\Util::addscript("3rdparty", "chosen/chosen.jquery.min"); OCP\Util::addStyle("3rdparty", "chosen/chosen"); +OCP\Util::addStyle('3rdparty/miniColors', 'jquery.miniColors'); +OCP\Util::addscript('3rdparty/miniColors', 'jquery.miniColors.min'); OCP\App::addNavigationEntry( array( 'id' => 'calendar_index', 'order' => 10, diff --git a/apps/calendar/css/import.css b/apps/calendar/css/import.css index 46bab2b7cf..8abdc3aecd 100644 --- a/apps/calendar/css/import.css +++ b/apps/calendar/css/import.css @@ -7,5 +7,8 @@ #calendar_import_newcalform, #calendar_import_mergewarning, #calendar_import_process, #calendar_import_done{display:none;} #calendar_import_process_message, #calendar_import_status, #calendar_import_form_message, #calendar_import_mergewarning{text-align:center;} #calendar_import_form_message{font-weight: bold;} -#calendar_import_newcalendar{width:96%;} -.calendar_import_warning{border-color: #fc3333;} \ No newline at end of file +#calendar_import_newcalendar{width:415px;float:right;} +#calendar_import_mergewarning{clear: both;} +#calendar_import_defaultcolors{clear:both;margin: 0 auto;text-align: center;} +.calendar_import_warning{border-color: #fc3333;} +.calendar-colorpicker-color{display:inline-block;width:20px;height:5px;margin: 0 auto;cursor:pointer;border:2px solid transparent;} \ No newline at end of file diff --git a/apps/calendar/js/loader.js b/apps/calendar/js/loader.js index 77199a5327..b28d19ab00 100644 --- a/apps/calendar/js/loader.js +++ b/apps/calendar/js/loader.js @@ -11,6 +11,7 @@ Calendar_Import={ id: 0, method: '', calname: '', + calcolor: '', progresskey: '', percentage: 0 }, @@ -33,6 +34,7 @@ Calendar_Import={ //init dialog $('#calendar_import_dialog').dialog({ width : 500, + resizable: false, close : function() { Calendar_Import.Dialog.close(); } @@ -44,6 +46,10 @@ Calendar_Import={ $('#calendar_import_submit').click(function(){ Calendar_Import.Core.process(); }); + $('#calendar_import_mergewarning').click(function(){ + $('#calendar_import_newcalendar').attr('value', $('#calendar_import_availablename').val()); + Calendar_Import.Dialog.mergewarning($('#calendar_import_newcalendar').val()); + }); $('#calendar_import_calendar').change(function(){ if($('#calendar_import_calendar option:selected').val() == 'newcal'){ $('#calendar_import_newcalform').slideDown('slow'); @@ -54,7 +60,16 @@ Calendar_Import={ } }); $('#calendar_import_newcalendar').keyup(function(){ - Calendar_Import.Dialog.mergewarning($('#calendar_import_newcalendar').val()); + Calendar_Import.Dialog.mergewarning($.trim($('#calendar_import_newcalendar').val())); + }); + $('#calendar_import_newcalendar_color').miniColors({ + letterCase: 'uppercase' + }); + $('.calendar-colorpicker-color').click(function(){ + var str = $(this).attr('rel'); + str = str.substr(1); + $('#calendar_import_newcalendar_color').attr('value', str); + $(".color-picker").miniColors('value', '#' + str); }); //init progressbar $('#calendar_import_progressbar').progressbar({value: Calendar_Import.Store.percentage}); @@ -114,7 +129,7 @@ Calendar_Import={ }, send: function(){ $.post(OC.filePath('calendar', 'ajax/import', 'import.php'), - {progresskey: Calendar_Import.Store.progresskey, method: String (Calendar_Import.Store.method), calname: String (Calendar_Import.Store.calname), path: String (Calendar_Import.Store.path), file: String (Calendar_Import.Store.file), id: String (Calendar_Import.Store.id)}, function(data){ + {progresskey: Calendar_Import.Store.progresskey, method: String (Calendar_Import.Store.method), calname: String (Calendar_Import.Store.calname), path: String (Calendar_Import.Store.path), file: String (Calendar_Import.Store.file), id: String (Calendar_Import.Store.id), calcolor: String (Calendar_Import.Store.calcolor)}, function(data){ if(data.status == 'success'){ $('#calendar_import_progressbar').progressbar('option', 'value', 100); Calendar_Import.Store.percentage = 100; @@ -136,6 +151,10 @@ Calendar_Import={ Calendar_Import.Dialog.warning('#calendar_import_newcalendar'); return false; } + Calendar_Import.Store.calcolor = $.trim($('#calendar_import_newcalendar_color').val()); + if(Calendar_Import.Store.calcolor == ''){ + Calendar_Import.Store.calcolor = $('.calendar-colorpicker-color:first').attr('rel'); + } }else{ Calendar_Import.Store.method = 'old'; } diff --git a/apps/calendar/templates/part.import.php b/apps/calendar/templates/part.import.php index 1029cdd925..2ce3cc3423 100644 --- a/apps/calendar/templates/part.import.php +++ b/apps/calendar/templates/part.import.php @@ -5,11 +5,14 @@ if(!$file){ OCP\JSON::error(array('error'=>'404')); } $import = new OC_Calendar_Import($file); +$import->setUserID(OCP\User::getUser()); $newcalendarname = strip_tags($import->createCalendarName()); -$guessedcalendarname = $import->guessCalendarName(); +$guessedcalendarname = strip_tags($import->guessCalendarName()); +$calendarcolor = strip_tags($import->createCalendarColor()); //loading calendars for select box $calendar_options = OC_Calendar_Calendar::allCalendars(OCP\USER::getUser()); $calendar_options[] = array('id'=>'newcal', 'displayname'=>$l->t('create a new calendar')); +$defaultcolors = OC_Calendar_Calendar::getCalendarColorOptions(); ?>
">
@@ -17,6 +20,7 @@ $calendar_options[] = array('id'=>'newcal', 'displayname'=>$l->t('create a new c +
t('Please choose a calendar'); ?>
+

-
+ +
+
+ '; + } + ?> +
t('A Calendar with this name already exists. If you continue anyhow, these calendars will be merged.'); ?>