diff --git a/apps/calendar/ajax/createcalendar.php b/apps/calendar/ajax/createcalendar.php index f8b5974f54..b719b207c7 100644 --- a/apps/calendar/ajax/createcalendar.php +++ b/apps/calendar/ajax/createcalendar.php @@ -12,6 +12,18 @@ require_once('../../../lib/base.php'); OC_JSON::checkLoggedIn(); OC_JSON::checkAppEnabled('calendar'); +if(trim($_POST['name']) == ''){ + OC_JSON::error(array('message'=>'empty')); + exit; +} +$calendars = OC_Calendar_Calendar::allCalendars(OC_User::getUser()); +foreach($calendars as $cal){ + if($cal['displayname'] == $_POST['name']){ + OC_JSON::error(array('message'=>'namenotavailable')); + exit; + } +} + $userid = OC_User::getUser(); $calendarid = OC_Calendar_Calendar::addCalendar($userid, $_POST['name'], 'VEVENT,VTODO,VJOURNAL', null, 0, $_POST['color']); OC_Calendar_Calendar::setCalendarActive($calendarid, 1); diff --git a/apps/calendar/ajax/updatecalendar.php b/apps/calendar/ajax/updatecalendar.php index 14f560da5a..269b7b7ca0 100644 --- a/apps/calendar/ajax/updatecalendar.php +++ b/apps/calendar/ajax/updatecalendar.php @@ -12,6 +12,18 @@ require_once('../../../lib/base.php'); OC_JSON::checkLoggedIn(); OC_JSON::checkAppEnabled('calendar'); +if(trim($_POST['name']) == ''){ + OC_JSON::error(array('message'=>'empty')); + exit; +} +$calendars = OC_Calendar_Calendar::allCalendars(OC_User::getUser()); +foreach($calendars as $cal){ + if($cal['displayname'] == $_POST['name'] && $cal['id'] != $_POST['id']){ + OC_JSON::error(array('message'=>'namenotavailable')); + exit; + } +} + $calendarid = $_POST['id']; $calendar = OC_Calendar_App::getCalendar($calendarid);//access check OC_Calendar_Calendar::editCalendar($calendarid, $_POST['name'], null, null, null, $_POST['color']); diff --git a/apps/calendar/js/calendar.js b/apps/calendar/js/calendar.js index 228ea97c2d..afd1b692dd 100644 --- a/apps/calendar/js/calendar.js +++ b/apps/calendar/js/calendar.js @@ -429,11 +429,17 @@ Calendar={ } }, submit:function(button, calendarid){ - var displayname = $("#displayname_"+calendarid).val(); + var displayname = $.trim($("#displayname_"+calendarid).val()); var active = $("#edit_active_"+calendarid+":checked").length; var description = $("#description_"+calendarid).val(); var calendarcolor = $("#calendarcolor_"+calendarid).val(); - + if(displayname == ''){ + $("#displayname_"+calendarid).css('background-color', '#FF2626'); + $("#displayname_"+calendarid).focus(function(){ + $("#displayname_"+calendarid).css('background-color', '#F8F8F8'); + }); + } + var url; if (calendarid == 'new'){ url = OC.filePath('calendar', 'ajax', 'createcalendar.php'); @@ -449,6 +455,11 @@ Calendar={ if (calendarid == 'new'){ $('#choosecalendar_dialog > table').append(''); } + }else{ + $("#displayname_"+calendarid).css('background-color', '#FF2626'); + $("#displayname_"+calendarid).focus(function(){ + $("#displayname_"+calendarid).css('background-color', '#F8F8F8'); + }); } }, 'json'); }, @@ -677,6 +688,9 @@ $(document).ready(function(){ $('#calendar_holder').fullCalendar('option', 'aspectRatio', 1.35); } }, + columnFormat: { + week: 'ddd d. MMM' + }, selectable: true, selectHelper: true, select: Calendar.UI.newEvent,