From 50b67c3ab3efaf0b10fff741c62205bbee853e29 Mon Sep 17 00:00:00 2001 From: guy Date: Tue, 5 May 2009 13:13:30 +0000 Subject: [PATCH] Patch level : 10.0 298 Files correlati : ba0 ba1 Ricompilazione Demo : [ ] Commento : Aggiunta gestione scadenza password alla maschera di gestione utenti (solo per utente ADMIN) git-svn-id: svn://10.65.10.50/trunk@18816 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ba/ba0100.cpp | 3 +- ba/ba0100a.h | 54 ----------------------------------- ba/ba1400.cpp | 16 +++++++++-- ba/ba1400a.h | 58 ++++++++++++++++++++++++++++++++++++++ ba/ba1400a.uml | 28 +++++++++++++++++-- ba/ba1500.cpp | 76 -------------------------------------------------- ba/ba1700.cpp | 4 +-- 7 files changed, 99 insertions(+), 140 deletions(-) create mode 100755 ba/ba1400a.h diff --git a/ba/ba0100.cpp b/ba/ba0100.cpp index d73ac8263..9f3c89af4 100755 --- a/ba/ba0100.cpp +++ b/ba/ba0100.cpp @@ -1037,8 +1037,7 @@ bool TMenu_application::ask_user_password(TString& utente) if (ok && users.curr().exist(USR_DATAPWD)) { - TConfig studio_ini(CONFIG_STUDIO, "Main"); - const long expiration = studio_ini.get_long("PasswordExpiration"); + const long expiration = ini_get_int(CONFIG_STUDIO, "Main", "PasswordExpiration"); bool runba = expiration > 0; while (runba) { diff --git a/ba/ba0100a.h b/ba/ba0100a.h index cdf6c766e..ad62b3745 100755 --- a/ba/ba0100a.h +++ b/ba/ba0100a.h @@ -1,56 +1,2 @@ #define F_USER 151 #define F_PASSWORD 152 -#define F_USERDESC 153 -#define F_GROUP 154 -#define F_GROUPNAME 155 -#define F_PROVA 156 -#define F_DATAPWD 157 -#define F_DATASCAD 158 -#define F_APPLICAT 159 -#define F_NOWRITE 160 - -#define F_MODULI 170 -#define F_PERMESSI 171 -#define F_PROPERTIES 172 - -#define G_SUPERUSER 33 - -#define F_BASE 200 -#define F_74 201 -#define F_75 202 -#define F_76 203 -#define F_77 204 -#define F_GI 205 -#define F_SE 206 -#define F_CG 207 -#define F_ST 208 -#define F_MI 209 -#define F_AI 210 -#define F_CE 211 -#define F_AD 212 -#define F_SC 213 -#define F_MU 214 -#define F_CM 215 -#define F_73 216 -#define F_AT 217 -#define F_IN 218 -#define F_PO 219 -#define F_AB 220 -#define F_NI 221 -#define F_NR 222 -#define F_PC 223 -#define F_AF 224 -#define F_IC 225 -#define F_IS 226 -#define F_TC 227 -#define F_TM 228 -#define F_VE 231 -#define F_MG 232 -#define F_OR 233 -#define F_EF 234 -#define F_DB 235 -#define F_SP 236 - -#define F_NOMEMOD 101 -#define F_ENABLE 102 -#define F_CODE 103 diff --git a/ba/ba1400.cpp b/ba/ba1400.cpp index 94355c628..46a902605 100755 --- a/ba/ba1400.cpp +++ b/ba/ba1400.cpp @@ -9,7 +9,7 @@ #include "ba1.h" #include "ba1500.h" -#include "ba0100a.h" +#include "ba1400a.h" #include @@ -601,7 +601,7 @@ void TSet_users::build_tree(const TRectype* r) // mostra le abilitazioni void TSet_user_passwd::enable_aut() { - const bool superuser = _msk->get(F_USER) == ::dongle().administrator(); + const bool superuser = _msk->get(F_USER) == dongle().administrator(); const int uns = _im->unassigned(); TSheet_field& sf = sheet_field(); const int itms = sf.items(); @@ -654,7 +654,7 @@ bool TSet_users::k_notify(TSheet_field& f, int r, KEY k) bool TSet_user_passwd::user_create() { - const bool superuser = user() == ::dongle().administrator(); + const bool superuser = user() == dongle().administrator(); _rel = new TRelation(LF_USER); _im = new TInformazione_moduli; @@ -695,6 +695,11 @@ int TSet_users::read(TMask& m) { const TRectype& r = get_relation()->curr(); build_tree(&r); + + TConfig ini(CONFIG_STUDIO, "Main"); + m.set(F_PWDMIN, ini.get("MinPwdLen")); + m.set(F_PWDSCAD, ini.get("PasswordExpiration")); + } return err; } @@ -749,6 +754,10 @@ void TSet_users::put_in_record(const TMask& m) } } r.put(USR_PERMISSION, prop_field); + + TConfig ini(CONFIG_STUDIO, "Main"); + ini.set("MinPwdLen", m.get(F_PWDMIN)); + ini.set("PasswordExpiration", m.get(F_PWDSCAD)); } int TSet_user_passwd::write(const TMask& m) @@ -854,3 +863,4 @@ int ba1400(int argc, char** argv) } return 0; } + diff --git a/ba/ba1400a.h b/ba/ba1400a.h new file mode 100755 index 000000000..c73cf0624 --- /dev/null +++ b/ba/ba1400a.h @@ -0,0 +1,58 @@ +#define F_USER 151 +#define F_PASSWORD 152 +#define F_USERDESC 153 +#define F_GROUP 154 +#define F_GROUPNAME 155 +#define F_PROVA 156 +#define F_DATAPWD 157 +#define F_DATASCAD 158 +#define F_APPLICAT 159 +#define F_NOWRITE 160 +#define F_PWDMIN 161 +#define F_PWDSCAD 162 + +#define F_MODULI 170 +#define F_PERMESSI 171 +#define F_PROPERTIES 172 + +#define G_SUPERUSER 33 + +#define F_BASE 200 +#define F_74 201 +#define F_75 202 +#define F_76 203 +#define F_77 204 +#define F_GI 205 +#define F_SE 206 +#define F_CG 207 +#define F_ST 208 +#define F_MI 209 +#define F_AI 210 +#define F_CE 211 +#define F_AD 212 +#define F_SC 213 +#define F_MU 214 +#define F_CM 215 +#define F_73 216 +#define F_AT 217 +#define F_IN 218 +#define F_PO 219 +#define F_AB 220 +#define F_NI 221 +#define F_NR 222 +#define F_PC 223 +#define F_AF 224 +#define F_IC 225 +#define F_IS 226 +#define F_TC 227 +#define F_TM 228 +#define F_VE 231 +#define F_MG 232 +#define F_OR 233 +#define F_EF 234 +#define F_DB 235 +#define F_SP 236 + +#define F_NOMEMOD 101 +#define F_ENABLE 102 +#define F_CODE 103 diff --git a/ba/ba1400a.uml b/ba/ba1400a.uml index da07cb2e8..522611aac 100755 --- a/ba/ba1400a.uml +++ b/ba/ba1400a.uml @@ -1,4 +1,4 @@ -#include "ba0100a.h" +#include "ba1400a.h" TOOLBAR "" 0 0 0 2 #include @@ -110,9 +110,31 @@ ENDPAGE PAGE "Permessi" 0 2 0 0 +GROUPBOX DLG_NULL 78 3 +BEGIN + PROMPT 1 0 "@bParametri di sicurezza per la password" +END + +NUMBER F_PWDMIN 2 +BEGIN + PROMPT 2 1 "Lunghezza minima " + NUM_EXPR #THIS_FIELD>=4 + CHECKTYPE REQUIRED + WARNING "La lunghezza minima della password deve essere almeno 4 caratteri" + FLAGS "U" + GROUP G_SUPERUSER +END + +NUMBER F_PWDSCAD 2 +BEGIN + PROMPT 42 1 "Giorni di validita' " + FLAGS "U" + GROUP G_SUPERUSER +END + TREE F_PERMESSI -3 -8 BEGIN - PROMPT 0 1 "" + PROMPT 0 3 "" END STRING F_APPLICAT 80 16 @@ -141,7 +163,7 @@ ENDPAGE ENDMASK -PAGE "Permessi" -1 -1 60 11 +PAGE "Permessi" 0 2 0 0 STRING F_NOMEMOD 40 BEGIN diff --git a/ba/ba1500.cpp b/ba/ba1500.cpp index 7361dca1e..c26796b68 100755 --- a/ba/ba1500.cpp +++ b/ba/ba1500.cpp @@ -1098,74 +1098,6 @@ void TAttivazione_moduli::print_answer() } } -/* -void TAttivazione_moduli::print_listino() -{ - TRequest_form form("ba1500a"); - TForm_item& num = form.find_field('B', odd_page, 101); - TForm_item& descr = form.find_field('B', odd_page, 102); - TForm_item& codice = form.find_field('B', odd_page, 103); - TForm_item& price = form.find_field('B', odd_page, 104); - TForm_item& manut = form.find_field('B', odd_page, 105); - - TInstall_ini ini; - ini.write_protect(); - - const bool special = _wanted_assist > ::dongle().year_assist() || _wanted_users != 0; - const word users = max(_wanted_users, ::dongle().max_users()); - - TWait_cursor hourglass; - TSheet_field& sheet = _msk->sfield(F_MODULI); - { - int found = 0; - TString str; - real full, assist; - - FOR_EACH_SHEET_ROW(sheet, r, row) - { - const int module = row->get_int(2) ; - const bool active = ::dongle().active(module); - - str = _im->get_name(module); - ini.prices(str, users, full, assist, false); - if (!full.is_zero() || ! assist.is_zero()) - { - if (found++ == 0) - { - printer().open(); - form.find_field('H',odd_page,1).set(TR("LISTINO")); - - num.set(""); - str.format(TR("Numero utenti: %u"), users ); - descr.set(str); - form.print(-1); - } - - price.set(full.string()); - manut.set(assist.string()); - - str.format("%3d", found); - num.set(str); - - str = row->get(0); - descr.set(str); - - str = ""; - codice.set(str); - - form.print(-1); - } - } - - if (found) - { - form.print_footer(); - printer().close(); - } - } -} -*/ - bool TAttivazione_moduli::new_module_requested() { TSheet_field& sheet = _msk->sfield(F_MODULI); @@ -1238,20 +1170,12 @@ bool TAttivazione_moduli::create() _msk->set_handler(F_CHANGEUSERS, change_users_handler); _msk->set_handler(F_CHANGEASSIST, change_assist_handler); _msk->set_handler(F_PRINT, print_handler); -/* - _msk->set_handler(F_PRINTLIST, printlist_handler); - _msk->set_handler(F_AGGLISTINO, aggiorna_listino_handler); -*/ const TDongleType mydongle = ::dongle().type(); if (mydongle == _aga_dongle) { _msk->show(F_AGA); _msk->set_handler(F_AGA, aga_handler); -/* - _msk->show(F_MODLISTINO); - _msk->set_handler(F_MODLISTINO, modifica_listino_handler); -*/ } TSheet_field& sf = _msk->sfield(F_MODULI); diff --git a/ba/ba1700.cpp b/ba/ba1700.cpp index 601487d55..91194511f 100755 --- a/ba/ba1700.cpp +++ b/ba/ba1700.cpp @@ -723,7 +723,7 @@ bool TInstaller_mask::move_file(const TFilename& src, const TFilename& dst) cons aga_unzip(src, dest.path()); if (write_ok) - ::remove(src); + src.fremove(); if (write_ok) { @@ -1093,7 +1093,7 @@ bool TInstaller_mask::install(const TString& module, int patchlevel) //scompattamento vero e proprio dello zip aga_unzip(totti, tempdir); // Scompatta il file totale zip - ::remove(totti); // Elimina il file totale zip + totti.fremove(); // Elimina il file totale zip // TRASFERIMENTO