Zum Hauptinhalt gehen

WriteLock auf Datensätze

Kommentare

4 Kommentare

  • Zendesk API User
    Author: philippr - 2/25/2016 18:40

    Hi Sahin,

    ohne die Anforderung genau zu kennen.

    Ggf. wäre eine Überlegung alle Datensätze mit einer Eingabekomponente (z.B. CMS_INPUT_TEXT) zu bestücken und über eine Regel (ON_SAVE) zu prüfen, ob diese einen bestimmten Wert hat, wenn nicht kann nicht gespeichert werden.

    Es müsste lediglich dafür gesorgt werden, dass der Redakteur diese Eingabekomponente nicht selbst verändern kann. Bei CMS_INPUT_TEXT z.B. mit editable="no".

    Ungetestet runtergeschrieben:

    <CMS_INPUT_TEXT name="pt_test" editable="no" >

        <LANGINFOS>

          <LANGINFO lang="*" label="test"/>

        </LANGINFOS>

      </CMS_INPUT_TEXT>

    und folgender Regel:

    <RULES>

              <RULE>

                        <WITH>

                                  <NOT>

                                            <AND>

                                                      <PROPERTY name="EMPTY" source="pt_test"/>

                                                      <PROPERTY name="TRANSLATED" source="#global"/>

                                            </AND>

                                  </NOT>

                        </WITH>

                        <DO>

                                  <VALIDATION scope="save">

                                            <PROPERTY name="VALID" source="pt_test"/>

                                            <MESSAGE lang="*" text="Dieser Datensatz darf nicht bearbeitet werden"/>

                                  </VALIDATION>

                        </DO>

              </RULE>

    </RULES>

    Über die API kann die Eingabekomponente allerdings noch verändert werden

    (Beanshell auf die Page)

    bsh % fd = e.getFormData();

    bsh % e.setLock(true);

    bsh % fd.get(null,"pt_test").set("hallo");

    bsh % e.setFormData(fd);

    bsh % e.save();

    bsh % e.setLock(false);

    Verhindert nicht das ein Element gelocked wird, jedoch kann mit einer Hinweismeldung nicht gespeichert werden?

    Grüße,

    Philipp

    0
  • Zendesk API User
    Author: sguener - 2/26/2016 8:20

    Hallo Philipp,

    vielen Dank für deine Antwort. Ich würde die Redakteure jedoch (am Liebsten) nicht so weit kommen lassen wollen. :smileydevil:

    Gestern Abend ist mir noch der StoreListener eingefallen, aber leider kann er nicht die gewünschte Funktionalität bereitstellen, wie ich gerade feststellen musste. Ich werde hierfür mal einen Feature Request einstellen. Aus Kundensicht wäre es sicherlich besser, schon beim setLock "reinzugrätschen", um die Bearbeitung zu unterbinden.

    Die Antwort habe ich nur als hilfreiche Antwort markiert, um eventuell noch weitere Vorschläge zu erhalten. Das Thema hat keine hohe Prio, daher kann ich noch ein wenig abwarten.

    Vielen Dank nochmals!

    Sahin

    0
  • Zendesk API User
    Author: MichaelaReydt - 3/10/2016 13:29

    Hallo Sahin,

    ist dieses Posting weiterhin aktuell?

    Spontan würde ich sagen, dass Philipp dir bereits die beste Antwort gegeben hat. Mir fällt zumindest keine bessere ein.

    Viele Grüße

    Michaela

    0
  • Zendesk API User
    Author: sguener - 3/10/2016 13:34

    Ja, ist es eigentlich. Aber du kannst das trotzdem schließen, da scheinbar keine elegantere Lösung existiert, was ich sehr schade finde.

    Schöne Grüße

    Sahin

    0

Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.