Autor Thema: Dokument bearbeiten, wenn Feld = Username  (Gelesen 6604 mal)

Offline gentleman

  • Frischling
  • *
  • Beiträge: 42
  • Geschlecht: Männlich
  • uaaagh!
Dokument bearbeiten, wenn Feld = Username
« am: 24.09.04 - 11:35:09 »
hi,

ich habe eine db mit verschiedenen bearbeitungsberechtigungen, welche mir gerade probleme machen :)

Ich habe ein Feld mit dem Namen Signatur1, in dem der Username, des aktuellen Bearbeiters per Knopfdruck gespeichert wird.

So gehe ich vor, wenn ich erreichen will, dass die rolle markt nicht in den dok_status 5 rein darf (dok_status 5 wird ebenfalls in nem feld hinterlegt):

@If(@Contains(@UserRoles;"[Markt]") & (@If(@Contains(dok_status;"5")));@Do(@Prompt([OK]; "Halt";  "Sie haben keine Berechtigung zum Bearbeiten!"); @Return(""));

das funktioniert.


nur jetzt brauch ich ne formel, dass die rolle markt nicht in das dok 5 rein darf (siehe oben) ABER dass die rolle markt dann in dok_status 5 rein darf, wenn es der ersteller des dokuments ist - dieser wird im feld signatur1 hinterlegt...

aber ich komm nich drauf

hat da jemand nen tip?
wäre super klasse :)

danke schonmal
marc :)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Dokument bearbeiten, wenn Feld = Username
« Antwort #1 am: 24.09.04 - 11:38:28 »
Da fehlt doch nur noch
& Signatur1 != @UserName

Bernhard

Offline gentleman

  • Frischling
  • *
  • Beiträge: 42
  • Geschlecht: Männlich
  • uaaagh!
Re: Dokument bearbeiten, wenn Feld = Username
« Antwort #2 am: 24.09.04 - 11:45:46 »
hey,

danke für die schnelle antwort...

habs so probiert:

@If(@Contains(@UserRoles;"[Markt]") & Signatur1 != @V3UserName & (@If(@Contains(dok_status;"5")));@Do(@Prompt([OK]; "Halt";  "Sie haben keine Berechtigung zum Bearbeiten!"); @Return(""));

geht aber leider nicht :(

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Dokument bearbeiten, wenn Feld = Username
« Antwort #3 am: 24.09.04 - 11:50:57 »
Zunächst fehlt Deiner Formel der Else-Zweig.

Wo hast Du die Formel eigentlich zu stehen ?

Bernhard

Driri

  • Gast
Re: Dokument bearbeiten, wenn Feld = Username
« Antwort #4 am: 24.09.04 - 11:51:21 »
Wieso nimmst Du denn eine andere Formel, als Bernhard dir empfiehlt ?

V3UserName gibt den gekürzten Usernamen zurück, wenn in Signatur1 der kanonische Name steht, kann das auch nur in die Hose gehen.

Offline gentleman

  • Frischling
  • *
  • Beiträge: 42
  • Geschlecht: Männlich
  • uaaagh!
Re: Dokument bearbeiten, wenn Feld = Username
« Antwort #5 am: 24.09.04 - 13:33:08 »
hi,

erstmal danke für die schnellen antworten.

ich hol mal schnell etwas aus.

ich hab ein feld signatur1.
in dieses feld wird der username geschrieben. das geschieht per buttonklick; auf dem button is der code:

FIELD Signatur1:=Signatur1;
@SetField("Signatur1";@Name([CN]; @Subset(@V3UserName; 1)));
@Command([ViewRefreshFields])

ok...

jetz hab ich das dokument das vom status 1-6 geht...
die rolle markt darf nur in status 1 und 3 rein, sonst nirgends!

ABER: die rolle markt darf auch in status 5 rein, wenn es der ersteller ist (also im feld signatur1 der name....) der rest der gruppe markt darf logischerweise nich rein.

V3UserName hab ich also genommen, weil auf dem button auch V3UserName verwendet worden is...

auf dem bearbeiten button (um in das dokument reinzukommen), ist der code, den ich hier suche...

ich komm echt nimmer weiter :(

würde mich sehr freuen wenn ihr mir da auf die sprünge helfen könntet :)

danke
marc

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Dokument bearbeiten, wenn Feld = Username
« Antwort #6 am: 24.09.04 - 13:36:53 »
Ich habe keinen Plan, warum das bei Dir nicht funktionieren sollte ... Arbeitest Du evtl. lokal ohne konsistente ACL ?

Allerdings ist Dein Verfahren ein äusserst unsicheres: Du kannst ja keinen zwingen, den Bearbeiten-Button zu drücken, die User können StrgB verwenden, über's menü gehen, einen Doppelklick im Dokument machen ...

Bernhard

Offline gentleman

  • Frischling
  • *
  • Beiträge: 42
  • Geschlecht: Männlich
  • uaaagh!
Re: Dokument bearbeiten, wenn Feld = Username
« Antwort #7 am: 24.09.04 - 13:50:30 »
hi,

strg +b und und und geht nicht, is alles im querymodechange geregelt... von daher is es sicher...

Zitat: "Arbeitest Du evtl. lokal ohne konsistente ACL?" bin überfragt :) die db liegt aber auf nem server...

ich spiel nochmal a bissl rum, aber vorhin gings nich...
weder mit @V3UserName oder mit @UserName

danke trotzdem
marc :)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Dokument bearbeiten, wenn Feld = Username
« Antwort #8 am: 24.09.04 - 13:56:34 »
strg +b und und und geht nicht, is alles im querymodechange geregelt... von daher is es sicher...

