Zum Inhalt springen

cal_base Fe Edit Berechtigung

Erstellt am 18. August 2011 · 2 Antworten · letzte Antwort am 19. August 2011

Tags: Frage

cosmo ·

Ich bin derzeit auf der Suche nach einem Tip welche TS Einstellung sich eignet, damit FE User im Frontend nur Ihre eigenen Termine bearbeiten können.

Das heißt im Klartext: angezeigt werden sollen alle Termine, bearbeitbar aber nur die eigenen.

Hat jemand eine Tip für mich wo ich ansetzen kann?

the_rangerider ·

Hallo cosmo,

das ist an sich kein Problem. Du musst jedoch einige Einstellungen vornehmen.
Schau mal ins Manual. Da sind jede Menge Einstellungen aufgelistet. Man kann sagen, nichts ist unmöglich.

Die ganze Sache läuft über Rechtevergabe.

Du legst also Gruppen oder Benutzer an, wenn nicht schon geschehen, denen Du Rechte zuweist, z.B.:

Die Admin-Gruppe darf alles, Gruppe 1 darf nur eigene Events anlegen und editieren.

plugin.tx_cal_controller {
   rights {
	admin.group = 6
        edit = 1
	create.event {
		group = 1
		allowedToCreateEvents.group = 1
		enableAllFields.group = 1
		fields {
			title.group = 1
			calendar_id.default = 2
			calender_id.group = 1
			calendar_id.required = 0
			startdate.group = 1
			starttime.group = 1
			enddate.group = 1
			endtime.group = 1
			usw.
			}
	}

        edit.event {
		group = 1
		allowedToEditEvents.group = 1
		enableAllFields.group = 1
		onlyOwnEvents.group = 1
		startedEvents.group = 1
		inPast = 1
		usw.
		}
	
	delete.event {
		group = 1
		onlyOwnEvents.user = 1
		startedEvents.user = 1
		inPast.group = 1
		}
   }
}

Vielleicht hilft Dir das ja schon mal für den Anfang.

Schöne Grüße

the_rangerider

cosmo ·

Danke für den Hinweis, jedoch trifft das noch nicht ganz das Problem, mein Setting sieht so aus:

plugin.tx_cal_controller{
  
   rights{
      edit = 1
     
      create.event{
         group = 2
         publicEvents.group = 2
         addFeUserToShared = 1
         notifyUsersOnPublicCreate = 1
         addFeUserToNotify = 1

         fields{
           cal_organizer.public = 0
           cal_location.public = 0
           calendar_id.public = 0    
           event_type.public = 0
           enddate.public = 0
           allday.public = 0
           calendar_id.default = 2
           event_type.default = 0        
           category.default = 11
           category.required = 1
         }
         enableRTE = 0
         startdate.constrain.1.regexp = /(\d{2}).(\d{2}).(\d{4})/
         startdate.constrain.1.message.dataWrap = %%%WRONG_DATE%%% (TT.MM.JJJJ)
         enddate.constrain.1.regexp = /(\d{2}).(\d{2}).(\d{4})/
         enddate.constrain.1.message.dataWrap = %%%WRONG_DATE%%% (TT.MM.JJJJ)      
      }
     
      edit.event{      
         group = 2
         fields{
           cal_organizer.public = 0
           cal_location.public = 0
           calendar_id.public = 0
           event_type.public = 0
           enddate.public = 0
           allday.public = 0
           category.required = 1
           calendar_id.default = 2
           event_type.default = 0
        }
         enableRTE = 0
         startdate.constrain.1.regexp = /(\d{2}).(\d{2}).(\d{4})/
         startdate.constrain.1.message.dataWrap = %%%WRONG_DATE%%% (TT.MM.JJJJ)
         enddate.constrain.1.regexp = /(\d{2}).(\d{2}).(\d{4})/
         enddate.constrain.1.message.dataWrap = %%%WRONG_DATE%%% (TT.MM.JJJJ)
         
         onlyOwnEvents.group = 2
      }
     
      delete.event{
         group = 2
         onlyOwnEvents.group = 2
      }
    }
 }

Das erlaubt allerdings immer noch das User innerhalb einer Gruppe gegenseitig Termine bearbeiten können, die Doku sagt hierzu:

plugin.tx_cal_controller.rights.edit.event.onlyOwnEvents

group | String / CVS | Comma separated list of all groups that are allowed to edit only their own events.

Es gibt dann auch noch:

user | String / CVS | Comma separated list of all users that are allowed to edit only their own events.

Aber ich will ja nicht User Ids von Hand eintragen müssen.

Was ich brauche, ist die Anweisung das User der FE Gruppe 2 nur Ihre eigenen (Userbezogen) Termine bearbeiten dürfen. Vielleicht hat das jemand so bei sich im TS umgesetzt, dann könnte ich das mal abgleichen. o.O