Local action med Page Manager och Contextual Administration

Events happening in the community are now at Drupal community events on www.drupal.org.
Ingrid P's picture

Hej,

Jag har skapat en administrationssida för inloggade användare (Page Manager, Panels, Views). Varje användare har en egen huvudsida och från sin egen huvudsida kommer man till sin administrationssida via en menu-tab. Från administrationssidan kan man skapa noder med automatisk nodreferens (Contextual Administration) via en sk local action (i princip som i denna instruktionsvideo av Johan Falk: http://nodeone.se/sv/node/700 ). Man kan skapa noder av 4 olika typer och så långt fungerar allt som det ska.

Men jag vill att om en användare skapat en nod av en viss typ kopplad till sin huvudsida så ska det inte gå att skapa fler noder av samma typ. Istället vill jag att local action-länken då går till den redan skapade nodens redigeringssida.

+Lägg till/redigera faktaruta (om faktaruta ej finns -> skapa, om faktaruta finns -> redigera).

Jag har skapat en flagga (Flag) som aktiveras(Rules) på huvudsidan när faktarutan skapas.

Så jag kan ha 2 olika sk Variants till min local action-länk som visas beroende på om noden flaggats eller inte.

Så långt fungerar allt som det ska. Mitt problen är den Variant som visas när noden skapats. Jag vet inte hur jag kommer till faktarutans redigeringssida.

Som jag ser det så finns det 2 alternativ. Ett är att skapa en Variant för Contextual Admin och välja "edit node", men hur skapar jag då rätt context för att komma till faktarutans redigeringssida och inte till huvudsidans redigeringssida? Alltså hur får jag fatt i faktarutans NID?

Ett annat alternativ är att skapa en Variant som en redirect, men hur utformar jag då sökvägen(URL) för att nå till rätt faktarutas redigeringssida?

Modulerna jag använder är alltså Page Manager, Panels, Contextual Administration, Views, Flag, Rules.

Någon som har något förslag på lösning? I så fall blir jag väldigt glad :).

AttachmentSize
context-admin-1.png142.22 KB

Comments

Det enda sättet jag kommer på

pontus_nilsson's picture

Det enda sättet jag kommer på är att lösa detta med kod.

Med hjälp av hook_menu_alter() kan du lägga till ytterliggare access check för att se om menyobjektet får visas. I en sådan check kan du titta om användaren redan har gjort en nod av typen x.

//Pontus Nilsson, Digitalist

Sweden

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: