1. You can now delete an event.

2. I have added notification  - The event was deleted successfully
3. I have added "Tenatative" on Free/busy dialog
4. I have changed Sensitivity to Privacy and Show as -> show me as
This commit is contained in:
Bogomil Shopov 2011-06-14 14:52:20 +03:00
parent 712bffc9cb
commit feae471289
4 changed files with 39 additions and 9 deletions

View file

@ -49,7 +49,7 @@ class kolab_calendar
{ {
if ($imap_folder) if ($imap_folder)
$this->imap_folder = $imap_folder; $this->imap_folder = $imap_folder;
write_log('err_log',$imap_folder);
// ID is derrived from folder name // ID is derrived from folder name
$this->id = strtolower(asciiwords(strtr($this->imap_folder, '/.', '--'))); $this->id = strtolower(asciiwords(strtr($this->imap_folder, '/.', '--')));
@ -212,11 +212,30 @@ class kolab_calendar
return $updated; return $updated;
} }
/**
* Delete an event record
*
* @see Driver:remove_event()
* @return boolean True on success, False on error
*/
public function delete_event($event) public function delete_event($event)
{ {
return true; $deleted = false;
$deleteme = $this->storage->delete($event['id']);
if (PEAR::isError($deleteme)) {
raise_error(array(
'code' => 600, 'type' => 'php',
'file' => __FILE__, 'line' => __LINE__,
'message' => "Error saving contact object to Kolab server:" . $deleteme->getMessage()),
true, false);
}
else {
$deleted = true;
}
return $deleted;
} }
@ -311,7 +330,7 @@ class kolab_calendar
'alarms' => $alarm_value . $alarm_unit, 'alarms' => $alarm_value . $alarm_unit,
'categories' => $rec['categories'], 'categories' => $rec['categories'],
'free_busy' => $rec['show-time-as'], 'free_busy' => $rec['show-time-as'],
'priority' => 1, // normal 'priority' => $rec['priority'], // normal
'sensitivity' => $sensitivity_map[$rec['sensitivity']], 'sensitivity' => $sensitivity_map[$rec['sensitivity']],
'calendar' => $this->id, 'calendar' => $this->id,
); );
@ -335,12 +354,13 @@ class kolab_calendar
'end-date'=>$event['end'], 'end-date'=>$event['end'],
'sensitivity'=>$this->sensitivity_map[$event['sensitivity']], 'sensitivity'=>$this->sensitivity_map[$event['sensitivity']],
'show-time-as' => $event['free_busy'], 'show-time-as' => $event['free_busy'],
'priority' => $event['priority']
); );
//handle alarms //handle alarms
if ($event['alarms']) if ($event['alarms']) {
{
//get the value //get the value
$alarmbase = explode(":",$event['alarms']); $alarmbase = explode(":",$event['alarms']);
@ -367,4 +387,6 @@ class kolab_calendar
return $object; return $object;
} }
} }

View file

@ -64,7 +64,7 @@ class kolab_driver extends calendar_driver
} }
else { else {
foreach ($folders as $c_folder) { foreach ($folders as $c_folder) {
$calendar = new kolab_calendar($c_folder->name); $calendar = new kolab_calendar($c_folder->name);
$this->folders[$calendar->id] = $calendar; $this->folders[$calendar->id] = $calendar;
if ($calendar->ready) { if ($calendar->ready) {
$this->calendars[$calendar->id] = array( $this->calendars[$calendar->id] = array(
@ -128,7 +128,7 @@ class kolab_driver extends calendar_driver
*/ */
public function edit_calendar($prop) public function edit_calendar($prop)
{ {
return false; return false;
} }
/** /**
@ -138,6 +138,7 @@ class kolab_driver extends calendar_driver
*/ */
public function remove_calendar($prop) public function remove_calendar($prop)
{ {
return false; return false;
} }
@ -207,6 +208,10 @@ class kolab_driver extends calendar_driver
*/ */
public function remove_event($event) public function remove_event($event)
{ {
if (($storage = $this->_get_storage($event['calendar'])) && ($ev = $storage->get_event($event['id'])))
$rt = $storage->delete_event($event + $ev);
if($rt==true)
$this->rc->output->show_message('calendar.successremoval', 'success'); return $rt;
return false; return false;
} }

View file

@ -190,6 +190,7 @@ class calendar_ui
$select->add($this->calendar->gettext('free'), 'free'); $select->add($this->calendar->gettext('free'), 'free');
$select->add($this->calendar->gettext('busy'), 'busy'); $select->add($this->calendar->gettext('busy'), 'busy');
$select->add($this->calendar->gettext('outofoffice'), 'outofoffice'); $select->add($this->calendar->gettext('outofoffice'), 'outofoffice');
$select->add($this->calendar->gettext('tentative'), 'tentative');
return $select->show(null); return $select->show(null);
} }

View file

@ -40,12 +40,13 @@ $labels['date'] = 'Date';
$labels['start'] = 'Start'; $labels['start'] = 'Start';
$labels['end'] = 'End'; $labels['end'] = 'End';
$labels['choose_date'] = 'Choose date'; $labels['choose_date'] = 'Choose date';
$labels['freebusy'] = 'Show as'; $labels['freebusy'] = 'Show me as';
$labels['free'] = 'Free'; $labels['free'] = 'Free';
$labels['busy'] = 'Busy'; $labels['busy'] = 'Busy';
$labels['outofoffice'] = 'Out of Office'; $labels['outofoffice'] = 'Out of Office';
$labels['tentative'] = 'Tentative';
$labels['priority'] = 'Priority'; $labels['priority'] = 'Priority';
$labels['sensitivity'] = 'Sensitivity'; $labels['sensitivity'] = 'Privacy';
$labels['public'] = 'public'; $labels['public'] = 'public';
$labels['private'] = 'private'; $labels['private'] = 'private';
$labels['confidential'] = 'confidential'; $labels['confidential'] = 'confidential';
@ -98,6 +99,7 @@ $labels['operationfailed'] = "The requested operation failed";
$labels['invalideventdates'] = "Invalid dates entered! Please check your input."; $labels['invalideventdates'] = "Invalid dates entered! Please check your input.";
$labels['invalidcalendarproperties'] = "Invalid calendar properties! Please set a valid name."; $labels['invalidcalendarproperties'] = "Invalid calendar properties! Please set a valid name.";
$labels['searchnoresults'] = 'No events found in the selected calendars'; $labels['searchnoresults'] = 'No events found in the selected calendars';
$labels['successremoval'] = "The event was deleted successfully";
// recurrence form // recurrence form
$labels['repeat'] = 'Repeat'; $labels['repeat'] = 'Repeat';