Autor Thema: Keine Editierrechte, trotzdem Funktion ausführen  (Gelesen 1995 mal)

Offline judicious

  • Junior Mitglied
  • **
  • Beiträge: 53
Guten Abend

Ich bin es wieder einmal. Ich sitze wieder einmal ratlos vor einem Problem.
Ich habe ein Dokument welches von dem Author nicht mehr editierbar sein soll, er soll aber mittels eines Buttons den Wert eines Feldes ändern dürfen und speichern. Ablauf:
1. User erstellt ein Dokument --> Status1
2. Admins können den Status und das Dokument ändern --> Status 2
3. Jetzt soll der User das Dokument auf Status 3 schalten können aber das Dokument an sich nicht ändern.  :-:

Bis jetzt habe ich es so das das Authoren Feld leer gemacht wird und nur noch die Admin Role Änderungen vornhemen darf. Wie soll ich das realisieren?

Wenn das Authoren Feld ja leer ist und der User nicht in der Rolle ist dann kann er das Dokument nicht ändern, was klar ist. Aber eine Rolle geben um das Dokument zu ändern kann ich ja auch nicht, da der User dann ja das ganze Dokument ändern kann.

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Keine Editierrechte, trotzdem Funktion ausführen
« Antwort #1 am: 08.03.06 - 16:36:01 »
Heute schon die Forensuche genutzt? Nein?!    ;)

Sonst hättest du das hier gefunden:

[LotusScript]: EditMode für bestimmte Dokumente verwehren


Und das Ändern des Status machst du über eine Aktion.

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Keine Editierrechte, trotzdem Funktion ausführen
« Antwort #2 am: 08.03.06 - 16:40:13 »
Ich bitte dabei aber, ganz besonders den ersten Satz zu beachten:
Zitat
Das nachfolgend geschilderte Verfahren stellt kein sicheres Procedere dar, um das Manipulieren von Dokumenten zu verhindern.

Ich würde für den angefragten Fall folgendes Verfahren verwenden:
- DB wird MailIn-DB
- Button erzeugt ein Memo an die DB mit den erforderlichen Infos
- Agent auf dem Server, der auf neue Mails reagiert, ändert dann den Status.

Bernhard

Offline judicious

  • Junior Mitglied
  • **
  • Beiträge: 53
Re: Keine Editierrechte, trotzdem Funktion ausführen
« Antwort #3 am: 08.03.06 - 16:41:52 »
Doch sicher, mache ich immer als erstes. Doch mir bringt das ganze nichts. Es ist leider nicht so das nur diese 3 Status ( übrigens was ist die mehrzahl von Status? ) vorhanden sind. Es sind insgesamt 6. Wenn ich den Code von dem Link benutze wird mir das editieren ja generell verboten. Oder ich verstehe den Code nicht ganz. Wenn ich diesen Code benutze dann ist der immer im Formular. Sagen wir es ist der Status 4 dann soll das Doppelklicken und so weiter funktionieren. Nur in diesem ganz bestimmten Zustand soll NUR diese Aktion ausführbar sein.

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Keine Editierrechte, trotzdem Funktion ausführen
« Antwort #4 am: 08.03.06 - 16:53:20 »
So, ich als Teilzeit-Entwickler geb jetzt auch noch meinen Senf dazu ab:
Wäre es nicht auch möglich, einen Agent zu schreiben, der diese Änderung durchführt un der durch den User aufgerufen wird? Mit dem "Run on behalf of" könnte ich ja dem Agent die Rechte geben, das Dokument zu ändern.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Keine Editierrechte, trotzdem Funktion ausführen
« Antwort #5 am: 08.03.06 - 16:54:37 »
Anscheinend hast du den Code nicht genau durchgelesen.

Da heißt es z.B. im PostOpen-Event

...
If (Source.EditMode = True) And (THE_CONDITION) Then
...

THE_CONDITION ist nur als Platzhalter gedacht um eigene Bedingungen einzufügen. In deinem Fall wäre das eine Status-Abfrage.

...( übrigens was ist die mehrzahl von Status? )

Ich habe gelernt Stati, allerdings nach der neuen Verkehrtschreibreform solle es Statusse heissen.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline judicious

  • Junior Mitglied
  • **
  • Beiträge: 53
Re: Keine Editierrechte, trotzdem Funktion ausführen
« Antwort #6 am: 08.03.06 - 16:56:40 »
Hmm ok ich muss mir das also nochmals ansehen. Ich blicke zwar nicht ganz durch, aber was noch nicht ist kann ja noch werden  8) Also vielen Dank für die schnelle Hilfe und einen schönen Abend.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Keine Editierrechte, trotzdem Funktion ausführen
« Antwort #7 am: 08.03.06 - 16:58:32 »
@Martin: Dann könntest Du aber nicht mehr offline diese Funktionalität nutzen.

@Namenloser: Nach Status = 1 muss der User ja gar nicht mehr "in" das Dokument, sondern kann den Statuswechsel über einen Button erledigen.
Auch wenn ich den oben zitierten BP-Artikel geschrieben habe, rate ich zur Verwendung dieses Verfahrens nur in Ausnahmefällen.

Bernhard

Offline HH

  • Senior Mitglied
  • ****
  • Beiträge: 339
  • Geschlecht: Männlich
Re: Keine Editierrechte, trotzdem Funktion ausführen
« Antwort #8 am: 09.03.06 - 10:26:21 »
Um eine Bearbeitung übers Frontend zu verhindern würde ich mit zugriffsbeschränkten Abschnitten oder vom Status abhängigen berechneten Teilmasken arbeiten.

Um Änderungen übers Backend zu verhindert bleibt m.E. tatsächlich nur die von m3 bereits erwähnte Möglichkeit mit Agenten zu arbeiten.

Hubert

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Keine Editierrechte, trotzdem Funktion ausführen
« Antwort #9 am: 09.03.06 - 10:40:04 »
Könntest Du über Agent.runonserver(NoteID) machen.

Lokal startet der Author einen Agent.
Dieser Agent startet einen Agent auf dem Server ( mit entsprechender ID signiert) läuft und ändert das Feld. Als PArameter kannst du ja die NoteID deines Dokuments übergeben.

Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Keine Editierrechte, trotzdem Funktion ausführen
« Antwort #10 am: 11.03.06 - 20:55:11 »
@Martin: Dann könntest Du aber nicht mehr offline diese Funktionalität nutzen.
Jup, das ist korrekt.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz