details: https://code.openbravo.com/erp/devel/pi/rev/a6b455bb80fc
changeset: 19085:a6b455bb80fc
user: Antonio Moreno <antonio.moreno <at> openbravo.com>
date: Thu Dec 20 13:27:34 2012 +0100
summary: Fixed issue 22644. Now a role can be restricted from accessing the
backend.
- A new check has been added to the role window. If this check is set, then the
role cannot be used to log in the backend, but can be used to log in other
applications (such as the WebPOS), if this restriction is overwritten in the
corresponding login handler.
diffstat:
modules/org.openbravo.client.application/src/org/openbravo/client/application/navigationbarcomponents/UserInfoWidgetActionHandler.java
| 2 +-
src-db/database/model/tables/AD_ROLE.xml
| 5 +
src-db/database/sourcedata/AD_COLUMN.xml
| 35 ++++++++++
src-db/database/sourcedata/AD_ELEMENT.xml
| 14 ++++
src-db/database/sourcedata/AD_FIELD.xml
| 29 ++++++++
src-db/database/sourcedata/AD_MESSAGE.xml
| 22 ++++++
src-db/database/sourcedata/AD_REF_LIST.xml
| 12 +++
src/org/openbravo/base/secureApp/DefaultOptions_data.xsql
| 4 +-
src/org/openbravo/base/secureApp/LoginHandler.java
| 19 +++++-
9 files changed, 138 insertions(+), 4 deletions(-)
diffs (266 lines):
diff -r adca7213b9d7 -r a6b455bb80fc
modules/org.openbravo.client.application/src/org/openbravo/client/application/navigationbarcomponents/UserInfoWidgetActionHandler.java
---
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/navigationbarcomponents/UserInfoWidgetActionHandler.java
Wed Dec 19 11:10:33 2012 +0100
+++
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/navigationbarcomponents/UserInfoWidgetActionHandler.java
Thu Dec 20 13:27:34 2012 +0100
@@ -308,7 +308,7 @@
// " AND A_U_R.AD_USER_ID = ?" +
// " ORDER BY A_R.NAME";
final OBQuery<UserRoles> rolesQuery =
OBDal.getInstance().createQuery(UserRoles.class,
- " userContact.id=? and role.active=true");
+ " userContact.id=? and role.active=true and
role.isrestrictbackend=false");
rolesQuery.setFilterOnReadableClients(false);
rolesQuery.setFilterOnReadableOrganization(false);
rolesQuery.setParameters(Collections.singletonList((Object)
OBContext.getOBContext().getUser()
diff -r adca7213b9d7 -r a6b455bb80fc src-db/database/model/tables/AD_ROLE.xml
--- a/src-db/database/model/tables/AD_ROLE.xml Wed Dec 19 11:10:33 2012 +0100
+++ b/src-db/database/model/tables/AD_ROLE.xml Thu Dec 20 13:27:34 2012 +0100
@@ -81,6 +81,10 @@
<default><![CDATA[Y]]></default>
<onCreateDefault><![CDATA['Y']]></onCreateDefault>
</column>
+ <column name="ISRESTRICTBACKEND" primaryKey="false" required="true"
type="CHAR" size="1" autoIncrement="false">
+ <default><![CDATA[N]]></default>
+ <onCreateDefault/>
+ </column>
<foreign-key foreignTable="AD_TREE" name="AD_ROLE_AD_TREE_MENU">
<reference local="AD_TREE_MENU_ID" foreign="AD_TREE_ID"/>
</foreign-key>
@@ -100,5 +104,6 @@
<check name="AD_ROLE_ADV_CHECK"><![CDATA[ISADVANCED IN ('Y',
'N')]]></check>
<check name="AD_ROLE_ISACTIVE_CHECK"><![CDATA[ISACTIVE IN ('Y',
'N')]]></check>
<check name="AD_ROLE_ISCLIENTADMIN_CHECK"><![CDATA[IS_CLIENT_ADMIN IN
('Y', 'N')]]></check>
+ <check name="AD_ROLE_RESTRICTBACKEND"><![CDATA[ISRESTRICTBACKEND IN
('Y', 'N')]]></check>
</table>
</database>
diff -r adca7213b9d7 -r a6b455bb80fc src-db/database/sourcedata/AD_COLUMN.xml
--- a/src-db/database/sourcedata/AD_COLUMN.xml Wed Dec 19 11:10:33 2012 +0100
+++ b/src-db/database/sourcedata/AD_COLUMN.xml Thu Dec 20 13:27:34 2012 +0100
@@ -304982,6 +304982,41 @@
<!--D44EC8E368A74AEA8AD7EFF13B1FBA6A-->
<ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
<!--D44EC8E368A74AEA8AD7EFF13B1FBA6A--></AD_COLUMN>
+<!--D45692C2890144AFBB6F139CDC38457A--><AD_COLUMN>
+<!--D45692C2890144AFBB6F139CDC38457A-->
<AD_COLUMN_ID><![CDATA[D45692C2890144AFBB6F139CDC38457A]]></AD_COLUMN_ID>
+<!--D45692C2890144AFBB6F139CDC38457A-->
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--D45692C2890144AFBB6F139CDC38457A--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--D45692C2890144AFBB6F139CDC38457A--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--D45692C2890144AFBB6F139CDC38457A-->
<NAME><![CDATA[Isrestrictbackend]]></NAME>
+<!--D45692C2890144AFBB6F139CDC38457A--> <DESCRIPTION><![CDATA[If checked,
this role will not have access to the backend (ERP). It will however have
access to other applications (such as the WebPOS)]]></DESCRIPTION>
+<!--D45692C2890144AFBB6F139CDC38457A--> <HELP><![CDATA[If checked, this role
will not have access to the backend (ERP). It will however have access to other
applications (such as the WebPOS)]]></HELP>
+<!--D45692C2890144AFBB6F139CDC38457A-->
<COLUMNNAME><![CDATA[Isrestrictbackend]]></COLUMNNAME>
+<!--D45692C2890144AFBB6F139CDC38457A-->
<AD_TABLE_ID><![CDATA[156]]></AD_TABLE_ID>
+<!--D45692C2890144AFBB6F139CDC38457A-->
<AD_REFERENCE_ID><![CDATA[20]]></AD_REFERENCE_ID>
+<!--D45692C2890144AFBB6F139CDC38457A-->
<FIELDLENGTH><![CDATA[1]]></FIELDLENGTH>
+<!--D45692C2890144AFBB6F139CDC38457A--> <ISKEY><![CDATA[N]]></ISKEY>
+<!--D45692C2890144AFBB6F139CDC38457A--> <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--D45692C2890144AFBB6F139CDC38457A-->
<ISMANDATORY><![CDATA[N]]></ISMANDATORY>
+<!--D45692C2890144AFBB6F139CDC38457A-->
<ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--D45692C2890144AFBB6F139CDC38457A-->
<ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--D45692C2890144AFBB6F139CDC38457A--> <SEQNO><![CDATA[51]]></SEQNO>
+<!--D45692C2890144AFBB6F139CDC38457A-->
<ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--D45692C2890144AFBB6F139CDC38457A-->
<ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--D45692C2890144AFBB6F139CDC38457A-->
<ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--D45692C2890144AFBB6F139CDC38457A-->
<AD_ELEMENT_ID><![CDATA[9C8C7BB9DEB84E3A9B8E4A1C3F200F99]]></AD_ELEMENT_ID>
+<!--D45692C2890144AFBB6F139CDC38457A-->
<ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--D45692C2890144AFBB6F139CDC38457A-->
<ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--D45692C2890144AFBB6F139CDC38457A-->
<ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--D45692C2890144AFBB6F139CDC38457A-->
<DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--D45692C2890144AFBB6F139CDC38457A-->
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--D45692C2890144AFBB6F139CDC38457A--> <POSITION><![CDATA[21]]></POSITION>
+<!--D45692C2890144AFBB6F139CDC38457A-->
<ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--D45692C2890144AFBB6F139CDC38457A--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--D45692C2890144AFBB6F139CDC38457A-->
<VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--D45692C2890144AFBB6F139CDC38457A-->
<IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION>
+<!--D45692C2890144AFBB6F139CDC38457A-->
<ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
+<!--D45692C2890144AFBB6F139CDC38457A--></AD_COLUMN>
+
<!--D463F52ACB6611DD87FACF0742499ECD--><AD_COLUMN>
<!--D463F52ACB6611DD87FACF0742499ECD-->
<AD_COLUMN_ID><![CDATA[D463F52ACB6611DD87FACF0742499ECD]]></AD_COLUMN_ID>
<!--D463F52ACB6611DD87FACF0742499ECD-->
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r adca7213b9d7 -r a6b455bb80fc src-db/database/sourcedata/AD_ELEMENT.xml
--- a/src-db/database/sourcedata/AD_ELEMENT.xml Wed Dec 19 11:10:33 2012 +0100
+++ b/src-db/database/sourcedata/AD_ELEMENT.xml Thu Dec 20 13:27:34 2012 +0100
@@ -28159,6 +28159,20 @@
<!--9C8C523F49F4BD9DE040007F0100646F--> <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
<!--9C8C523F49F4BD9DE040007F0100646F--></AD_ELEMENT>
+<!--9C8C7BB9DEB84E3A9B8E4A1C3F200F99--><AD_ELEMENT>
+<!--9C8C7BB9DEB84E3A9B8E4A1C3F200F99-->
<AD_ELEMENT_ID><![CDATA[9C8C7BB9DEB84E3A9B8E4A1C3F200F99]]></AD_ELEMENT_ID>
+<!--9C8C7BB9DEB84E3A9B8E4A1C3F200F99-->
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--9C8C7BB9DEB84E3A9B8E4A1C3F200F99--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--9C8C7BB9DEB84E3A9B8E4A1C3F200F99--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--9C8C7BB9DEB84E3A9B8E4A1C3F200F99-->
<COLUMNNAME><![CDATA[Isrestrictbackend]]></COLUMNNAME>
+<!--9C8C7BB9DEB84E3A9B8E4A1C3F200F99--> <NAME><![CDATA[Restrict backend
access]]></NAME>
+<!--9C8C7BB9DEB84E3A9B8E4A1C3F200F99--> <PRINTNAME><![CDATA[Restrict backend
access]]></PRINTNAME>
+<!--9C8C7BB9DEB84E3A9B8E4A1C3F200F99--> <DESCRIPTION><![CDATA[If checked,
this role will not have access to the backend (ERP). It will however have
access to other applications (such as the WebPOS)]]></DESCRIPTION>
+<!--9C8C7BB9DEB84E3A9B8E4A1C3F200F99--> <HELP><![CDATA[If checked, this role
will not have access to the backend (ERP). It will however have access to other
applications (such as the WebPOS)]]></HELP>
+<!--9C8C7BB9DEB84E3A9B8E4A1C3F200F99-->
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--9C8C7BB9DEB84E3A9B8E4A1C3F200F99--> <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
+<!--9C8C7BB9DEB84E3A9B8E4A1C3F200F99--></AD_ELEMENT>
+
<!--9D15D8B5B341423585BC661594C01822--><AD_ELEMENT>
<!--9D15D8B5B341423585BC661594C01822-->
<AD_ELEMENT_ID><![CDATA[9D15D8B5B341423585BC661594C01822]]></AD_ELEMENT_ID>
<!--9D15D8B5B341423585BC661594C01822-->
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r adca7213b9d7 -r a6b455bb80fc src-db/database/sourcedata/AD_FIELD.xml
--- a/src-db/database/sourcedata/AD_FIELD.xml Wed Dec 19 11:10:33 2012 +0100
+++ b/src-db/database/sourcedata/AD_FIELD.xml Thu Dec 20 13:27:34 2012 +0100
@@ -189725,6 +189725,35 @@
<!--4B09CBC5D0D54D36A585EA8F863D9CF1-->
<EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
<!--4B09CBC5D0D54D36A585EA8F863D9CF1--></AD_FIELD>
+<!--4B110273A12A48FD8E4952044C628050--><AD_FIELD>
+<!--4B110273A12A48FD8E4952044C628050-->
<AD_FIELD_ID><![CDATA[4B110273A12A48FD8E4952044C628050]]></AD_FIELD_ID>
+<!--4B110273A12A48FD8E4952044C628050-->
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--4B110273A12A48FD8E4952044C628050--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--4B110273A12A48FD8E4952044C628050--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--4B110273A12A48FD8E4952044C628050--> <NAME><![CDATA[Restrict backend
access]]></NAME>
+<!--4B110273A12A48FD8E4952044C628050--> <DESCRIPTION><![CDATA[If checked,
this role will not have access to the backend (ERP). It will however have
access to other applications (such as the WebPOS)]]></DESCRIPTION>
+<!--4B110273A12A48FD8E4952044C628050--> <HELP><![CDATA[If checked, this role
will not have access to the backend (ERP). It will however have access to other
applications (such as the WebPOS)]]></HELP>
+<!--4B110273A12A48FD8E4952044C628050-->
<ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--4B110273A12A48FD8E4952044C628050--> <AD_TAB_ID><![CDATA[119]]></AD_TAB_ID>
+<!--4B110273A12A48FD8E4952044C628050-->
<AD_COLUMN_ID><![CDATA[D45692C2890144AFBB6F139CDC38457A]]></AD_COLUMN_ID>
+<!--4B110273A12A48FD8E4952044C628050-->
<IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
+<!--4B110273A12A48FD8E4952044C628050-->
<ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--4B110273A12A48FD8E4952044C628050-->
<DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH>
+<!--4B110273A12A48FD8E4952044C628050--> <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--4B110273A12A48FD8E4952044C628050--> <SEQNO><![CDATA[110]]></SEQNO>
+<!--4B110273A12A48FD8E4952044C628050--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--4B110273A12A48FD8E4952044C628050-->
<ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--4B110273A12A48FD8E4952044C628050-->
<ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--4B110273A12A48FD8E4952044C628050-->
<SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION>
+<!--4B110273A12A48FD8E4952044C628050-->
<ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--4B110273A12A48FD8E4952044C628050-->
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--4B110273A12A48FD8E4952044C628050--> <GRID_SEQNO><![CDATA[0]]></GRID_SEQNO>
+<!--4B110273A12A48FD8E4952044C628050-->
<STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--4B110273A12A48FD8E4952044C628050-->
<STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--4B110273A12A48FD8E4952044C628050-->
<ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--4B110273A12A48FD8E4952044C628050-->
<EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
+<!--4B110273A12A48FD8E4952044C628050--></AD_FIELD>
+
<!--4B536D8ED0CB480BA1A0D5526FCE202F--><AD_FIELD>
<!--4B536D8ED0CB480BA1A0D5526FCE202F-->
<AD_FIELD_ID><![CDATA[4B536D8ED0CB480BA1A0D5526FCE202F]]></AD_FIELD_ID>
<!--4B536D8ED0CB480BA1A0D5526FCE202F-->
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r adca7213b9d7 -r a6b455bb80fc src-db/database/sourcedata/AD_MESSAGE.xml
--- a/src-db/database/sourcedata/AD_MESSAGE.xml Wed Dec 19 11:10:33 2012 +0100
+++ b/src-db/database/sourcedata/AD_MESSAGE.xml Thu Dec 20 13:27:34 2012 +0100
@@ -16742,6 +16742,17 @@
<!--4B01F0CD52ED45D78AD503199D5AB1C6-->
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
<!--4B01F0CD52ED45D78AD503199D5AB1C6--></AD_MESSAGE>
+<!--4C2EF2784FD449D3A09E71D41F7AD8E6--><AD_MESSAGE>
+<!--4C2EF2784FD449D3A09E71D41F7AD8E6-->
<AD_MESSAGE_ID><![CDATA[4C2EF2784FD449D3A09E71D41F7AD8E6]]></AD_MESSAGE_ID>
+<!--4C2EF2784FD449D3A09E71D41F7AD8E6-->
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--4C2EF2784FD449D3A09E71D41F7AD8E6--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--4C2EF2784FD449D3A09E71D41F7AD8E6--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--4C2EF2784FD449D3A09E71D41F7AD8E6-->
<VALUE><![CDATA[NON_RESTRICTED_ROLE_TITLE]]></VALUE>
+<!--4C2EF2784FD449D3A09E71D41F7AD8E6--> <MSGTEXT><![CDATA[All roles
restricted]]></MSGTEXT>
+<!--4C2EF2784FD449D3A09E71D41F7AD8E6--> <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--4C2EF2784FD449D3A09E71D41F7AD8E6-->
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--4C2EF2784FD449D3A09E71D41F7AD8E6--></AD_MESSAGE>
+
<!--4C38766399D14E4C96A65E71A5D85F06--><AD_MESSAGE>
<!--4C38766399D14E4C96A65E71A5D85F06-->
<AD_MESSAGE_ID><![CDATA[4C38766399D14E4C96A65E71A5D85F06]]></AD_MESSAGE_ID>
<!--4C38766399D14E4C96A65E71A5D85F06-->
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -22016,6 +22027,17 @@
<!--FE88E1D0FB204477983A77FE42C1297A-->
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
<!--FE88E1D0FB204477983A77FE42C1297A--></AD_MESSAGE>
+<!--FE92320A1F4D4569A3AF41C6F263E786--><AD_MESSAGE>
+<!--FE92320A1F4D4569A3AF41C6F263E786-->
<AD_MESSAGE_ID><![CDATA[FE92320A1F4D4569A3AF41C6F263E786]]></AD_MESSAGE_ID>
+<!--FE92320A1F4D4569A3AF41C6F263E786-->
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FE92320A1F4D4569A3AF41C6F263E786--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FE92320A1F4D4569A3AF41C6F263E786--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FE92320A1F4D4569A3AF41C6F263E786-->
<VALUE><![CDATA[NON_RESTRICTED_ROLE]]></VALUE>
+<!--FE92320A1F4D4569A3AF41C6F263E786--> <MSGTEXT><![CDATA[All roles for this
user have their access to the backend restricted]]></MSGTEXT>
+<!--FE92320A1F4D4569A3AF41C6F263E786--> <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FE92320A1F4D4569A3AF41C6F263E786-->
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--FE92320A1F4D4569A3AF41C6F263E786--></AD_MESSAGE>
+
<!--FEC463B86D204D7982180B6C134F1E8A--><AD_MESSAGE>
<!--FEC463B86D204D7982180B6C134F1E8A-->
<AD_MESSAGE_ID><![CDATA[FEC463B86D204D7982180B6C134F1E8A]]></AD_MESSAGE_ID>
<!--FEC463B86D204D7982180B6C134F1E8A-->
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r adca7213b9d7 -r a6b455bb80fc src-db/database/sourcedata/AD_REF_LIST.xml
--- a/src-db/database/sourcedata/AD_REF_LIST.xml Wed Dec 19 11:10:33
2012 +0100
+++ b/src-db/database/sourcedata/AD_REF_LIST.xml Thu Dec 20 13:27:34
2012 +0100
@@ -8496,6 +8496,18 @@
<!--26BD84560ADA416E8D00B7A07BAB2B23-->
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
<!--26BD84560ADA416E8D00B7A07BAB2B23--></AD_REF_LIST>
+<!--2726618D177C401C8D764380FD6DA765--><AD_REF_LIST>
+<!--2726618D177C401C8D764380FD6DA765-->
<AD_REF_LIST_ID><![CDATA[2726618D177C401C8D764380FD6DA765]]></AD_REF_LIST_ID>
+<!--2726618D177C401C8D764380FD6DA765-->
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--2726618D177C401C8D764380FD6DA765--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--2726618D177C401C8D764380FD6DA765--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--2726618D177C401C8D764380FD6DA765--> <VALUE><![CDATA[RESTR]]></VALUE>
+<!--2726618D177C401C8D764380FD6DA765--> <NAME><![CDATA[All available roles
restricted]]></NAME>
+<!--2726618D177C401C8D764380FD6DA765--> <DESCRIPTION><![CDATA[User doesn't
have non-restricted roles]]></DESCRIPTION>
+<!--2726618D177C401C8D764380FD6DA765-->
<AD_REFERENCE_ID><![CDATA[86086D70DDBC42B09E2BEB51D25C159F]]></AD_REFERENCE_ID>
+<!--2726618D177C401C8D764380FD6DA765-->
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--2726618D177C401C8D764380FD6DA765--></AD_REF_LIST>
+
<!--28F1C8DD5F5746C5928626525EC81BB2--><AD_REF_LIST>
<!--28F1C8DD5F5746C5928626525EC81BB2-->
<AD_REF_LIST_ID><![CDATA[28F1C8DD5F5746C5928626525EC81BB2]]></AD_REF_LIST_ID>
<!--28F1C8DD5F5746C5928626525EC81BB2-->
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r adca7213b9d7 -r a6b455bb80fc
src/org/openbravo/base/secureApp/DefaultOptions_data.xsql
--- a/src/org/openbravo/base/secureApp/DefaultOptions_data.xsql Wed Dec 19
11:10:33 2012 +0100
+++ b/src/org/openbravo/base/secureApp/DefaultOptions_data.xsql Thu Dec 20
13:27:34 2012 +0100
@@ -37,7 +37,7 @@
INNER JOIN AD_ROLE role ON users.DEFAULT_AD_ROLE_ID =
role.AD_ROLE_ID
WHERE users.AD_USER_ID = ?
AND NOT users.DEFAULT_AD_ROLE_ID IS NULL
- AND role.ISACTIVE = 'Y'
+ AND role.ISACTIVE = 'Y' and role.isrestrictbackend='N'
]]></Sql>
<Parameter name="aduserid"/>
</SqlMethod>
@@ -127,7 +127,7 @@
INNER JOIN AD_ROLE role
ON userRoles.AD_ROLE_ID = role.AD_ROLE_ID
WHERE userRoles.AD_USER_ID = ?
- AND role.ISACTIVE = 'Y'
+ AND role.ISACTIVE = 'Y' and role.isrestrictbackend='N'
]]></Sql>
<Parameter name="aduserid"/>
</SqlMethod>
diff -r adca7213b9d7 -r a6b455bb80fc
src/org/openbravo/base/secureApp/LoginHandler.java
--- a/src/org/openbravo/base/secureApp/LoginHandler.java Wed Dec 19
11:10:33 2012 +0100
+++ b/src/org/openbravo/base/secureApp/LoginHandler.java Thu Dec 20
13:27:34 2012 +0100
@@ -33,6 +33,8 @@
import org.openbravo.erpCommon.utility.OBVersion;
import org.openbravo.erpCommon.utility.Utility;
import org.openbravo.model.ad.access.Session;
+import org.openbravo.model.ad.access.User;
+import org.openbravo.model.ad.access.UserRoles;
import org.openbravo.model.ad.module.Module;
import org.openbravo.model.ad.system.Client;
import org.openbravo.model.ad.system.SystemInformation;
@@ -63,7 +65,7 @@
final VariablesSecureApp vars = new VariablesSecureApp(req);
// Empty session
- vars.removeSessionValue("#Authenticated_user");
+ req.getSession().removeAttribute("#Authenticated_user");
vars.removeSessionValue("#AD_Role_ID");
vars.setSessionObject("#loggingIn", "Y");
@@ -228,6 +230,21 @@
break;
}
+ boolean hasNonRestrictedRole = false;
+ User user = OBDal.getInstance().get(User.class, strUserAuth);
+ for (UserRoles userrole : user.getADUserRolesList()) {
+ if (!userrole.getRole().isRestrictbackend()) {
+ hasNonRestrictedRole = true;
+ }
+ }
+ if (!hasNonRestrictedRole) {
+ String msg = Utility.messageBD(myPool, "NON_RESTRICTED_ROLE",
vars.getLanguage());
+ String title = Utility.messageBD(myPool, "NON_RESTRICTED_ROLE_TITLE",
vars.getLanguage());
+ updateDBSession(sessionId, false, "RESTR");
+ goToRetry(res, vars, msg, title, "Error", action, doRedirect);
+ return;
+ }
+
// Build checks
SystemInformation sysInfo =
OBDal.getInstance().get(SystemInformation.class, "0");
if (sysInfo.getSystemStatus() == null ||
sysInfo.getSystemStatus().equals("RB70")
------------------------------------------------------------------------------
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits