Zum Inhalt springen

Frontend Editing NUR für Calendar (cal)

Erstellt am 14. Januar 2012 · 9 Antworten · letzte Antwort am 13. Mai 2012

Tags: Kalender & Termine, Frage

dvschuetz ·

Hi,
ich stehe vor der Aufgabe, FE-Edit nur für den Kalender (Extension cal Calendar Base) zu aktivieren, wobei sonst auf der Seite keine Frontend Editing gewünscht ist.
Also ist allgemein kein Frontend Editing aktiviert. Habe dann in cal alles wie im cal-Manual angegeben gemacht, trotzdem erscheinen beim eingeloggten FE-User keine Edit-Icons.

Frage:
Muss FE-Edit allgemein aktiviert sein, damit es auch in Calendar geht?

Danke im Voraus
Dietmar

dvschuetz ·

Man kann Front-End-Usern erlauben, Kalendereinträge zu erstellen, editieren und löschen, auch wenn man Frontend-Editing sonst nicht aktiviert hat.

Anders ausgedrückt: cal bringt quasi sein eigenes FE-edit mit.

Ich habe es mit Hilfe eines freundlichen Users im anderen Forum herausgefunden. Der ganze Thread ist hier: http://www.typo3forum.net/forum/kalender/54569-frontend-editing-nur-calendar.html

Im Manual steht lediglich auf Seite 37f:

