Corretta gestione permessi di lettura/scrittura per utente
git-svn-id: svn://10.65.10.50/branches/R_10_00@22820 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
eb127dd845
commit
f7330b37c5
@ -1,4 +1,5 @@
|
|||||||
#include <defmask.h>
|
#include <defmask.h>
|
||||||
|
#include <postman.h>
|
||||||
#include <recset.h>
|
#include <recset.h>
|
||||||
|
|
||||||
#include "ca2.h"
|
#include "ca2.h"
|
||||||
@ -81,7 +82,6 @@ protected:
|
|||||||
virtual bool user_create();
|
virtual bool user_create();
|
||||||
virtual bool user_destroy();
|
virtual bool user_destroy();
|
||||||
virtual TMask* get_mask(int);
|
virtual TMask* get_mask(int);
|
||||||
virtual TRelation* get_relation() const;
|
|
||||||
virtual bool get_next_key(TToken_string& key);
|
virtual bool get_next_key(TToken_string& key);
|
||||||
|
|
||||||
void write_rows(const TMask& m);
|
void write_rows(const TMask& m);
|
||||||
@ -98,6 +98,9 @@ protected:
|
|||||||
virtual void init_query_mode(TMask& m);
|
virtual void init_query_mode(TMask& m);
|
||||||
virtual void init_insert_mode(TMask& m);
|
virtual void init_insert_mode(TMask& m);
|
||||||
virtual void init_modify_mode(TMask& m);
|
virtual void init_modify_mode(TMask& m);
|
||||||
|
|
||||||
|
public:
|
||||||
|
virtual TRelation* get_relation() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
static TMovanal_app& app() { return (TMovanal_app&)main_app(); }
|
static TMovanal_app& app() { return (TMovanal_app&)main_app(); }
|
||||||
@ -125,14 +128,15 @@ bool TMovanal_msk::on_key(KEY key)
|
|||||||
void TMovanal_msk::show_locked_buttons()
|
void TMovanal_msk::show_locked_buttons()
|
||||||
{
|
{
|
||||||
const bool is_trans = app().is_transaction();
|
const bool is_trans = app().is_transaction();
|
||||||
|
const TRelation* rel = app().get_relation();
|
||||||
const bool modifying = mode() == MODE_MOD;
|
const bool modifying = mode() == MODE_MOD;
|
||||||
const bool inserting = mode() == MODE_INS;
|
const bool inserting = mode() == MODE_INS;
|
||||||
const bool editing = modifying || inserting;
|
const bool editing = modifying || inserting;
|
||||||
const bool unlocked = !(modifying && get_bool(F_BLOCCATO));
|
const bool unlocked = !(modifying && get_bool(F_BLOCCATO)) && user_can_write(rel);
|
||||||
show (F_BLOCCATO, modifying);
|
show (F_BLOCCATO, modifying);
|
||||||
enable(F_BLOCCATO, unlocked);
|
enable(F_BLOCCATO, unlocked);
|
||||||
enable(DLG_SAVEREC, unlocked && editing);
|
enable(DLG_SAVEREC, unlocked && editing);
|
||||||
enable(DLG_DELREC, unlocked && !inserting);
|
enable(DLG_DELREC, unlocked && !inserting && user_can_delete(rel));
|
||||||
enable(DLG_QUIT, !is_trans || !inserting);
|
enable(DLG_QUIT, !is_trans || !inserting);
|
||||||
enable(DLG_CANCEL, !is_trans || !inserting);
|
enable(DLG_CANCEL, !is_trans || !inserting);
|
||||||
enable(F_RESET, unlocked && editing);
|
enable(F_RESET, unlocked && editing);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user