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
This commit is contained in:
parent
5dc7e80139
commit
50b67c3ab3
@ -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)
|
||||
{
|
||||
|
54
ba/ba0100a.h
54
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
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
#include "ba1.h"
|
||||
#include "ba1500.h"
|
||||
#include "ba0100a.h"
|
||||
#include "ba1400a.h"
|
||||
|
||||
#include <user.h>
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
|
58
ba/ba1400a.h
Executable file
58
ba/ba1400a.h
Executable file
@ -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
|
@ -1,4 +1,4 @@
|
||||
#include "ba0100a.h"
|
||||
#include "ba1400a.h"
|
||||
|
||||
TOOLBAR "" 0 0 0 2
|
||||
#include <relapbar.h>
|
||||
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user