Waardering:
  • 0 stemmen - gemiddelde waardering is 0
  • 1
  • 2
  • 3
  • 4
  • 5
Records filteren d.m.v. een intern veld
#1
Men wil standaard de beeldbank laten controleren door twee groepen moderatoren, dit voor zowel de bestaande collectie als ook voor nieuwe toevoegingen.

De login-naam voor moderatoren in groep 1 beginnen steeds met Mod1, die in groep 2 met Mod2, dus bijv. Mod101, Mod102, Mod201, Mod202.

Moderatoren in groep 1 zouden uitsluitend de records moeten kunnen inzien en wijzigen waarvan de waarde in intern veld 19 Status “Nieuw” is en indien akkoord wordt de waarde daarvan gewijzigd in  bijv. “Gereed”

Moderatoren in groep 2 dienen vervolgens uitsluitend records met “Gereed” te kunnen inzien en wijzigingen.

Is dit mogelijk?
Gerard van Stijn
Vereniging Oud Hoorn (69)
Antwoord
#2
De 'onbegrensde mogelijkheden' van de ZCBS-gebruikersbijeenkomst afgelopen maart 2018, komen weer om de hoek
kijken: het toevoegen van een eigen blokje code in het ZCBS programma op een bepaalde strategische plek.

Wel iets voor de expert, Perl en ZCBS-kenner... Maar het kan wel degelijk bij ZCBS!!

Ik heb in de testconfig (cfg-cbs2.pl) van de foto-beeldbank van Hoorn het volgende opgenomen 
om te zien of het verzochte in overeenstemming is met wat je nu ziet in de testversie 
(en alleen voor gebruiker Gerard van Stijn):
Code:
$INSERT2 = <<'EOR';                                                  ## individuele aanpassingen zoekresultaat
if ($USER eq "Gerard van Stijn" && $fromdate !~ /Abbingstraat/) {    ## $fromdate = veld12 = Adres; zie techn.doc. p4-5)
 $HTML  =~ s|<form.*?edt.*?</form>|&nbsp;|s;                         ## knoppen worden verwijderd; s optie: behandel gehele string als enkele regel
}
EOR
In de testversie kan gebruiker Gerard van Stijn alleen iets aanpassen als het adres Abbingstraat is. Bij andere adressen mist hij de edt en andere knoppen. 
Andere adressen kan die gebruiker dus niet wijzigen! Het omgekeerde is natuurlijk ook gemakkelijk mogelijk te maken.
En om direct naar alle records met adres Abbingstraat te gaan:
      www .beeldbank-oudhoorn.nl/cgi-bin/beeldbank.pl?search=VELD fromdate Abbingstraat

De if-regel moet je natuurlijk nog aanpassen en wat uitbreiden in iets als:
Code:
if ($USER =~ /^Mod1\d+/  &&  $expo !~ /Nieuw/) { 
  $HTML  =~ s|<form.*?edt.*?</form>|&nbsp;|s;
} elsif ($USER =~ /^Mod2\d+/  &&  $expo !~ /Gereed/) { 
  $HTML  =~ s|<form.*?edt.*?</form>|&nbsp;|s;
}

Daarbij heb ik jullie leeg intern veld 18 ($expo) gebruikt en niet veld 19 (van Interne opm.) die je voor 
andere zaken namoet gebruiken!!
Natuurlijk kan je bovenstaande 2 condities ook bij elkaar voegen.

Het interne veld 18 heeft dus de selectiekeuze 'Nieuw' of 'Gereed'.

Lukt bovenstaande na aanpassing niet, geef dan even een seintje dan kan ik kijken waar het verkeerd gaat.
Laat mij in dat geval via permit.lst wel zien om welke gebruikers het gaat.

Weer een leuk voorbeeld voor de toekomstige documentatie...
Antwoord


Lijst met mogelijk verwante topics
Topic Auteur Reacties Weergaven Laatste bericht
  Weergave Intern nr. Leo van Oorsouw 7 123 19-02-2018, 11:53 PM
Laatste bericht: Leo van Oorsouw

Ga naar locatie:


Gebruikers die dit topic lezen: 1 gast(en)