Im PostOpen prüfst Du auch ?

Zitat: "Arbeitest Du evtl. lokal ohne konsistente ACL?" bin überfragt :) die db liegt aber auf nem server...

Hm, dann passt das auf jeden Fall.

Offline gentleman

  • Frischling
  • *
  • Beiträge: 42
  • Geschlecht: Männlich
  • uaaagh!
Re: Dokument bearbeiten, wenn Feld = Username
« Antwort #9 am: 24.09.04 - 14:02:07 »
Im PostOpen prüfst Du auch ?

ne da nich...
aber man kommt in das dok nich rein ohne die richtigen rechte - alles schon getestet...

mein autor problem besteht allerdings nach wie vor :(

gibts da nich ne andere möglichkeit das zu lösen???

danke
marc :)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Dokument bearbeiten, wenn Feld = Username
« Antwort #10 am: 24.09.04 - 14:03:43 »
Dann selektiere mal in der Ansicht ein Dokument und drücke Strg-B. Da wird dann keine QueryModeChange ausgeführt ...

Bernhard

Offline gentleman

  • Frischling
  • *
  • Beiträge: 42
  • Geschlecht: Männlich
  • uaaagh!
Re: Dokument bearbeiten, wenn Feld = Username
« Antwort #11 am: 24.09.04 - 14:05:38 »
hey,

genialer tip - haste recht, da gehts... :)
muss im postopen der gleiche code wie im querymodechange stehen?

danke
marc :)

Offline jovel

  • Aktives Mitglied
  • ***
  • Beiträge: 141
  • Geschlecht: Männlich
Re: Dokument bearbeiten, wenn Feld = Username
« Antwort #12 am: 24.09.04 - 14:08:22 »
Das ist doch nicht weiter tragisch, wenn der nicht berechtigte User sich zwar die Finger wund editieren kann, aber seine Änderungen nicht speichern darf... und das abzufackeln ist nun wirklich kein Problem und der User hat sich zu früh gefreut  :)
1 ApplicationServer 8.0.2.
3 Mailserver 8.0.2
1200 Clients 8.0.2

Offline gentleman

  • Frischling
  • *
  • Beiträge: 42
  • Geschlecht: Männlich
  • uaaagh!
Re: Dokument bearbeiten, wenn Feld = Username
« Antwort #13 am: 24.09.04 - 14:12:01 »
Das ist doch nicht weiter tragisch, wenn der nicht berechtigte User sich zwar die Finger wund editieren kann, aber seine Änderungen nicht speichern darf... und das abzufackeln ist nun wirklich kein Problem und der User hat sich zu früh gefreut  :)

