Avatar billede jgkl Nybegynder
03. november 2004 - 07:47 Der er 6 kommentarer

Rolle begrænsning på ét felt

Hej

Vi har en fælles adressebog, som alle vores medarbejdere har ret til at oprette i, men desværre, kan der go ledt ged i den en gang imellem , mest fordi folk ikke staver på samme måde alle steder. Vi har et kategori felt, som kun brugere i acl med [kategoriopretter] skal kunne ændre værdier men de andre må godt kunne vælge.

Feltet er et simpelt @dDbColumn opslag:
@DbColumn("":"NoCache";"";"($ByCategory)";1)
Avatar billede jogii Nybegynder
03. november 2004 - 09:19 #1
Hvis du vil bibeholde interfacet med ét keyword felt og "allow values not in list", så er du nødt til i Inbut Validation eller Input Translation at lave et check, hvor du sammenligner indholdet i feltet med listen UNDER GEMNING (@IsDocBeingSeaved).
Her er noget kode som jeg lige har skrevet og ikke har testet, men du burde kunne se idéen med den:

@If(@IsDocBeingsaved; ""; @Return(""));
_hasrole := @UserRoles = "[kategoriopretter]";
@If(_hasrole; @Return(""); "");
REM { brugeren har ikke rolle, undersøg om nuværende værdi er i listen};
_currentlist := @DbColumn("":"NoCache";"";"($ByCategory)";1);
_field := @ThisValue;  REM {N6};
_field  := Category;  REM {R5};
_inlist := _field = _list;
@If(_inlist; @Success; @Failure("Du må ikke oprette en ny kategory. Vælg en kategori fra listen.")
Avatar billede jogii Nybegynder
03. november 2004 - 09:20 #2
ups, det skal være input validation som koden skal placeres i.
Avatar billede jgkl Nybegynder
03. november 2004 - 10:24 #3
Hej jogii har kigget lidt på den og ændret lidt i koden, jeg kan fint nok ikke få lov at oprette, men når jeg skal gemme med en af de nuværende kategorier, kommer den med 2 input validation fejl, men den gemmer alligevel.

@If(@IsDocBeingsaved; ""; @Return(""));
_hasrole := @UserRoles = "[kategoriopret]";
@If(_hasrole; @Return(""); "");
REM { brugeren har ikke rolle, undersøg om nuværende værdi er i listen};
_list := @DbColumn("":"NoCache";"";"($ByCategory)";1);
_field := @ThisValue;  REM {N6};
_field  := Categories;  REM {R5};
_inlist := _field = _list;
@If(_inlist; @Success; @Failure("Du må ikke oprette en ny kategory. Vælg en kategori fra listen."))
Avatar billede jogii Nybegynder
03. november 2004 - 11:14 #4
hvilken version anvender du?
Hvad er fejlbeskedene?
Hvordan opfører den sig hvis du indtaster en værdi der ikke er i kategorierne endnu, henholdsvis med [kategoriopret] og uden?
Avatar billede jgkl Nybegynder
03. november 2004 - 12:50 #5
Hej igen..

Vi bruger r5.08
Når jeg ikke har [kategoriopret]rollen får jeg 3 fejl.

Fejl 1: field didn´t pass validation formula.
Fejl 2: Notes error - field didn´t pass validation formula
Fejl 3: Du må ikke oprette en ny kategory. Vælge en fra listen.
og hvis jeg så vælger en fra listen, kommer kun de 2 første, og den gemmer dokumentet.

og det er nøjagtig det samme, hvis jeg til deler mig selv rollen, [kategoriopret]
Avatar billede jogii Nybegynder
03. november 2004 - 13:43 #6
Du skal så fjerne linien med @ThisValue (N6). @ThisValue er en ND6 funktion.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester