| 

.NET C# Java Javascript Exception

2
Hallo,

meine Situation stellt sich so dar: Ich habe eine Custom List "Veranstaltungen" und eine andere "Teilnehmer" erstellt. Für Nutzer mit Leseberechtigungen soll die "Veranstaltungen"-Liste angezeigt werden (mit entsprechendem Filter >= Heute etc.). Diese Nutzer haben die Möglichkeit, sich alle Veranstaltungsdetails durch Klick auf den Titel in einem Modal anzeigen zu lassen. So weit, so out of the box ;-)

Jetzt kommt mein Problem: Ich möchte in dieser Form (und nur(!) in dieser, also nicht für alle custom lists) ein eigenes Ribbon anzeigen lassen, nennen wir es einfach "anmelden". So weit, so schlecht: Das habe ich bisher leider nicht hinbekommen da ich nicht so erfahren mit SharePoint-Entwicklung bin. C#/asp.net-Vorkenntnisse sind zwar vorhanden, jedoch nicht so spezifisch.

Weiter soll "eigentlich" je nachdem ob der User schon für eine Vst. angemeldet ist ein anderes Ribbon erscheinen. Der Plan ist a) "anmelden", b) "abmelden" und c) "Anmeldezeitraum abgelaufen".

Also grundsätzlich dachte ich mir das so:
1. Fall: User nicht angemeldet für das Event und Event offen
=> "Anmelden"-Ribbon (bzw. die Action) wird angezeigt.
1.1 Klick darauf => Eintrag in Teilnehmerliste mit loginName und Eventtitel.

2. Fall: User ist schon für Event angemeldet
=> Beim Öffnen der Form wird geprüft, ob Eintrag in Teilnehmerliste vorhanden ist (und Anmeldezeitraum noch offen)
2.1 Eintrag vorhanden, Zeitraum noch offen => "Abmelden"-Ribbon wird angezeigt.
2.2 Klick auf Abmelden => Listeneintrag in Teilnehmerliste wird entfernt

3. Fall: User ist angemeldet oder nicht angemeldet, aber Anmeldezeitraum ist abgelaufen
=> Ribbon c)(in diesem Fall vllt. kein Button sondern Text à la "Anmeldezeitraum abgelaufen, um sich abzumelden wenden sie sich bitte an Kontaktperson xy") wird angezeigt.

Tja, meine Frage wäre nun: Ist so ein Vorgehen möglich - und wenn ja, wie?

Versteht mich bitte nicht falsch, ich komme aus dem Webbereich (eher die PHP-Ecke) und habe leider wenig bis keine SharePoint-Erfahrung, deshalb weiß ich a) es ist bestimmt möglich, wenn man genug know how hat (in PHP wäre es das jedenfalls und es wäre schlimm wenn nicht ;-) ) und b) dass mir genau dieses know how leider leider fehlt und ich deshalb hier nachfrage in der Hoffnung, dass ihr mir helfen könnt. Wäre echt toll wenn mir jemand ein Tutorial oder ähnliches empfehlen könnte (am besten wäre natürlich eine Lösung direkt in der Antwort ;-) )

Viele grüße,
Pinguwien
29.11.2012
pinguwien 65 1 5
1 Antwort
1
Hallo Pinguwien,
wie sieht deine Solution aus?
Hast du ein Feature im vs? Oder arbeitest du rein im SP-Designer?

Mittelst Feature kannst du dir eigene Forms für deine Listen mit Codebehind bauen. In welcher du relativ einfach Zugriff auf das Ribboncontrol hast. Ergo: eine Eigene Liste und am ContentType sämtliche Ribbons definieren. Im EditForm der Liste die Ribbonbuttons je nach Status löschen.
Rein im SP-Designer klappt das meines wissens nicht so toll -> man kann nur die Disabled State mittels JS + SPServices auf den einzelnen RB-Buttons setzen. ( hier ein netter link über Hide Disables im Ribbon)

Mit SP-Designer würd ich eher mit Javascript und in der Liste je Status Links(mit Bildchen) auf eigene Forms setzen. Also wenn Status X Icon mit Bild y und Link Z, Status Q Bild W Link P, usw…

Definier mal deine Möglichkeiten in Lösung … ;-)

Lg aus NÖ
30.11.2012
wuliwux 133 5
Hallo wuliwux, und danke erstmal für die Antwort. Hat leider etwas gedauert bis ich antworten konnte :)
Ich arbeite mit Visual Studio. Momentan hab ich einfach einen Visual Web Part mit 2 Buttons "Anmelden" und "Abmelden" gebastelt und den über der Dispform der Veranstaltungsliste eingebunden. Via runelevatedprivileges im code behind können sich Nutzer mit read-rechten dann in die Teilnehmerliste eintragen / wieder austragen. Die Buttons werden (hoffentlich heute noch ;) ) dann je nach status beim page_load angezeigt, also wenn angemeldet => nur abmelden-button, wenn nicht -> anmelden
pinguwien 03.12.2012

Stelle deine .net-Frage jetzt!