dann musst du aber den speichern button mit codes versehen...
is schon cooler wenn man da gleich gar ned rein darf... :)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Dokument bearbeiten, wenn Feld = Username
« Antwort #14 am: 24.09.04 - 14:12:06 »
Im PostOpen brauchst Du nur den EditMode auf False zu setzen. Achtung - dabei triggerst Du dann QueryModeChange !

Wieso arbeitest Du eigentlich nicht mit Autorenfeldern ? Da wärst Du das ganze Gedöhns doch los und hast eine sicherere Anwendung.

Bernhard

Offline jovel

  • Aktives Mitglied
  • ***
  • Beiträge: 141
  • Geschlecht: Männlich
Re: Dokument bearbeiten, wenn Feld = Username
« Antwort #15 am: 24.09.04 - 14:18:26 »
Etwas Code im Speichern-Button sollte schon sein, damit die User-Gemeinde über ESC keinen Unfug anstellt.  ;)
Ich bin aber auch ein Verfechte von Leser- und Autorenfeldern. Das gibt mehr Sicherheit, aber lass dir ein Hintertürchen offen, damit du noch an die Dok`s kommst.
1 ApplicationServer 8.0.2.
3 Mailserver 8.0.2
1200 Clients 8.0.2

Offline gentleman

  • Frischling
  • *
  • Beiträge: 42
  • Geschlecht: Männlich
  • uaaagh!
Re: Dokument bearbeiten, wenn Feld = Username
« Antwort #16 am: 24.09.04 - 14:20:31 »
Wieso arbeitest Du eigentlich nicht mit Autorenfeldern ? Da wärst Du das ganze Gedöhns doch los und hast eine sicherere Anwendung.

AH! zu viele infos auf einmal :D
das teil kenn ich ned :D

und zum postopem...
hab in der hilfe das gefunden:
  Dim workspace As New NotesUIWorkspace
  Dim uidoc As NotesUIDocument
  Set uidoc = workspace.CurrentDocument
  uidoc.EditMode = True

dabei bringt er zwar ne meldung - bearbeiten nich möglich, aber wenn man die bestätigt, dann kommt man trotzdem rein :D

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Dokument bearbeiten, wenn Feld = Username
« Antwort #17 am: 24.09.04 - 14:31:17 »
If DeineBedingung then
   Source.EditMode = False
End If

reicht doch vollkommen ...

Bernhard

Offline gentleman

  • Frischling
  • *
  • Beiträge: 42
  • Geschlecht: Männlich
  • uaaagh!
Re: Dokument bearbeiten, wenn Feld = Username
« Antwort #18 am: 24.09.04 - 16:14:29 »
If DeineBedingung then
   Source.EditMode = False
End If

hi,

wollte eigentlich nimmer stören, aber das klappt nicht!

has so probiert:
   If source.EditMode And Not source.IsNewDoc Then
      Source.EditMode = False
   End If

und noch einige male anders...
klappt aber nicht. es erscheint zwar die meldung bearbeiten nicht möglich, aber wenn man ok drückt is man drin...

marc

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Dokument bearbeiten, wenn Feld = Username
« Antwort #19 am: 24.09.04 - 16:22:15 »
Die Meldung sollte ja im QueryModeChange stehen - und dessen Code wäre nun interessant. Wenn dort davon ausgegangen ist, dass der EditMode True ist ...

Bernhard

PS: Geh' die Events mal im Debugger durch und schau Dir die UIDoc-Properties in den jeweiligen Events an.

PPS: Mit Autorenfelder wäre Dir das nicht passiert - in Workflow-Apps sind die IMHO einfach ein Must-have. Bei Marketing steht das zwar nicht gerade zu erwarten  ;D, aber wenn sich da ein etwas begabterer User einen Agent selber schraubt, dann nutzt Dir Deine Front-End-"Sicherheit" gar nichts.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz