* Added RES security

* Password check in root redefine password configuration wizard

bzr revid: jean-baptiste.aubort@camptocamp.com-20080724161944-4phjz9rnycafs0ei
This commit is contained in:
Jean-Baptiste Aubort
2008-07-24 18:19:44 +02:00
parent 0ca877cf3c
commit c7ec22cce1
4 changed files with 119 additions and 62 deletions
+2 -1
View File
@@ -35,8 +35,9 @@
"depends" : [],
"init_xml" : [
"base_data.xml",
"base_security.xml",
"base_menu.xml",
"base_security.xml",
"res/res_security.xml",
],
"demo_xml" : [
"base_demo.xml",
+5 -53
View File
@@ -25,6 +25,8 @@
<separator col="4" colspan="4" string="Set password to the root user"/>
<newline/>
<field name="password"/>
<newline/>
<field name="password_check"/>
<group col="4" colspan="4">
<button icon="gtk-cancel" name="action_cancel" type="object" string="Cancel" special="cancel"/>
<button icon="gtk-ok" name="action_update_pw" type="object" string="Update"/>
@@ -79,57 +81,11 @@
<!--
Objects Groups
-->
<!-- No XML-ID's -->
<!--<record model="ir.model" id="base.model_ir_model">-->
<!-- <field name="model" model="ir.model" search="[('model', '=', 'ir.actions.act_window')]"/>-->
<!-- <field name="type">system</field>-->
<!--</record>-->
<!--<record model="ir.model" id="base.model_ir_model_custom">-->
<!-- <field name="type">system</field>-->
<!--</record>-->
<!--<record model="ir.model" id="base.model_ir_model_custom_fields">-->
<!-- <field name="type">system</field>-->
<!--</record>-->
<!--<record model="ir.model" id="base.model_ir_module_module_configuration">-->
<!-- <field name="type">system</field>-->
<!--</record>-->
<!-- Base -->
<record model="ir.model" id="base.model_res_bank">
<field name="type">base</field>
</record>
<record model="ir.model" id="base.model_res_payterm">
<field name="type">base</field>
</record>
<record model="ir.model" id="base.model_res_currency">
<field name="type">base</field>
</record>
<record model="ir.model" id="base.model_res_currency_rate">
<field name="type">base</field>
</record>
<record model="ir.model" id="base.model_res_company">
<field name="type">base</field>
</record>
<record model="ir.model" id="base.model_res_groups">
<field name="type">base</field>
</record>
<record model="ir.model" id="base.model_res_roles">
<field name="type">base</field>
</record>
<!-- System -->
<record model="ir.model" id="base.model_ir_actions">
<field name="type">system</field>
</record>
<!--<record model="ir.model" id=".model_ir_actions">-->
<!-- <field name="type">system</field>-->
<!--</record>-->
<record model="ir.model" id="base.model_ir_act_report_custom">
<field name="type">system</field>
@@ -171,10 +127,6 @@
<field name="type">system</field>
</record>
<record model="ir.model" id="base.model_res_users">
<field name="type">system</field>
</record>
<record model="ir.model" id="base.model_ir_report_custom">
<field name="type">system</field>
</record>
+12 -8
View File
@@ -518,6 +518,7 @@ class ir_model_config(osv.osv):
_name = 'ir.model.config'
_columns = {
'password': fields.char('Password', size=64, invisible=True),
'password_check': fields.char(' confirmation', size=64, invisible=True),
}
def action_cancel(self, cr, uid, ids, context={}):
@@ -533,12 +534,15 @@ class ir_model_config(osv.osv):
res = self.read(cr,uid,ids)[0]
root = self.pool.get('res.users').browse(cr, uid, [1])[0]
self.unlink(cr, uid, [res['id']])
self.pool.get('res.users').write(cr, uid, [root.id], {'password':res['password']})
return {
'view_type': 'form',
"view_mode": 'form',
'res_model': 'ir.module.module.configuration.wizard',
'type': 'ir.actions.act_window',
'target':'new',
}
if res['password']==res['password_check']:
self.pool.get('res.users').write(cr, uid, [root.id], {'password':res['password']})
return {
'view_type': 'form',
"view_mode": 'form',
'res_model': 'ir.module.module.configuration.wizard',
'type': 'ir.actions.act_window',
'target':'new',
}
else:
raise except_orm(_('Error'), _("Password mismatch !"))
ir_model_config()
+100
View File
@@ -0,0 +1,100 @@
<?xml version="1.0"?>
<terp>
<data noupdate="1">
<!--
Users
-->
<!--
Users Groups
-->
<!--
Objects Groups
-->
<!-- System -->
<record model="ir.model" id="base.model_res_users">
<field name="type">system</field>
</record>
<record model="ir.model" id="base.model_res_groups">
<field name="type">system</field>
</record>
<record model="ir.model" id="base.model_res_roles">
<field name="type">system</field>
</record>
<!-- Base -->
<record model="ir.model" id="base.model_res_bank">
<field name="type">base</field>
</record>
<record model="ir.model" id="base.model_res_payterm">
<field name="type">base</field>
</record>
<record model="ir.model" id="base.model_res_currency">
<field name="type">base</field>
</record>
<record model="ir.model" id="base.model_res_currency_rate">
<field name="type">base</field>
</record>
<record model="ir.model" id="base.model_res_company">
<field name="type">base</field>
</record>
<record model="ir.model" id="base.model_res_partner">
<field name="type">base</field>
</record>
<record model="ir.model" id="base.model_res_partner">
<field name="type">base</field>
</record>
<record model="ir.model" id="base.model_res_partner_function">
<field name="type">base</field>
</record>
<record model="ir.model" id="base.model_res_partner_title">
<field name="type">base</field>
</record>
<record model="ir.model" id="base.model_res_partner_bank">
<field name="type">base</field>
</record>
<record model="ir.model" id="base.model_res_partner_bank_type">
<field name="type">base</field>
</record>
<record model="ir.model" id="base.model_res_partner_bank_type_field">
<field name="type">base</field>
</record>
<record model="ir.model" id="base.model_res_partner_som">
<field name="type">base</field>
</record>
<record model="ir.model" id="base.model_res_partner_event">
<field name="type">base</field>
</record>
<record model="ir.model" id="base.model_res_partner_event_type">
<field name="type">base</field>
</record>
<record model="ir.model" id="base.model_res_partner_category">
<field name="type">base</field>
</record>
<!--
Access
-->
</data>
</terp>