{ /* -*- Mode: java; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
  requires = ( MAIN, MainUI, CommonUI, Appointments, Contacts, ContactsUI );

  publicResources = (
                     previous_week.gif,
                     next_week.gif,
                     icon_view_overview.gif,
                     icon_view_overview_inactive.gif,
                     icon_view_chart.gif,
                     icon_view_chart_inactive.gif,
                     icon_view_list.gif,
                     icon_view_list_inactive.gif,
                     icon_view_columns.gif,
                     icon_view_columns_inactive.gif,
                     icon_popupcalendar.gif,
                     first.gif,
                     previous.gif,
                     next.gif,
                     last.gif,
                     skycalendar.html,
                     skycalendar.js,
                     green_corner.gif,
                     invisible_space_2.gif,
                     cycles.plist,
                     );

    factories = {
    };

  categories = {
    SOGoAppointmentFolders = {
      slots = {
        toolbar = {
          protectedBy = "View";
          value = "SOGoAppointmentFolders.toolbar";
        };
      };
      methods = {
        view = {
          protectedBy = "View";
          pageName    = "UIxCalMainView";
        };
        addWebCalendar = {
          protectedBy = "View";
          actionClass = "UIxCalMainActions";
          actionName  = "addWebCalendar";
        };
        saveDragHandleState = {
          protectedBy = "View";
          pageName    = "UIxCalMainView";
          actionName  = "saveDragHandleState";
        };
        dateselector = {
          protectedBy = "View";
          pageName    = "UIxCalDateSelector"; 
        };
        calendarslist = {
          protectedBy = "View";
          pageName = "UIxCalendarSelector";
          actionName = "calendarsList";
        };
        alarmslist = {
          protectedBy = "View";
          actionClass = "UIxCalListingActions";
          actionName = "alarmsList";
        };
        eventslist = {
          protectedBy = "View";
          actionClass = "UIxCalListingActions";
          actionName = "eventsList";
        };
        eventsblocks = {
          protectedBy = "View";
          actionClass = "UIxCalListingActions";
          actionName = "eventsBlocks";
        };
        taskslist = {
          protectedBy = "View";
          actionClass = "UIxCalListingActions";
          actionName = "tasksList";
        };
        dayview = {
          protectedBy = "View";
          pageName    = "UIxCalDayView"; 
        };
        multicolumndayview = {
          protectedBy = "View";
          pageName    = "UIxCalMulticolumnDayView"; 
        };
        weekview = {
          protectedBy = "View";
          pageName    = "UIxCalWeekView"; 
        };
        monthview = {
          protectedBy = "View";
          pageName    = "UIxCalMonthView"; 
        };
        show = { 
          protectedBy = "View";
          pageName    = "UIxCalView"; 
          actionName  = "redirectForUIDs";
        };
        userRights = {
          protectedBy = "ReadAcls";
          pageName    = "UIxCalUserRightsEditor";
        };
        saveUserRights = {
          protectedBy = "Change Permissions";
          pageName    = "UIxCalUserRightsEditor";
          actionName  = "saveUserRights";
        };
        editAttendees = {
          protectedBy = "View";
          pageName    = "UIxAttendeesEditor";
        };
        editRecurrence = {
          protectedBy = "View";
          pageName    = "UIxRecurrenceEditor";
        };
        editReminder = {
          protectedBy = "View";
          pageName    = "UIxReminderEditor";
        };
        colorPicker = {
          protectedBy = "View";
          pageName = "UIxColorPicker";
        };
      };
    };

    SOGoAppointmentFolder = {
      methods = {
        properties = { 
          protectedBy = "Access Contents Information";
          pageName    = "UIxCalendarProperties"; 
        };
        saveProperties = { 
          protectedBy = "Access Contents Information";
          pageName = "UIxCalendarProperties";
          actionName = "saveProperties";
        };
        show = { 
          protectedBy = "View";
          pageName    = "UIxCalView"; 
          actionName  = "redirectForUIDs";
        };
        import = {
          protectedBy = "View";
          actionClass = "UIxCalFolderActions";
          actionName  = "import";
        };
        userRights = {
          protectedBy = "ReadAcls";
          pageName    = "UIxCalUserRightsEditor";
        };
        saveUserRights = {
          protectedBy = "Change Permissions";
          pageName    = "UIxCalUserRightsEditor";
          actionName  = "saveUserRights";
        };
        newevent = {
          protectedBy = "<public>";
          pageName    = "UIxAppointmentEditor"; 
          actionName  = "new";
        };
        newtask = { 
          protectedBy = "<public>";
          pageName    = "UIxTaskEditor"; 
          actionName  = "new";
        };
      };
    };

    SOGoWebAppointmentFolder = {
      methods = {
        reload = {
          protectedBy = "View";
          actionClass = "UIxCalFolderActions";
          actionName = "reload";
        };
        "set-credentials" = {
          protectedBy = "View";
          actionClass = "UIxCalFolderActions";
          actionName = "setCredentials";
        };
      };
    };

    SOGoAppointmentFolderICS = {
      methods = {
        export = {
          protectedBy = "View";
          actionClass = "UIxCalFolderActions";
          actionName  = "export";
        };
      };
    };

    SOGoCalendarComponent = {
    };

    SOGoAppointmentObject = {
      slots = {
        toolbar = {
          protectedBy = "View";
          value = "SOGoAppointmentObject.toolbar";
        };
      };
      methods = {
        view = {
          protectedBy = "ViewAllComponent";
          pageName    = "UIxAppointmentEditor";
          actionName  = "view";
        };
        edit = {
          protectedBy = "ViewAllComponent";
          pageName    = "UIxAppointmentEditor"; 
        };
        editAsAppointment = { 
          protectedBy = "ViewAllComponent";
          pageName    = "UIxAppointmentEditor"; 
        };
        save = { 
          protectedBy = "ModifyComponent";
          pageName    = "UIxAppointmentEditor"; 
          actionName  = "save";
        };
        saveAsAppointment = {
          protectedBy = "ModifyComponent";
          pageName    = "UIxAppointmentEditor"; 
          actionName  = "save";
        };
        copy = {
          protectedBy = "ViewAllComponent";
          actionClass    = "UIxAppointmentActions";
          actionName  = "copy";
        };
        accept = { 
          protectedBy = "RespondToComponent";
          pageName    = "UIxAppointmentEditor"; 
          actionName  = "accept";
        };
        decline = { 
          protectedBy = "RespondToComponent";
          pageName    = "UIxAppointmentEditor"; 
          actionName  = "decline";
        };
        delegate = {
          protectedBy = "RespondToComponent";
          pageName = "UIxAppointmentEditor";
          actionName  = "delegate";
        };
        tentative = { 
          protectedBy = "RespondToComponent";
          pageName    = "UIxAppointmentEditor"; 
          actionName  = "tentative";
        };
        needsaction = { 
          protectedBy = "RespondToComponent";
          pageName    = "UIxAppointmentEditor"; 
          actionName  = "needsAction";
        };
        adjust = {
          protectedBy = "ModifyComponent";
          actionClass = "UIxAppointmentActions"; 
          actionName  = "adjust";
        };
      };
    };

    SOGoTaskObject = {
      slots = {
        toolbar = {
          protectedBy = "View";
          value = "SOGoAppointmentObject.toolbar";
        };
      };
      methods = {
        view = {
          protectedBy = "ViewAllComponent";
          pageName    = "UIxTaskEditor";
          actionName  = "view";
        };
        edit = { 
          protectedBy = "ViewAllComponent";
          pageName    = "UIxTaskEditor"; 
        };
        editAsTask = { 
          protectedBy = "ViewAllComponent";
          pageName    = "UIxTaskEditor"; 
        };
        save = {
          protectedBy = "ModifyComponent";
          pageName    = "UIxTaskEditor"; 
          actionName  = "save";
        };
        saveAsTask = { 
          protectedBy = "ModifyComponent";
          pageName    = "UIxTaskEditor"; 
          actionName  = "save";
        };
        changeStatus = {
          protectedBy = "ModifyComponent";
          pageName    = "UIxTaskEditor"; 
          actionName  = "changeStatus";
        };
      };
    };

    SOGoComponentOccurence = {
      methods = {
        confirmEditing = {
          protectedBy = "ViewAllComponent";
          pageName    = "UIxOccurenceDialog";
        };
        confirmAdjustment = { 
          protectedBy = "ViewAllComponent";
          pageName    = "UIxOccurenceDialog";
          actionName  = "confirmAdjustment";
        };
        confirmDeletion = { 
          protectedBy = "Delete Object";
          pageName    = "UIxOccurenceDialog";
          actionName  = "confirmDeletion";
        };
      };
    };

    SOGoAppointmentOccurence = {
      slots = {
        toolbar = {
          protectedBy = "View";
          value = "SOGoAppointmentObject.toolbar";
        };
      };
      methods = {
        edit = {
          protectedBy = "ViewAllComponent";
          pageName    = "UIxAppointmentEditor"; 
        };
        save = { 
          protectedBy = "ModifyComponent";
          pageName    = "UIxAppointmentEditor"; 
          actionName  = "save";
        };
        delete = {
          protectedBy = "Delete Object";
          pageName    = "UIxOccurenceDialog";
          actionName  = "delete";
        };
        adjust = {
          protectedBy = "ModifyComponent";
          actionClass = "UIxAppointmentActions"; 
          actionName  = "adjust";
        };
      };
    };

    SOGoTaskOccurence = {
      slots = {
        toolbar = {
          protectedBy = "View";
          value = "SOGoTaskObject.toolbar";
        };
      };
      methods = {
        edit = {
          protectedBy = "ViewAllComponent";
          pageName    = "UIxTaskEditor"; 
        };
        save = { 
          protectedBy = "ModifyComponent";
          pageName    = "UIxTaskEditor"; 
          actionName  = "save";
        };
      };
    };
  };
}
