Administracja użytkowników podczas biegu aplikacji. Użytkownicy z ustawionymi uprawnieniami są zapisywanie do pliku
CSV a następnie do pamięci komputera.
Niniejsza konfiguracja wstępna zostanie wywołana przy założeniu nowego obiektu (np. przy pomocy opcji
"Nowy obiekt ..." w lokalnym menu obiektu lub naciśnięciem klawiszy
Insert po zaznaczeniu obiektu) oraz jest przyszeregowana do grupy:
"/ Panele (PmaPanel) / Pozostałe".
Taką konfigurację wstępną można wytworzyć w obiekcie:
PmaFolder,
PmaRoot,
PmaPanel lub
PmaWorkspace.
Konfiguracja wstępna panela (obiekt typu
PmaPanel) jest wytworzona w ten sposób, że działa również jako
Web panel.
Konfiguracja wstępna wytworzy trzy obiekty
PmaPanel. Główny panel jest nazwany
"AdminUsers" i posiada dwa obiekty podległe:
Panel
"EditUsers" przedstawia
Okno modalne do wytworzenia nowego lub edycji istniejącego użytkownika.
Panel
"ChangePass" przedstawia
Okno modalne służący do zmiany hasła istniejącego użytkownika.
Wszystkie te obiekty mają w karcie "
Uprawnienia" ustawione wszystkie pozycje dla użytkowników grupy
$ADMIN. Główny panel
"AdminUsers" służy do wczytania użytkowników do tabeli i przy pomocy przycisków funkcjonalnych do edycji lub dodania nowego użytkownika. Do jego otworzenia jest stosowana metoda
CreateView.
Główny panel posiada następujące metody:
Crypt - (pomocnicza) do zakodowania i zdekodowania hasła użytkownika
GetGroup - (pomocnicza) do wczytania listy dostępnych grup użytkowników
GetUsers - (pomocnicza) do wczytania pełnej listy wszystkich użytkowników (zapisanych w pliku ini lub pra)
InitUsers - (ważna) doda do uruchomionej aplikacji użytkowników zapisanych w pliku csv
LoadUsers - (ważna) wczyta tablicę zawierającą wszystkich użytkowników z uprawnieniami użytkowników z pliku csv
SaveUsers - (ważna) zapisze tablicę zawierającą wszystkich użytkowników z uprawnieniami użytkowników do pliku csv
UserAdd - (ważna) przygotuje do zapisu tablicę z wartościami zmienionymi przez edycję użytkowników
UserChangePass - (ważna) przygotuje do zapisu tablicę ze zmienioną wartością hasła wybranego użytkownika
UserRemove - (ważna) przygotuje do zapisu tablicę zmniejszoną o dane usuwanego użytkownika
Podstawową metodą jest metoda "
InitUsers". Przy pomocy metody
AddUser zapewni ona dodanie wszystkich użytkowników zapisanych w pliku
CSV do uruchomionej aplikacji. Metoda ta jest wołana zawsze podczas zmianach w edycji użytkowników i musi być również wywołana po uruchomieniu aplikacji. Metody projektanta
LoadUsers oraz
SaveUsers służy do wczytania lub zapisania
wszystkich użytkowników oraz ich uprawnień do pliku
csv. (Jest możliwa ich zmiana do zapisu danych użytkowników do tabeli w niektórej z baz danych.) W metodzie pomocniczej
Crypt są zastosowane metody
EncryptText oraz
DecryptText, gdzie można zmienić wartość zmiennej
sSeed do zakodowania i zdekodowania hasła użytkownika.
Główny panel zawiera obiekt
PmgWTable oraz kilka przycisków
PmgButton. W zdarzeniu
onStart tabeli znajduje się skrypt, który wypełni tabelkę listą użytkowników uzyskaną z pliku
csv. Skrypt w zdarzeniu
onCellClicked umożliwia zaznaczenie wybranego wiersza. W zdarzeniu
onCellEditRequested jest otwarte nowe okno
EditUsers do edycji wybranego użytkownika. Przyciski typu
PmgButton posiadają w zdarzeniu
onButtonUp skrypt, który wykona wymaganą czynność.
Panel
EditUsers jest otwierany w zdarzeniu
onCellEditRequested tabeli lub przycisków
Dodaj lub
Edytuj. Właściwy panel zawiera obiekty
PmgWEdit,
PmgString,
PmgButton oraz
PmgWTable. W zdarzeniu
onStart tabeli są poszczególne obiekty napełnione danymi edytowanego użytkownika. Dane te można w wymagany sposób zmienić i przy pomocy przycisku "
OK" potwierdzić i zapisać.
Panel
ChangePass jest otwierany z panelu głównego przy pomocy przycisku "
Zmiana hasła". Panel zawiera obiekty
PmgWEdit,
PmgString oraz
PmgButton. W zdarzeniu
onStart obiektu
PmgButton są do niewidocznych
Pmg obiektów graficznych zapisane oryginalne dane do logowania użytkownika. Po wprowadzeniu nowych danych są one porównane i przesłane do zapisania w skrypcie przycisku
OK.
Konfiguratory, które można ustawić przed wytworzeniem konfiguracji wstępnej:
Nazwa wytwarzanego obiektu | Nazwa nowo wytworzonego obiektu w drzewie Pma obiektów. Maksymalna długość nazwy wynosi 30 znaków. Jest to nazwa systemowa, może zawierać tylko znaki alfanumeryczne oraz nie może zawierać znaki diakrytyczne (tzn. narodowo zależne znaki), pusty łańcuch, spacje oraz pierwszy znak nie może być liczba.
Domyślnie: "AdminUsers" |
|
Język skryptów obiektu(ów) | Język skryptów obiektu(ów) aplikacji
0 - vbscript
1 - javascript |
|
Uprawnienia | W tej karcie można zdefiniować uprawnienia obiektu. Patrz karta "Uprawnienie" obiektu PmaObject. |
Członek grup logicznych | Lista identyfikatorów grup logicznych (separatorem jest przecinek ','), do których obiekt należy (jest ich członkiem), patrz okno konfiguracyjne "Grupy logiczne".
Wyboru grup logicznych można dokonać w oknie "Członek grup logicznych".
Po wytworzeniu konfiguracji wstępnej konfigurator "PmaObject > Obiekt > Członek grup logicznych" zostanie ustawiony na daną wartość. |
Nazwa pliku do zapisania uprawnień użytkowników | Nazwa pliku, do którego będą zapisywane dane użytkowników i ich uprawnienia (domyślnie) users |
Łańcuch tekstowy do zakodowania hasła | łańcuch, na przykład "xyz" służący jako nasionko metod EncryptText oraz DecryptText do zakodowania hasła użytkowników. |
|
Zazwól jako komponent WEBowy | Określa, czy obiekt ten ma być zarejestrowany jako komponent Web serwera
Po wytworzeniu konfiguracji wstępnej konfigurator "PmaPanel > Web serwer > Zazwól jako komponent WEBowy" zostanie ustawiony na daną wartość. |
---|
Przykład1:
Przykład wywołania metody
"InitUsers" podczas uruchamiania aplikacji. Skrypt powinien zostać ulokowany do zdarzenia
onAppStartEnd obiektu
PmaRoot.
Przykład2:
Przykład otworzenia panela
AdminUsers w zdarzeniu
onButtonUp obiektu
PmgButton ulokowanego w innym panelu. (Panel zostanie otwarty tylko przez zalogowanego użytkownika należącego do grupy użytkowników
$ADMIN).
JavaScriptVBScriptWybierz oraz skopiuj do schowka
var oCreator = Pm.CreateView(null, "/AdminUsers", "", "target:_blank;");
oCreator.Open();
Dim oCreator
Set oCreator = Pm.CreateView(Empty, "/AdminUsers", "", "target:_blank;")
oCreator.Open