Basic Calendar editing is enabled by assigning the function to users in Website Users records and Frontend User Group records (typically found in the Website's General Storage Folder).
Frontend Calendar Administration is enabled in the Constant Editor General option [...]

To enable Frontend editing,
- begin by adding the Fe-Editing Static Template to the Calendar page [...]
- Then open the Calendar Base plugin and add any combination of the following Allowed Views options in the General Settings tab.
- In addition, you will need to enable the Frontend Editing option in the Constant Editor [...] as well as
- specify which Frontend Users or Frontend Usergroups will be permitted to make changes to the calendar.

Das reicht aber nicht.

Man muss im TS-Setup die ganzen Rechte explizit zuweisen. Etwa so:

plugin.tx_cal_controller.rights.edit = 1
plugin.tx_cal_controller.rights.admin.group = ...

plugin.tx_cal_controller.rights.create.event {
group = ...
allowedToCreateEvents.group = ...
enableAllFields.group = ...
fields {
title.group = ...
calendar_id.default = ...
calender_id.group = ...
calendar_id.required = ...
startdate.group = ... 
# usw.
}
}

Die nötigen Angaben finden sich im manual.sxw etwa ab Seite 115, Kapitel Advanced, TypoScript Reference: setup, Abschnitt Rights.
Ein Muster der Datei, wo man sich das rauskopieren kann, ist in typo3conf\ext\cal\static\fe-editing\setup.txt etwa ab Zeile 1196, Abschnitt rights.

Es können Rechte für einzelne FE-User (lieber nicht), FE-User-Gruppen (empfohlen) und public sehr detailliert erteilt werden.

Tolles Feature und gut umgesetzt, aber leider wegen dem fehlenden Hinweis im Manual praktisch nicht zu finden.

Dietmar

Tobi90 ·

Abend zusammen,

in meinem Kalender soll jeder Seitenbesucher die Möglichkeit haben, etwas einzutragen. Das ganze soll ohne Anmeldung etc funktionieren. Und vielleicht wäre eine Genehmigung (wie beim Gästebuch) durch mich ganz nett.

Naja den Kalender einzubinden, war ja schon so eine Sache für sich... Aber FE Editing ist einfach nur grausig :-(

Ich hab schon mein Glück die letzten paar Tage versucht und auch oben stehenden Beitrag versucht zu befolgen, aber alles ohne Erfolg.

Kann mir jemand helfen?

Vielleicht sollte ich noch erwähnen, dass ich noch nicht viel Erfahrung habe und noch am lernen bin.... Ich weiß noch nicht immer genau an welche Stelle nun welcher Code untergebracht wird und so.

LG

skydivematy ·

An Tobi,
Dann Solltest Du eine Frontend User Registrierung Zusammen Bauen wo der Admin nach Prüfung das Account freigibt. Und der User zur Seite mit Cal Weitergeleitet wird nach Anmeldung wo er Seine Einträge im Cal machen kann.

Extensions die Du dafür benötigst:
sr feuser register oder datamints feuser aus dem Ter laden. (tip. Nimm Datamints)
felogin ist eine System Extension, also schon im TYPO3 vorhanden.

gruss
maty

dvschuetz ·
Tobi90 schrieb

in meinem Kalender soll jeder Seitenbesucher die Möglichkeit haben, etwas einzutragen. Das ganze soll ohne Anmeldung etc funktionieren.

-> hierfür die Rechte für "public" zuteilen

Tobi90 schrieb

Und vielleicht wäre eine Genehmigung (wie beim Gästebuch) durch mich ganz nett.

Das ist, so weit mir bekannt ist, in cal gar nicht vorgesehen.

Tobi90 ·

Morgen,

danke für die Antworten.

@skydivematy: Das wäre aber mit einer Anmeldung verbunden. Das sollte ja nicht sein.... Vor allem weil ich bei meiner Nutzergruppe, die auf die Seite geht, auch nicht so die Probleme sehe und dann manuell kontrollieren kann.

@dvschuetz: Die Rechte auf Public zu zuteilen ist die eine Sache, aber die Umsetzung einer andere 😃

Ich hab das wie im Manual probiert, aber es läuft nicht. Hab den Code auf jeder möglichen Stelle versucht einzubauen, aber es macht sich so garnichts bemerkbar.

Ich habe eine Benutzergruppe Calendar angelegt und einen Benutzer Calendar und diesen der Gruppe zugeordnet.

Dann habe ich unter Template -> Typoscript Templates(sysordner) -> Extensions folgenden Code eingefügt

plugin.tx_cal_controller {
    rights {
        edit = 1
        create.event.enableAllFields.group = Calendar
    }
}

Aber leider habe ich keine Möglichkeit im FE etwas einzugeben...

Dann habe ich im Konstanten Editor im Basis Plugin das Häkchen bei Enable FE Editing angeschaltet.

Man kann Benutzergruppen scheinbar (unabhängig von Calendar Base) eindeutige ID's zuweisen. Ich finde das aber nicht oder das gibt es mittlerweile nicht mehr....

Ansonsten habe ich das FE plugin und die 2 basis plugins eingefügt... Es ist mir klar, dass ich den folgenden Code anpassen muss. Leider habe ich so etwas bisher noch nicht gemacht... Auch wenn es für euch einfach aussieht, ist es für mich ein ganz schöner akt...

Das wichtigste was ich wissen wöllte, wäre wo genau der Code hin gesetzt werden muss und ob es einfach reicht überall Public auf 1 zu setzen? Kann ich die Beschreibungen im Code lassen?

   # @description    The Typoscript object for rights is used to configure frontend editing of calendar events,
    #                locations, and groups.
    rights {

        # @description    Turns frontend editing on.  If this is not enabled, none of the other rights options
        #                will have any effect.
        edit = {$plugin.tx_cal_controller.rights.edit}

        # @description    Comma separated list of all administrator users.  These users will have full
        #                privileges for frontend editing.
        admin.user = {$plugin.tx_cal_controller.rights.admin.user}
        
        # @description    Comma separated list of all administrator groups.  These groups will have full
        #                privileges for frontend editing.
        admin.group = {$plugin.tx_cal_controller.rights.admin.group}

        # @description    Comma separated list of all users allowed to be selected for notification or shared
        allowedUsers =
        
        # @description    Comma separated list of all groups allowed to be selected for notification or shared
        allowedGroups =
        
        create {
            calendar {
                # @description    Page to save frontend-created calendars to.
                saveCalendarToPid = {$plugin.tx_cal_controller.rights.defaultSavePid}

                # @description    Comma separated list of all users that are allowed to create calendars.
                user = 
    
                # @description    Comma separated list of all groups that are allowed to create calendars.
                group =
    
                # @description    1 if public user should be allowed to create calendar. default 0
                public = 0
    
                # @description    Comma separated list of fields, that are not shipped with the standard cal extension, but are to be saved inside the tx_cal_calendar record
                additionalFields = 

                # @description    Comma separated list of all users and groups that should have all calendar
                #                fields enabled.
                enableAllFields {
                    user = 
                    group =
                    public = 0
                }
    
                # @description    Comma separated list of all users and groups that should have a specific calendar
                #                field enabled.
                fields {
                    hidden {
                        user =
                        group =
                        public = 0
                        default = 
                        required = 0
                    }
                    title {
                        user =
                        group =
                        public = 0
                        default =
                        required = 1
                    }
                    calendarType {
                        user =
                        group =
                        public = 0
                        default = 
                        required = 0
                    }
                    owner {
                        user =
                        group =
                        public = 0
                        default = 
                        required = 0
                    }
                    activateFreeAndBusy {
                        user =
                        group =
                        public = 0
                        default = 
                        required = 0
                    }
                    freeAndBusyUser {
                        user =
                        group =
                        public = 0
                        default = 
                        required = 0
                    }
                    ics_file {
                        user =
                        group =
                        public = 0
                        default = 
                        required = 0
                    }
                    exturl {
                        user =
                        group =
                        public = 0
                        default = 
                        required = 0
                    }
                    refresh {
                        user =
                        group =
                        public = 0
                        default = 
                        required = 0
                    }
                }
            }
            category {
                # @description    Page to save frontend-created categories to.
                saveCategoryToPid = {$plugin.tx_cal_controller.rights.defaultSavePid}

                # @description    Comma separated list of all users that are allowed to create categories.
                user =
    
                # @description    Comma separated list of all groups that are allowed to create categories.
                group =
    
                # @description    1 if public user should be allowed to create category. default 0
                public = 0
    
                # @description    Comma separated list of fields, that are not shipped with the standard cal extension, but are to be saved inside the tx_cal_category record
                additionalFields = 
    
                # @description    Comma separated list of all users and groups that should have all category
                #                fields enabled.
                enableAllFields {
                    user =
                    group =
                    public = 0
                }
    
                # @description    Comma separated list of all users and groups to be able to create general categories
                generalCategory {
                    user =
                    group =
                }
    
                # @description    Comma separated list of all users and groups to be able to create public categories
                publicCategory {
                    user =
                    group =
                }

                # @description    Comma separated list of all users and groups that should have a specific category
                #                field enabled.
                fields {
                    hidden {
                        user =
                        group =
                        public = 0
                        default = 
                        required = 0
                    }
                    title {
                        user =
                        group =
                        public = 0
                        default = 
                        required = 1
                    }
                    headerstyle {
                        user =
                        group =
                        public = 0
                        default = default_catheader
                        required = 0
                        # @description    Comma separated list of available category headerStyles
                        available = default_catheader,yellow_catheader,orange_catheader,red_catheader,pink_catheader?,green_catheader,grey_catheader
                    }
                    bodystyle {
                        user =
                        group =
                        public = 0
                        default = default_catbody
                        required = 0
                        # @description    Comma separated list of available category bodyStyles
                        available = default_catbody,yellow_catbody,orange_catbody,red_catbody,pink_catbody,green_cat?body,grey_catbody
                    }
                    calendar_id {
                        user =
                        group =
                        public = 0
                        default = 
                        required = 0
                    }
                    parent_category {
                        user =
                        group =
                        public = 0
                        default = 
                        required = 0
                    }
                    shared_user_allowed {
                        user =
                        group =
                        public = 0
                        default = 
                        required = 0
                    }
                }
            }


            event {
                # @description    Page to save frontend-created events to.
                saveEventToPid = {$plugin.tx_cal_controller.rights.defaultSavePid}

                # @description    Comma separated list of all users that are allowed to create events.
                user =
    
                # @description    Comma separated list of all groups that are allowed to create events.
                group =
    
                # @description    Enable this to allow everyone to create public events.
                public = 0
                
                # @description    Comma separated list of all users and groups that are allowed to create events also in the past
                inPast {
                    user =
                    group =
                }
                
                # @description    Comma separated list of all users and groups that are allowed to create events in future, starting today
                # @see    plugin.tx_cal_controller.create.event.fields.start.constrain.2.field change it to: today
                forTodayAndFuture {
                    user =
                    group =
                }
    
                # @description    Comma separated list of user ids of fe-users to be notified if a public event has been created
                notifyUsersOnPublicCreate =

                # @description    Comma separated list of all users and groups that are allowed to create events in a public calendar.
                publicEvents {
                    user =
                    group =
                    public = 0
                }
    
                # @description    Comma separated list of fields, that are not shipped with the standard cal extension, but are to be saved inside the tx_cal_event record
                additionalFields = 
    
                # @description    Adds the frontend user who created an event to the notification field.
                addFeUserToNotify = 0
    
                # @description    Adds the frontend user who created an event to the shared field.
                addFeUserToShared = 0

                # @description    Adds the frontend user group to the shared field.
                addFeGroupToShared = 0
    
                # @description    Comma separated list of frontend user groups, which are to be ignored and NOT to be added as shared
                addFeGroupToShared.ignore = 
    
                # @description    Replaces the standard textarea with the installed rte.
                enableRTE = 1
    
                # @description    Comma separated list of all users and groups that should have all event
                #                fields enabled.
                enableAllFields {
                    user =
                    group =
                    public = 0
                }
    
                # @description    Offset in minutes. The user is allowed to create a new event in now + timeOffset
                timeOffset = 0

                # @description    Comma separated list of all users and groups that should have a specific event
                #                field enabled. ATTENTION: for public just use 1/0 => enable/disable
                fields {
                    hidden {
                        user =
                        group =
                        public = 0
                        default = 0
                        required = 0
                    }
                    event_type {
                        user =
                        group =
                        public = 1
                        # Possible values: 0=event,3=meeting
                        allowedUids = 0,3
                        default = 0
                        required = 0
                    }
                    calendar_id {
                        user =
                        group =
                        public = 1
                        default = 
                        required = 1
                    }
                    category {
                        user =
                        group =
                        public = 1
                        default = 
                        required = 0
                        allowedUids = 
                    }
                    startdate {
                        user =
                        group =
                        public = 1
                        default = 
                        required = 1
                        constrain {
                            1 {
                                #less/before/greater/after/equals/regexp/userfunc
                                rule = regexp
                                regexp = /(\d{4})-(\d{2})-(\d{2})/
                                message = TEXT
                                message {
                                    dataWrap =  <span class="constrain">%%%WRONG_DATE%%% (yyyy-mm-dd)</span>
                                }
                            }
                        }
                    }
                    enddate {
                        user =
                        group =
                        public = 1
                        default = 
                        required = 1
                        constrain < plugin.tx_cal_controller.rights.create.event.fields.startdate.constrain
                    }
                    starttime {
                        user =
                        group =
                        public = 1
                        # usage: 1300 (hhmm) or now
                        default = 
                        required = 1
                        displayCondition {
                            1 {
                                #less/before/greater/after/equals/regexp/userfunc
                                rule = equals
                                conditionField = allday
                                value = 0
                                message = TEXT
                                message {
                                    dataWrap = false
                                }
                            }
                        }
                    }
                    endtime {
                        user =
                        group =
                        public = 1
                        default = 
                        required = 1
                        displayCondition {
                            1 {
                                #less/before/greater/after/equals/regexp/userfunc
                                rule = equals
                                conditionField = allday
                                value = 0
                                message = TEXT
                                message {
                                    dataWrap = false
                                }
                            }
                        }
                    }
                    start {
                        constrain {
                            1 {
                                #less/before/greater/after/equals/regexp/userfunc
                                rule = before|equals
                                field = end
                                message = TEXT
                                message {
                                    dataWrap =  <span class="constrain">%%%CONSTRAIN_START_BEFORE_END%%%</span>
                                }
                            }
                            2 {
                                #less/before/greater/after/equals/regexp/userfunc
                                rule = after
                                field = now
                                message = TEXT
                                message {
                                    dataWrap =  <span class="constrain">%%%IS_IN_PAST%%%</span>
                                }
                            }
                        }
                    }
                    end {
                        constrain {
                            1 {
                                #less/before/greater/after/equals/regexp/userfunc
                                rule = after|equals
                                field = start
                                message = TEXT
                                message {
                                    dataWrap =  <span class="constrain">%%%CONSTRAIN_END_AFTER_START%%%</span>
                                }
                            }
                            2 {
                                #less/before/greater/after/equals/regexp/userfunc
                                rule = after
                                field = now
                                message = TEXT
                                message {
                                    dataWrap =  <span class="constrain">%%%IS_IN_PAST%%%</span>
                                }
                            }
                        }
                    }
                    allday {
                        user =
                        group =
                        public = 1
                        default = 
                        required = 0
                    }
                    title {
                        user =
                        group =
                        public = 1
                        default = 
                        required = 1
                    }
                    cal_organizer {
                        user =
                        group =
                        public = 1
                        default = 
                        required = 0
                        allowedUids =
                        onlyOwn = 
                    }
                    organizer {
                        user =
                        group =
                        public = 1
                        default = 
                        required = 0
                        allowedUids =
                    }
                    cal_location {
                        user =
                        group =
                        public = 1
                        default = 
                        required = 0
                        allowedUids =
                        onlyOwn =
                    }
                    location {
                        user =
                        group =
                        public = 1
                        default = 
                        required = 0
                        allowedUids =
                    }
                    teaser {
                        user =
                        group =
                        public = 0
                        default = 
                        required = 0
                    }
                    description {
                        user =
                        group =
                        public = 1
                        default = 
                        required = 0
                    }
                    recurring {
                        user =
                        group =
                        public = 0
                        default = 
                        required = 0
                        displayCondition {
                            1 {
                                #less/before/greater/after/equals/regexp/userfunc
                                rule = equals
                                conditionField = eventType
                                value = 0
                                message = TEXT
                                message {
                                    dataWrap = false
                                }
                            }
                        }
                    }
                    notify {
                        user =
                        group =
                        public = 0
                        defaultUser = 
                        required = 0
                        displayCondition {
                            1 {
                                #less/before/greater/after/equals/regexp/userfunc
                                rule = equals
                                conditionField = eventType
                                value = 0
                                message = TEXT
                                message {
                                    dataWrap = false
                                }
                            }
                        }
                    }
                    shared {
                        user =
                        group =
                        public = 0
                        defaultUser = 
                        defaultGroup =
                        required = 0
                        displayCondition {
                            1 {
                                #less/before/greater/after/equals/regexp/userfunc
                                rule = equals
                                conditionField = eventType
                                value = 0
                                message = TEXT
                                message {
                                    dataWrap = false
                                }
                            }
                        }
                    }
                    exception {
                        user =
                        group =
                        public = 0
                        default = 
                        required = 0
                        displayCondition {
                            1 {
                                #less/before/greater/after/equals/regexp/userfunc
                                rule = equals
                                conditionField = eventType
                                value = 0
                                message = TEXT
                                message {
                                    dataWrap = false
                                }
                            }
                        }
                    }
                    image {
                        user =
                        group =
                        public = 0
                        default = 
                        required = 0
                    }
                    image_caption {
                        user =
                        group =
                        public = 0
                        default = 
                        required = 0
                    }
                    image_title {
                        user =
                        group =
                        public = 0
                        default = 
                        required = 0
                    }
                    image_alt {
                        user =
                        group =
                        public = 0
                        default = 
                        required = 0
                    }
                    attachment {
                        user =
                        group =
                        public = 0
                        default = 
                        required = 0
                    }
                    attachment_caption {
                        user =
                        group =
                        public = 0
                        default = 
                        required = 0
                    }
                    attendee {
                        user =
                        group =
                        public = 1
                        default = 
                        required = 0
                        allowedUids =
                        displayCondition {
                            1 {
                                #less/before/greater/after/equals/regexp/userfunc
                                rule = equals
                                conditionField = eventType
                                value = 3
                                message = TEXT
                                message {
                                    dataWrap = false
                                }
                            }
                        }
                    }
                    attendee_external {
                        user =
                        group =
                        public = 1
                        default = 
                        required = 0
                        allowedUids =
                        displayCondition {
                            1 {
                                #less/before/greater/after/equals/regexp/userfunc
                                rule = equals
                                conditionField = eventType
                                value = 3
                                message = TEXT
                                message {
                                    dataWrap = false
                                }
                            }
                        }
                    }
                    sendout_invitation {
                        user =
                        group =
                        public = 1
                        default = 0
                        required = 0
                        displayCondition {
                            1 {
                                #less/before/greater/after/equals/regexp/userfunc
                                rule = equals
                                conditionField = eventType
                                value = 3
                                message = TEXT
                                message {
                                    dataWrap = false
                                }
                            }
                        }
                    }
                }
            }

            exceptionEvent{
                # @description    Page to save frontend-created exception events to.
                saveExceptionEventToPid = {$plugin.tx_cal_controller.rights.defaultSavePid}

                # @description    Comma separated list of all users and groups that are allowed to create exception events.
                user =
                group =
                # @description    1 if public user should be allowed to create exception events. default 0
                public = 0
    
                # @description    Comma separated list of fields, that are not shipped with the standard cal extension, but are to be saved inside the tx_cal_exceptionevent record
                additionalFields =
    
                # @description    Comma separated list of all users and groups that should have all exception event
                #                fields enabled.
                enableAllFields {
                    user =
                    group =
                    public = 0
                }
    
                fields {
                    # this view is to be implemented
                }
            }
            location {
                # @description    Page to save frontend-created locations to.
                saveLocationToPid = {$plugin.tx_cal_controller.rights.defaultSavePid}

                # @description    Comma separated list of all users and groups that are allowed to create location.
                user =
                group =
                # @description    1 if public user should be allowed to create location. default 0
                public = 0
                
                # @description    Adds the frontend user who created an location to the shared field.
                addFeUserToShared = 0

                # @description    Adds the frontend user group to the shared field.
                addFeGroupToShared = 0
    
                # @description    Comma separated list of frontend user groups, which are to be ignored and NOT to be added as shared
                addFeGroupToShared.ignore = 
    
                # @description    Comma separated list of fields, that are not shipped with the standard cal extension, but are to be saved inside the tx_cal_location record
                additionalFields = 
    
                # @description    Comma separated list of all users and groups that should have all location
                #                fields enabled.
                enableAllFields {
                    user =
                    group =
                    public = 0
                }

                # @description    Comma separated list of all users and groups that should have a specific location
                #                field enabled.
                fields {
                    hidden {
                        user =
                        group =
                        public = 0
                        default = 0
                        required = 0
                    }
                    name {
                        user =
                        group =
                        public = 0
                        default = 
                        required = 1
                    }
                    description {
                        user =
                        group =
                        public = 0
                        default = 
                        required = 0
                    }
                    street {
                        user =
                        group =
                        public = 0
                        default = 
                        required = 0
                    }
                    zip {
                        user =
                        group =
                        public = 0
                        default = 
                        required = 0
                    }
                    city {
                        user =
                        group =
                        public = 0
                        default = 
                        required = 0
                    }
                    country {
                        user =
                        group =
                        public = 0
                        default = 
                        required = 0
                    }
                    countryZone {
                        user =
                        group =
                        public = 0
                        default = 
                        required = 0
                    }
                    phone {
                        user =
                        group =
                        public = 0
                        default = 
                        required = 0
                    }
                    fax {
                        user =
                        group =
                        public = 0
                        default = 
                        required = 0
                    }
                    email {
                        user =
                        group =
                        public = 0
                        default = 
                        required = 0
                    }
                    image {
                        user =
                        group =
                        public = 0
                        default =
                        required = 0
                    }
                    image_caption {
                        user =
                        group =
                        public = 0
                        default =
                        required = 0
                    }
                    image_title {
                        user =
                        group =
                        public = 0
                        default = 
                        required = 0
                    }
                    image_alt {
                        user =
                        group =
                        public = 0
                        default = 
                        required = 0
                    }
                    link {
                        user =
                        group =
                        public = 0
                        default = 
                        required = 0
                    }
                    shared {
                        user =
                        group =
                        public = 0
                        defaultUser = 
                        defaultGroup =
                        required = 0
                    }
                }
            }
            organizer < plugin.tx_cal_controller.rights.create.location

            organizer {
                # @description    Page to save frontend-created organizers to.
                saveOrganizerToPid = {$plugin.tx_cal_controller.rights.defaultSavePid}
            }

            translation {
                user =
                group =
            }
        }
        
        edit {
            calendar {
                # @description    Comma separated list of all users and groups that are allowed to edit calendars.
                user = 
                group =
                # @description    1 if public user should be allowed to edit a calendar. default 0
                public = 0
    
                # @description    Comma separated list of all users and groups that should have all calendar
                #                fields enabled.
                enableAllFields {
                    user = 
                    group =
                    public = 0
                }
    
                # @description    Comma separated list of fields, that are not shipped with the standard cal extension, but are to be saved inside the tx_cal_category record
                additionalFields = 
    
                # @description    Comma separated list of all users and groups that should have a specific calendar
                #                field enabled.
                fields < plugin.tx_cal_controller.rights.create.calendar.fields

                # @description    Comma separated list of users and groups to be allowed to edit only their own calendar
                onlyOwnCalendar {
                    user =
                    group =
                }
    
                # @description    Comma separated list of users and groups to be allowed to edit a public calendar
                publicCalendar {
                    user =
                    group =
                }
            }
            category {
    

                # @description    Comma separated list of all users and groups that are allowed to edit categories.
                user =
                group =
                # @description    1 if public user should be allowed to edit a category. default 0
                public = 0
    
                # @description    Comma separated list of fields, that are not shipped with the standard cal extension, but are to be saved inside the tx_cal_category record
                additionalFields = 
    
    
                # @description    Comma separated list of all users and groups that should have all category
                #                fields enabled.
                enableAllFields {
                    user =
                    group =
                    public = 0
                }
    
                # @description    Comma separated list of all users and groups that should have a specific category
                #                field enabled.
                fields < plugin.tx_cal_controller.rights.create.category.fields
    
                # @description    Comma separated list of all users and groups to be able to edit only their own categories
                onlyOwnCategory {
                    user =
                    group =
                }
    
                # @description    Comma separated list of all users and groups to be able to edit general categories
                generalCategory {
                    user =
                    group =
                }
    
                # @description    Comma separated list of all users and groups to be able to edit public categories
                publicCategory {
                    user =
                    group =
                }
    
            }
            event {
                # @description    Comma separated list of all users and groups that are allowed to edit events.
                user =
                group =
                # @description    1 if public user should be allowed to edit events. default 0
                public = 0
    
                # @description    Comma separated list of fields, that are not shipped with the standard cal extension, but are to be saved inside the tx_cal_event record
                additionalFields = 

                # @description    Offset in minutes. The user is allowed to edit the event until timeOffset minutes before it takes place
                timeOffset = 0
    
                # @description    Comma separated list of all users and groups that should have all event
                #                fields enabled.
                enableAllFields {
                    user =
                    group =
                    public = 0
                }
    
                # @description    Comma separated list of all users and groups that should have a specific event
                #                field enabled.
                fields < plugin.tx_cal_controller.rights.create.event.fields
    
                # @description    Replaces the standard textarea with the installed rte.
                enableRTE = 1
    
                # @description    Comma separated list of all users and groups that are allowed to edit only their own events.
                onlyOwnEvents {
                    user =
                    group =
                }
    
                addFeUserToShared = 0
    
                addFeGroupToShared = 0
    
                addFeGroupToShared.ignore =
    
                # @description    Comma separated list of all users and groups that are allowed to edit events after they have started.
                startedEvents {
                    user =
                    group =
                    public = 0
                }
    
            }
            exceptionEvent{
                # @description    Comma separated list of all users and groups that are allowed to edit exception events.
                user =
                group =
                # @description    1 if public user should be allowed to edit exception events. default 0
                public = 0
    
                # @description    Comma separated list of fields, that are not shipped with the standard cal extension, but are to be saved inside the tx_cal_exceptionevent record
                additionalFields = 
    
                # @description    Comma separated list of all users and groups that should have all exception event
                #                fields enabled.
                enableAllFields {
                    user =
                    group =
                    public = 0
                }
            }

            location {
                # @description    Comma separated list of all users and groups that are allowed to edit a location.
                user =
                group =
                # @description    1 if public user should be allowed to edit a location. default 0
                public = 0
                
                addFeUserToShared = 0
    
                addFeGroupToShared = 0
    
                addFeGroupToShared.ignore =
                
                # @description    Comma separated list of all users and groups that are allowed to edit only their own locations.
                onlyOwnLocations {
                    user =
                    group =
                }
    
                # @description    Comma separated list of fields, that are not shipped with the standard cal extension, but are to be saved inside the tx_cal_location record
                additionalFields = 
    
                # @description    Comma separated list of all users and groups that should have all location
                #                fields enabled.
                enableAllFields {
                    user =
                    group =
                    public = 0
                }

                # @description    Comma separated list of all users and groups that should have a specific location
                #                field enabled.
                fields < plugin.tx_cal_controller.rights.create.location.fields
            }
            organizer {
                # @description    Comma separated list of all users and groups that are allowed to edit an organizer.
                user =
                group =
                # @description    1 if public user should be allowed to edit an organizer. default 0
                public = 0
                
                addFeUserToShared = 0
    
                addFeGroupToShared = 0
    
                addFeGroupToShared.ignore =
                
                # @description    Comma separated list of all users and groups that are allowed to edit only their own organizers.
                onlyOwnOrganizers {
                    user =
                    group =
                }
    
                # @description    Comma separated list of fields, that are not shipped with the standard cal extension, but are to be saved inside the tx_cal_organizer record
                additionalFields = 
    
                # @description    Comma separated list of all users and groups that should have all organizer
                #                fields enabled.
                enableAllFields {
                    user =
                    group =
                    public = 0
                }

                # @description    Comma separated list of all users and groups that should have a specific organizer
                #                field enabled.
                fields < plugin.tx_cal_controller.rights.create.organizer.fields
            }
        }
        
        delete {
            calendar {
                # @description    Comma separated list of all users and groups that are allowed to delete calendars.
                user =
                group =
                # @description    1 if public user should be allowed to delete a calendar. default 0
                public = 0
    
                # @description    Comma separated list of all users and groups to be allowed to delete only their own calendar
                onlyOwnCalendar {
                    user =
                    group =
                }
    
                # @description    Comma separated list of all users and groups to be allowed to delete a public calendar
                publicCalendar {
                    user = 
                    group =
                }
            }
            category {
                # @description    Comma separated list of all users and groups that are allowed to delete categories.
                user =
                group =
    
                # @description    1 if public user should be allowed to delete a category. default 0
                public = 0
    
                # @description    Comma separated list of all users and groups to be able to delete only their own categories
                onlyOwnCategory {
                    user =
                    group =
                }
    
                # @description    Comma separated list of all users and groups to be able to delete general categories
                generalCategory {
                    user =
                    group =
                }
            }
            event {
                # @description    Comma separated list of all users and groups that are allowed to delete events.
                user =
                group =
                # @description    1 if public user should be allowed to delete an event. default 0
                public = 0
    
                # @description    Comma separated list of all users and groups that are allowed to delete only their own events.
                onlyOwnEvents {
                    user =
                    group =
                }
    
                # @description    Comma separated list of all users and groups that are allowed to delete events that have already started.
                startedEvents {
                    user =
                    group =
                }
    
                # @description    Offset in minutes. The user is allowed to delete the event until timeOffset minutes before it takes place
                timeOffset = 0
            }
            exceptionEvent{
                # @description    Comma separated list of all users and groups that are allowed to delete exception events.
                user =
                group =
                # @description    1 if public user should be allowed to delete an exception event. default 0
                public = 0
            }

            location {
                # @description    Comma separated list of all users and groups that are allowed to delete a location.
                user =
                group =
                # @description    1 if public user should be allowed to delete a location. default 0
                public = 0
                
                # @description    Comma separated list of all users and groups that are allowed to delete only their own locations.
                onlyOwnLocations {
                    user =
                    group =
                }
            }
            organizer < plugin.tx_cal_controller.rights.delete.location
            
            organizer {
                # @description    Comma separated list of all users and groups that are allowed to delete only their own organizers.
                onlyOwnOrganizer {
                    user =
                    group =
                }
            }
        }
    }
}

Danke für eure Hilfe

LG

dvschuetz ·

Hi,
ich glaube Du brauchst erst mal eine Einführung in Programmierung, html, php und Typo3 Allgemein, aber das würde den Rahmen so eines Forumthreads sprengen.
Arbeite - nach html und php - doch mal die allgemeinen Manuals durch. Das dürfte fast alle Deiner Fragen klären: http://typo3.org/documentation/

Viel Erfolg!
dvschuetz

PS: Das lange Listing des Rechte-Setup muss hier nicht stehen und macht den Beitrag unübersichtlich. Bitte löschen, es ist ja Bestandteil von cal.

Tobi90 ·

Ich weiß nicht warum, aber ich hab kein edit Button um den Code wieder raus zu nehmen.

Ja das wäre nicht schlecht, wenn die Seite von mir für mich wäre und ich die Zeit dafür hätte. Ich mache das für unseren Jugendclub und kriege da zu Recht natürlich auch kein Geld etc... Der Zeitfaktor den ich investiere ist schon enorm.... Ich habe trotz dem ich es mache, weil ich es gern mache und mich dafür interessiere, nicht das Interesse jetzt noch mit Programmierung anzufangen. In meinem Job habe ich da auch null Verbindung...

Das bedeutet nun nicht, dass ich alles gemacht bekommen möchte oder keine Lust habe selbstständig etwas zu erarbeiten, aber es muss ja auch nicht jeder alles können. Ich habe schon und kann auch weiter versuchen überall den Code einzufügen und vielleicht klappt es irgendwann auf gut Glück...

cu

dvschuetz ·

Hi Tobi,
dann ist vielleicht Typo3 nicht das richtige System für Dich. Für Typo3 rechnet man für einen erfahrenen html-Programmierer mit guten php-/sql/css-Kenntnissen rund 3 Monate Vollzeit zur Einarbeitung. D.h. ein Arbeitgeber muss einen qualifizierten Mitarbeiter so lange dafür bei voller Lohnfortzahlung freistellen.

Versuche es doch mal mit cmsimple oder joomla, die sind einfacher.

Tobi90 ·

hi,

ja ich weiß dass es etwas viel ist für mich. Aber mich reizt halt das Projekt und bisher sieht es auch recht gut aus... Seite steht jetzt seit 2 Wochen und sie scheint zu gefallen...

Joomla habe ich vorher benutzt, aber es hat mir nicht mehr gefallen... Ich wollte etwas neues und wenn du es dir mal anschauen willst.... www.ksc-eichenrod.de

Es sind halt immernoch so ein paar Kleinigkeiten... Wenn ich wüsste wo ich den Code einfüge, könnte ich ihn auch richtig anpassen...

edit: Es ist wohl auch jedem seine Sache, für was man sich entscheidet... Genauso wie es auch die Entscheidung von den erfahrenen Nutzern ist, ob sie helfen (in meinem fall kurz sagen wo man den Code einfügt) oder nicht...

Den Code habe ich nun unter Seite -> Kalender(Seite) -> Kalender Plugin -> Plugin -> TypoScript
eingefügt und ich bekomme im Kalender "+" Zeichen angezeigt.

Wenn ich allerdings drauf gehe, lädt die Seite neu und nichts passiert.

edit2: auch wenn ich noch auf hilfe hoffen muss, werde ich mal weiter posten wie mein Fortschritt ist, da es bestimmt noch andere gibt, die ähnliche Probleme haben.

Den Code habe ich weiter gekürzt (per PN könnt ihr ihn haben, da ich ihn ja nicht posten soll)
Im Konstanteneditor ist alles richtig eingestellt und angeschaltet... Er versucht auch etwas zu machen, kann aber scheinbar nicht zugreifen.... Ich versuche mal ob es eine möglichkeit auf einen popup gibt für das edit fenster

edit3: Es liegt definitiv am Code!!!! Ich habe es jetzt geschafft, dass ich im Frontend alles eingeben kann. Allerdings wird der neu erstellte Termin weder im SysOrdner gespeichert, noch auf dem Kalender angezeigt.... Ich habe irgendwo einen Dreher drin bei der ID Vergabe zum Speichern...

Vielleicht wird mein Fleiß ja nochmal belohnt... Ich probiere weiter

kalender.jpg