Patch level :10.0
Files correlati : Ricompilazione Demo : [ ] Commento : iniziata la gestione avanzata permessi di analitica git-svn-id: svn://10.65.10.50/branches/R_10_00@21328 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
adea64190f
commit
bb96d72185
@ -9,11 +9,12 @@ int main(int argc, char** argv)
|
||||
{
|
||||
// case 1: ca0200(argc,argv); break; // stampa tabelle
|
||||
case 2: ca0300(argc,argv); break; // parametri configurazione Contabilita' Analitica
|
||||
case 3: ca0400(argc,argv); break; //immissione piano dei conti
|
||||
case 4: ca0500(argc,argv); break; //gestione centri di costo
|
||||
case 5: ca0600(argc,argv); break; //gestione commesse
|
||||
case 6: ca0700(argc,argv); break; //gestione fasi
|
||||
case 3: ca0400(argc,argv); break; // immissione piano dei conti
|
||||
case 4: ca0500(argc,argv); break; // gestione centri di costo
|
||||
case 5: ca0600(argc,argv); break; // gestione commesse
|
||||
case 6: ca0700(argc,argv); break; // gestione fasi
|
||||
case 7: ca0800(argc,argv); break; // tabelle ripartizioni
|
||||
case 8: ca0900(argc,argv); break; // gestione archivi per utente avanzatissima!
|
||||
default: ca0100(argc,argv); break; // gestione tabelle
|
||||
}
|
||||
exit(0);
|
||||
|
1
ca/ca0.h
1
ca/ca0.h
@ -9,5 +9,6 @@ int ca0500(int argc, char* argv[]);
|
||||
int ca0600(int argc, char* argv[]);
|
||||
int ca0700(int argc, char* argv[]);
|
||||
int ca0800(int argc, char* argv[]);
|
||||
int ca0900(int argc, char* argv[]);
|
||||
|
||||
#endif // __CA0_H
|
||||
|
151
ca/ca0900.cpp
Executable file
151
ca/ca0900.cpp
Executable file
@ -0,0 +1,151 @@
|
||||
#include <applicat.h>
|
||||
#include <automask.h>
|
||||
#include <config.h>
|
||||
#include <defmask.h>
|
||||
#include <prefix.h>
|
||||
#include <utility.h>
|
||||
|
||||
#include "ca0900a.h"
|
||||
|
||||
//////////////////////////////////////////////
|
||||
// Maschera
|
||||
//////////////////////////////////////////////
|
||||
class TGestione_permessi_CA_mask : public TAutomask
|
||||
{
|
||||
int _pos_prog, _pos_codcms, _pos_cdc, _pos_fase;
|
||||
|
||||
protected:
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
void mask2ini();
|
||||
void ini2mask(const TString& username);
|
||||
const TFilename build_path();
|
||||
|
||||
public:
|
||||
TGestione_permessi_CA_mask();
|
||||
~TGestione_permessi_CA_mask();
|
||||
};
|
||||
|
||||
const TFilename TGestione_permessi_CA_mask::build_path()
|
||||
{
|
||||
//il file deve essere nascostamente nascosto in Dati\config
|
||||
TFilename fileconf;
|
||||
fileconf = firm2dir(-1); // Directory dati
|
||||
fileconf.add("config"); // + Directory config
|
||||
if (!fileconf.exist()) // Creala se necessario (in generale caso impossibilissimo!)
|
||||
make_dir(fileconf);
|
||||
fileconf.add("ca0900conf.ini"); //il file si chiama così per mascherarsi tra i tanti
|
||||
|
||||
return fileconf;
|
||||
}
|
||||
|
||||
void TGestione_permessi_CA_mask::ini2mask(const TString& username)
|
||||
{
|
||||
//carica i parametri dal file ini
|
||||
TFilename fileconf = build_path();
|
||||
TConfig config(fileconf, username);
|
||||
|
||||
//filtri principali
|
||||
set(F_CODCMS, config.get("Codcms"));
|
||||
set(F_CDC, config.get("CdC"));
|
||||
set(F_FASE, config.get("Fase"));
|
||||
//filtri secondari per programma
|
||||
TSheet_field& sf_righe = sfield(F_RIGHE);
|
||||
for (int i = 0; config.exist("Prog", NULL, i); i++)
|
||||
{
|
||||
sf_righe.row(-1) = config.get("Prog", NULL, i);
|
||||
}
|
||||
sf_righe.force_update();
|
||||
}
|
||||
|
||||
//salva i dati nel file ini
|
||||
void TGestione_permessi_CA_mask::mask2ini()
|
||||
{
|
||||
const TString& username = get(F_USERNAME);
|
||||
|
||||
//il file deve essere nascostamente nascosto in Dati\config
|
||||
TFilename fileconf = build_path();
|
||||
TConfig config(fileconf, username);
|
||||
|
||||
//filtri principali
|
||||
config.set("Codcms", get(F_CODCMS));
|
||||
config.set("CdC", get(F_CDC));
|
||||
config.set("Fase", get(F_FASE));
|
||||
//filtri secondari per programma
|
||||
TSheet_field& sf_righe = sfield(F_RIGHE);
|
||||
FOR_EACH_SHEET_ROW(sf_righe, r, riga)
|
||||
{
|
||||
config.set("Prog", *riga, NULL, true, r);
|
||||
}
|
||||
}
|
||||
|
||||
bool TGestione_permessi_CA_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
{
|
||||
switch (o.dlg())
|
||||
{
|
||||
case F_USERNAME:
|
||||
if (e == fe_modify)
|
||||
{
|
||||
//carica tutte le righe del .ini al caricamento dell'utente
|
||||
ini2mask(o.get());
|
||||
disable(F_USERNAME);
|
||||
enable(DLG_SAVEREC);
|
||||
enable(DLG_CANCEL);
|
||||
}
|
||||
break;
|
||||
case DLG_SAVEREC:
|
||||
if (e == fe_button && check_fields())
|
||||
{
|
||||
mask2ini();
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
TGestione_permessi_CA_mask::TGestione_permessi_CA_mask() : TAutomask ("ca0900a")
|
||||
{
|
||||
//assegna una volta per tutte le pos delle colonne di sheet
|
||||
TSheet_field& sf_righe = sfield(F_RIGHE);
|
||||
_pos_prog = sf_righe.cid2index(S_PROGRAMMA);
|
||||
_pos_codcms = sf_righe.cid2index(S_CODCMS);
|
||||
_pos_cdc = sf_righe.cid2index(S_CDC);
|
||||
_pos_fase = sf_righe.cid2index(S_FASE);
|
||||
}
|
||||
|
||||
TGestione_permessi_CA_mask::~TGestione_permessi_CA_mask()
|
||||
{
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////
|
||||
// Applicazione
|
||||
//////////////////////////////////////////////
|
||||
class TGestione_permessi_CA : public TSkeleton_application
|
||||
{
|
||||
protected:
|
||||
public:
|
||||
virtual void main_loop();
|
||||
virtual bool create();
|
||||
};
|
||||
|
||||
void TGestione_permessi_CA::main_loop()
|
||||
{
|
||||
TGestione_permessi_CA_mask mask;
|
||||
while (mask.run() == K_ENTER)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
bool TGestione_permessi_CA::create()
|
||||
{
|
||||
return TSkeleton_application::create();
|
||||
}
|
||||
|
||||
int ca0900 (int argc, char* argv[])
|
||||
{
|
||||
TGestione_permessi_CA app;
|
||||
app.run(argc, argv, TR("Gestione permessi CA"));
|
||||
return 0;
|
||||
}
|
14
ca/ca0900a.h
Executable file
14
ca/ca0900a.h
Executable file
@ -0,0 +1,14 @@
|
||||
//id campi maschera ca0900a (tabella selezioni per utente avanzate)
|
||||
//campi normali
|
||||
#define F_USERNAME 201
|
||||
#define F_USERDESC 202
|
||||
#define F_CODCMS 203
|
||||
#define F_CDC 204
|
||||
#define F_FASE 205
|
||||
#define F_RIGHE 220
|
||||
|
||||
//sheet
|
||||
#define S_PROGRAMMA 101
|
||||
#define S_CODCMS 102
|
||||
#define S_CDC 103
|
||||
#define S_FASE 104
|
154
ca/ca0900a.uml
Executable file
154
ca/ca0900a.uml
Executable file
@ -0,0 +1,154 @@
|
||||
#include "ca0900a.h"
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
|
||||
#include <relapbar.h>
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Selezione archivi per Utente" 0 0 0 2
|
||||
|
||||
STRING F_USERNAME 16
|
||||
BEGIN
|
||||
PROMPT 1 1 "Utente "
|
||||
USE LF_USER
|
||||
INPUT USERNAME F_USERNAME
|
||||
DISPLAY "Utente@16" USERNAME
|
||||
DISPLAY "Gruppo@16" GROUPNAME
|
||||
DISPLAY "Descrizione@50" USERDESC
|
||||
OUTPUT F_USERNAME USERNAME
|
||||
OUTPUT F_USERDESC USERDESC
|
||||
CHECKTYPE REQUIRED
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
STRING F_USERDESC 50
|
||||
BEGIN
|
||||
PROMPT 1 2 "Nome "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 5
|
||||
BEGIN
|
||||
PROMPT 1 3 "@bFormule di filtro principali"
|
||||
END
|
||||
|
||||
STRING F_CODCMS 70 65
|
||||
BEGIN
|
||||
PROMPT 2 4 "Commesse "
|
||||
FIELD S0
|
||||
END
|
||||
|
||||
STRING F_CDC 70 65
|
||||
BEGIN
|
||||
PROMPT 2 5 "C.D.C. "
|
||||
FIELD S1
|
||||
END
|
||||
|
||||
STRING F_FASE 70 65
|
||||
BEGIN
|
||||
PROMPT 2 6 "Fasi "
|
||||
FIELD S2
|
||||
END
|
||||
|
||||
SPREADSHEET F_RIGHE
|
||||
BEGIN
|
||||
PROMPT 1 8 "Permessi per programma"
|
||||
ITEM "Programma@F"
|
||||
ITEM "Commesse@50"
|
||||
ITEM "Cdc@50"
|
||||
ITEM "Fasi@50"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Istruzioni" 0 2 0 0
|
||||
|
||||
TEXT -1
|
||||
BEGIN
|
||||
PROMPT 0 1 "Le formule di filtro sono espressioni. Si usano per indicare Commesse, Fasi,"
|
||||
END
|
||||
|
||||
TEXT -1
|
||||
BEGIN
|
||||
PROMPT 0 2 "e CdC che l'utente selezionato è autorizzato o meno a consultare/modificare."
|
||||
END
|
||||
|
||||
TEXT -1
|
||||
BEGIN
|
||||
PROMPT 0 3 "Esempi"
|
||||
END
|
||||
|
||||
TEXT -1
|
||||
BEGIN
|
||||
PROMPT 0 4 "CODCMS=codicecommessa, CODCMS=cod*, CODCMS?=cod"
|
||||
END
|
||||
|
||||
TEXT -1
|
||||
BEGIN
|
||||
PROMPT 0 5 "CODCOSTO=codicecdc, CODCOSTO=cod*, CODCOSTO?=cod"
|
||||
END
|
||||
|
||||
TEXT -1
|
||||
BEGIN
|
||||
PROMPT 0 6 "CODFASE=codicefase, CODFASE=cod*, CODFASE?=cod"
|
||||
END
|
||||
|
||||
TEXT -1
|
||||
BEGIN
|
||||
PROMPT 0 7 "Nota: il filtro sulle fasi è applicabile solo se le fasi NON sono collegate a"
|
||||
END
|
||||
|
||||
TEXT -1
|
||||
BEGIN
|
||||
PROMPT 0 8 "commesse e CdC in configurazione contabilità analitica"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
||||
PAGE "Sheet" -1 -1 78 5
|
||||
|
||||
STRING S_PROGRAMMA 6
|
||||
BEGIN
|
||||
PROMPT 1 1 "Programma "
|
||||
END
|
||||
|
||||
STRING S_CODCMS 70 65
|
||||
BEGIN
|
||||
PROMPT 1 2 "Commesse "
|
||||
END
|
||||
|
||||
STRING S_CDC 70 65
|
||||
BEGIN
|
||||
PROMPT 1 3 "CdC "
|
||||
END
|
||||
|
||||
STRING S_FASE 70 65
|
||||
BEGIN
|
||||
PROMPT 1 4 "Fase "
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
|
||||
BUTTON DLG_OK 10 2
|
||||
BEGIN
|
||||
PROMPT -13 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_DELREC 10 2
|
||||
BEGIN
|
||||
PROMPT -23 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL 10 2
|
||||
BEGIN
|
||||
PROMPT -33 -1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
@ -50,7 +50,7 @@ END
|
||||
|
||||
GROUPBOX DLG_NULL 78 5
|
||||
BEGIN
|
||||
PROMPT 1 4 "@bFiltri"
|
||||
PROMPT 1 4 "@bFormule di filtro principali"
|
||||
END
|
||||
|
||||
STRING F_AUC_COMMESSE 70 65
|
||||
@ -61,7 +61,7 @@ END
|
||||
|
||||
STRING F_AUC_CDC 70 65
|
||||
BEGIN
|
||||
PROMPT 2 6 "C.D.C "
|
||||
PROMPT 2 6 "C.D.C. "
|
||||
FIELD S1
|
||||
END
|
||||
|
||||
@ -71,44 +71,48 @@ BEGIN
|
||||
FIELD S2
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Istruzioni" 0 2 0 0
|
||||
|
||||
TEXT -1
|
||||
BEGIN
|
||||
PROMPT 2 10 "I campi soprastanti sono di tipo formula. Si usano per indicare Commesse, Fasi,"
|
||||
PROMPT 0 1 "Le formule di filtro sono espressioni. Si usano per indicare Commesse, Fasi,"
|
||||
END
|
||||
|
||||
TEXT -1
|
||||
BEGIN
|
||||
PROMPT 2 11 "e CdC che l'utente selezionato è autorizzato o meno a consultare/modificare."
|
||||
PROMPT 0 2 "e CdC che l'utente selezionato è autorizzato o meno a consultare/modificare."
|
||||
END
|
||||
|
||||
TEXT -1
|
||||
BEGIN
|
||||
PROMPT 2 12 "Esempi"
|
||||
PROMPT 0 3 "Esempi"
|
||||
END
|
||||
|
||||
TEXT -1
|
||||
BEGIN
|
||||
PROMPT 2 13 "CODCMS=codicecommessa, CODCMS=cod*"
|
||||
PROMPT 0 4 "CODCMS=codicecommessa, CODCMS=cod*, CODCMS?=cod"
|
||||
END
|
||||
|
||||
TEXT -1
|
||||
BEGIN
|
||||
PROMPT 2 14 "CODCOSTO=codicecdc, CODCOSTO=cod*"
|
||||
PROMPT 0 5 "CODCOSTO=codicecdc, CODCOSTO=cod*, CODCOSTO?=cod"
|
||||
END
|
||||
|
||||
TEXT -1
|
||||
BEGIN
|
||||
PROMPT 2 15 "CODFASE=codicefase, CODFASE=cod*"
|
||||
PROMPT 0 6 "CODFASE=codicefase, CODFASE=cod*, CODFASE?=cod"
|
||||
END
|
||||
|
||||
TEXT -1
|
||||
BEGIN
|
||||
PROMPT 2 16 "Nota: il filtro sulle fasi è applicabile solo se le fasi NON sono collegate a"
|
||||
PROMPT 0 7 "Nota: il filtro sulle fasi è applicabile solo se le fasi NON sono collegate a"
|
||||
END
|
||||
|
||||
TEXT -1
|
||||
BEGIN
|
||||
PROMPT 2 17 "commesse e CdC"
|
||||
PROMPT 0 8 "commesse e CdC in configurazione contabilità analitica"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
Loading…
x
Reference in New Issue
Block a user