[FIX] all: remove external ids fakely from base

Several modules defines records with the external ID `base.foo_bar` while it is
created inside this module (typically menus and groups).
While there is no technical reasons to do so but this may introduce issues:

- these records will not be deleted during uninstall
- if a language is loaded before the installation of the module, it won't be
  translated

The uninstallation will only remove the records with an external id linked to
this module (these would only be removed when removing base).

Installing a language before the module will drop the translations not linked
to an existing external id (as it can not be resolved).

This commit correct all the external ids tagged as from base or other incorrect
modules.
This commit is contained in:
Martin Trigaux
2016-09-02 16:14:26 +02:00
parent e5f05074f8
commit 11812b0b9e
151 changed files with 595 additions and 622 deletions
+1 -1
View File
@@ -24,7 +24,7 @@
<menuitem id="account_reports_business_intelligence_menu" name="Business Intelligence" parent="account.menu_finance_reports" sequence="5" groups="group_account_invoice"/>
<menuitem id="base.menu_action_currency_form" name="Currencies" parent="menu_config_multi_currency" sequence="20" groups="base.group_no_one"/>
<menuitem id="menu_action_currency_form" name="Currencies" parent="menu_config_multi_currency" sequence="20" groups="base.group_no_one"/>
<menuitem id="menu_finance_legal_statement" name="PDF Reports" parent="account.menu_finance_reports" groups="group_account_user"/>
@@ -2,8 +2,8 @@
<odoo>
<!-- Top menu item -->
<menuitem name="Members"
id="base.menu_association"
id="membership.menu_association"
groups="account.group_account_user"
sequence="15"/>
<menuitem name="Configuration" id="base.menu_event_config" parent="base.menu_association" sequence="100"/>
<menuitem name="Configuration" id="menu_event_config" parent="membership.menu_association" sequence="100"/>
</odoo>
+1 -1
View File
@@ -163,7 +163,7 @@
</record>
<menuitem
id="base.menu_config"
id="menu_config"
name="General Settings"
parent="base.menu_administration"
sequence="1"
@@ -61,7 +61,7 @@
id="crm_activity_report_menu"
name="Activities"
groups="sales_team.group_sale_manager"
parent="base.menu_sale_report"
parent="sales_team.menu_sale_report"
action="crm_activity_report_action"
sequence="7"/>
@@ -164,7 +164,7 @@ mainly used by the sales manager in order to do the periodic review with the
teams of the sales pipeline.</field>
</record>
<menuitem id="crm_opportunity_report_menu" name="Pipeline"
parent="base.menu_sale_report" action="crm_opportunity_report_action" sequence="5"/>
parent="sales_team.menu_sale_report" action="crm_opportunity_report_action" sequence="5"/>
<record id="crm_opportunity_report_action_graph" model="ir.actions.act_window">
<field name="name">Pipeline Analysis</field>
@@ -200,7 +200,7 @@ with the the sales teams.</field>
<menuitem
id="crm_opportunity_report_menu_lead"
name="Leads"
parent="base.menu_sale_report"
parent="sales_team.menu_sale_report"
action="crm_opportunity_report_action_lead"
groups="crm.group_use_lead"
sequence="6"/>
+1 -1
View File
@@ -2,7 +2,7 @@
<odoo>
<menuitem
id="base.menu_import_crm"
id="menu_import_crm"
name="Import &amp; Synchronize"
parent="sales_team.menu_base_partner"/>
+1 -1
View File
@@ -63,5 +63,5 @@
id="crm_activity_menu"
name="Activities"
action="crm_activity_action"
parent="sales_team.menu_crm_config_lead"/>
parent="menu_crm_config_lead"/>
</odoo>
+2 -2
View File
@@ -874,7 +874,7 @@
id="menu_crm_lead_categ"
name="Lead Tags"
action="crm_lead_tag_action"
parent="sales_team.menu_crm_config_lead"
parent="menu_crm_config_lead"
sequence="1"
groups="base.group_no_one"/>
@@ -898,7 +898,7 @@
<menuitem
id="menu_crm_lost_reason"
action="crm_lost_reason_action"
parent="sales_team.menu_crm_config_lead"
parent="menu_crm_config_lead"
sequence="6"
groups="base.group_no_one"/>
+1 -1
View File
@@ -70,7 +70,7 @@
name="Stages"
sequence="0"
action="crm_stage_action"
parent="sales_team.menu_crm_config_lead"
parent="menu_crm_config_lead"
groups="base.group_no_one"/>
</odoo>
+2 -9
View File
@@ -14,26 +14,19 @@
sequence="6"/>
<menuitem
id="sales_team.menu_crm_config_lead"
id="menu_crm_config_lead"
name="Leads &amp; Opportunities"
parent="sales_team.menu_sale_config"
sequence="5"
groups="sales_team.group_sale_manager"/>
<menuitem
id="sales_team.menu_crm_config_opportunity"
id="menu_crm_config_opportunity"
name="Opportunities"
parent="sales_team.menu_sale_config"
sequence="1"
groups="sales_team.group_sale_manager"/>
<menuitem
id="sales_team.menu_sale_config_sales"
name="Sales"
parent="sales_team.menu_sale_config"
sequence="0"
groups="sales_team.group_sale_manager"/>
<!-- Make the xmlid of menus required by the CRM tour available in webclient -->
<record id="sales_team.menu_base_partner" model="ir.ui.menu">
<field name="load_xmlid" eval="True"/>
-15
View File
@@ -46,19 +46,4 @@
</field>
</record>
<menuitem
id="sales_team.menu_sale_config"
name="Configuration"
parent="sales_team.menu_base_partner"
sequence="100"
groups="sales_team.group_sale_manager"/>
<menuitem
id="sales_team.menu_sale_general_settings"
name="Settings"
parent="sales_team.menu_sale_config"
sequence="0"
action="sales_team.action_sale_config"
groups="base.group_system"/>
</odoo>
+5 -5
View File
@@ -5,30 +5,30 @@
<field name="comment">the user will be able to manage his own human resources stuff (leave request, timesheets, ...), if he is linked to an employee in the system.</field>
</record>
<record id="base.group_hr_user" model="res.groups">
<record id="group_hr_user" model="res.groups">
<field name="name">Officer</field>
<field name="category_id" ref="base.module_category_human_resources"/>
<field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
<field name="comment">the user will be able to approve document created by employees.</field>
</record>
<record id="base.group_hr_manager" model="res.groups">
<record id="group_hr_manager" model="res.groups">
<field name="name">Manager</field>
<field name="comment">the user will have an access to the human resources configuration as well as statistic reports.</field>
<field name="category_id" ref="base.module_category_human_resources"/>
<field name="implied_ids" eval="[(4, ref('base.group_hr_user'))]"/>
<field name="implied_ids" eval="[(4, ref('group_hr_user'))]"/>
<field name="users" eval="[(4, ref('base.user_root'))]"/>
</record>
<record id="base.group_hr_attendance" model="res.groups">
<record id="group_hr_attendance" model="res.groups">
<field name="name">Attendances</field>
<field name="category_id" ref="base.module_category_hidden"/>
</record>
<data noupdate="1">
<record id="base.default_user" model="res.users">
<field name="groups_id" eval="[(4,ref('base.group_hr_manager'))]"/>
<field name="groups_id" eval="[(4,ref('group_hr_manager'))]"/>
</record>
<record id="hr_dept_comp_rule" model="ir.rule">
+6 -6
View File
@@ -1,10 +1,10 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_hr_employee_category_user,hr.employee.category.user,model_hr_employee_category,base.group_hr_user,1,1,1,1
access_hr_employee_category_user,hr.employee.category.user,model_hr_employee_category,group_hr_user,1,1,1,1
access_hr_employee_category_emp,hr.employee.category.emp,model_hr_employee_category,base.group_user,1,0,0,0
access_hr_employee_user,hr.employee user,model_hr_employee,base.group_hr_user,1,1,1,1
access_hr_employee_user,hr.employee user,model_hr_employee,group_hr_user,1,1,1,1
access_hr_employee_system_user,hr.employee system user,model_hr_employee,base.group_user,1,0,0,0
access_hr_employee_resource_user,resource.resource.user,resource.model_resource_resource,base.group_hr_user,1,1,1,1
access_hr_department_user,hr.department.user,model_hr_department,base.group_hr_user,1,1,1,1
access_hr_employee_resource_user,resource.resource.user,resource.model_resource_resource,group_hr_user,1,1,1,1
access_hr_department_user,hr.department.user,model_hr_department,group_hr_user,1,1,1,1
access_hr_department_employee,hr.department.employee,model_hr_department,base.group_user,1,0,0,0
access_hr_job_user,hr.job user,model_hr_job,base.group_hr_user,1,1,1,1
access_ir_property_hr_user,ir_property hr_user,base.model_ir_property,base.group_hr_user,1,1,1,0
access_hr_job_user,hr.job user,model_hr_job,group_hr_user,1,1,1,1
access_ir_property_hr_user,ir_property hr_user,base.model_ir_property,group_hr_user,1,1,1,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_hr_employee_category_user hr.employee.category.user model_hr_employee_category base.group_hr_user group_hr_user 1 1 1 1
3 access_hr_employee_category_emp hr.employee.category.emp model_hr_employee_category base.group_user 1 0 0 0
4 access_hr_employee_user hr.employee user model_hr_employee base.group_hr_user group_hr_user 1 1 1 1
5 access_hr_employee_system_user hr.employee system user model_hr_employee base.group_user 1 0 0 0
6 access_hr_employee_resource_user resource.resource.user resource.model_resource_resource base.group_hr_user group_hr_user 1 1 1 1
7 access_hr_department_user hr.department.user model_hr_department base.group_hr_user group_hr_user 1 1 1 1
8 access_hr_department_employee hr.department.employee model_hr_department base.group_user 1 0 0 0
9 access_hr_job_user hr.job user model_hr_job base.group_hr_user group_hr_user 1 1 1 1
10 access_ir_property_hr_user ir_property hr_user base.model_ir_property base.group_hr_user group_hr_user 1 1 1 0
+2 -2
View File
@@ -11,8 +11,8 @@ class TestHrCommon(common.TransactionCase):
self.Users = self.env['res.users']
self.group_hr_manager_id = self.ref('base.group_hr_manager')
self.group_hr_user_id = self.ref('base.group_hr_user')
self.group_hr_manager_id = self.ref('hr.group_hr_manager')
self.group_hr_user_id = self.ref('hr.group_hr_user')
self.group_user_id = self.ref('base.group_user')
# Will be used in various test cases of test_hr_flow
+11 -11
View File
@@ -6,7 +6,7 @@
<menuitem
id="menu_hr_root"
name="Employees"
groups="base.group_hr_manager,base.group_hr_user,base.group_user"
groups="group_hr_manager,group_hr_user,base.group_user"
web_icon="hr,static/description/icon.png"
sequence="75"/>
@@ -20,14 +20,14 @@
id="menu_hr_reporting_timesheet"
name="Reports"
parent="menu_hr_root"
groups="base.group_hr_manager,base.group_hr_user"
groups="group_hr_manager,group_hr_user"
sequence="99"/>
<menuitem
id="menu_human_resources_configuration"
name="Configuration"
parent="menu_hr_root"
groups="base.group_hr_manager"
groups="group_hr_manager"
sequence="100"/>
<!-- Employee -->
@@ -37,7 +37,7 @@
<field name="arch" type="xml">
<form string="Employee">
<sheet>
<div class="oe_button_box" name="button_box" groups="base.group_hr_user">
<div class="oe_button_box" name="button_box" groups="hr.group_hr_user">
<button name="toggle_active" type="object"
class="oe_stat_button" icon="fa-archive">
<field name="active" widget="boolean_button"
@@ -51,7 +51,7 @@
<field name="name" placeholder="Employee's Name"/>
</h1>
</div>
<field name="category_ids" widget="many2many_tags" placeholder="e.g. Part Time" options="{'no_create_edit': True}" groups="base.group_hr_user"/>
<field name="category_ids" widget="many2many_tags" placeholder="e.g. Part Time" options="{'no_create_edit': True}" groups="hr.group_hr_user"/>
<notebook>
<page name="public" string="Public Information">
<group>
@@ -74,12 +74,12 @@
</group>
<field name="notes" placeholder="Other Information ..." colspan="4"/>
</page>
<page string="Personal Information" groups="base.group_hr_user">
<page string="Personal Information" groups="hr.group_hr_user">
<group>
<group string="Citizenship &amp; Other Information">
<field name="country_id" options='{"no_open": True, "no_create": True}'/>
<field name="identification_id" groups="base.group_hr_user"/>
<field name="passport_id" groups="base.group_hr_user"/>
<field name="identification_id" groups="hr.group_hr_user"/>
<field name="passport_id" groups="hr.group_hr_user"/>
<field name="bank_account_id"/>
</group>
<group string="Contact Information">
@@ -96,7 +96,7 @@
</group>
</group>
</page>
<page string="HR Settings" groups="base.group_hr_user">
<page string="HR Settings" groups="hr.group_hr_user">
<group>
<group string='Status' name="active_group">
<field name="company_id" groups="base.group_multi_company"/>
@@ -139,7 +139,7 @@
<search string="Employees">
<field name="name" string="Employees" filter_domain="['|',('work_email','ilike',self),('name','ilike',self)]"/>
<field name="department_id"/>
<field name="category_ids" groups="base.group_hr_user"/>
<field name="category_ids" groups="hr.group_hr_user"/>
<field name="job_id" />
<filter string="Unread Messages" name="message_needaction" domain="[('message_needaction','=',True)]"/>
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
@@ -586,7 +586,7 @@
id="menu_hr_department_tree"
parent="menu_hr_root"
sequence="90"
groups="base.group_hr_user"/>
groups="group_hr_user"/>
</data>
</odoo>
+4 -4
View File
@@ -20,8 +20,8 @@ class HrEmployee(models.Model):
barcode = "".join(choice(digits) for i in range(8))
return barcode
barcode = fields.Char(string="Badge ID", help="ID used for employee identification.", default=_default_random_barcode, copy=False, groups='base.group_hr_user')
pin = fields.Char(string="PIN", default=_default_random_pin, help="PIN used for Check In/Out in Attendance.", copy=False, groups='base.group_hr_user')
barcode = fields.Char(string="Badge ID", help="ID used for employee identification.", default=_default_random_barcode, copy=False, groups='hr.group_hr_user')
pin = fields.Char(string="PIN", default=_default_random_pin, help="PIN used for Check In/Out in Attendance.", copy=False, groups='hr.group_hr_user')
attendance_ids = fields.One2many('hr.attendance', 'employee_id', help='list of attendances for the employee')
last_attendance_id = fields.Many2one('hr.attendance', compute='_compute_last_attendance_id')
@@ -34,7 +34,7 @@ class HrEmployee(models.Model):
@api.multi
def _compute_manual_attendance(self):
for employee in self:
employee.manual_attendance = employee.user_id.has_group('base.group_hr_attendance') if employee.user_id else False
employee.manual_attendance = employee.user_id.has_group('hr.group_hr_attendance') if employee.user_id else False
@api.multi
def _inverse_manual_attendance(self):
@@ -76,7 +76,7 @@ class HrEmployee(models.Model):
@api.multi
def attendance_manual(self, next_action, entered_pin=None):
self.ensure_one()
if self.env['res.users'].browse(SUPERUSER_ID).has_group('base.group_hr_attendance_use_pin') and (self.user_id and self.user_id.id != self._uid or not self.user_id):
if self.env['res.users'].browse(SUPERUSER_ID).has_group('hr_attenance.group_hr_attendance_use_pin') and (self.user_id and self.user_id.id != self._uid or not self.user_id):
if entered_pin != self.pin:
return {'warning': _('Wrong PIN')}
return self.attendance_action(next_action)
+1 -1
View File
@@ -9,4 +9,4 @@ class BaseConfigSettings(models.TransientModel):
group_attendance_use_pin = fields.Selection([(0, 'Employees do not need to enter their PIN to check in manually in the "Company Screen".'),
(1, 'Employees must enter their PIN to check in manually in the "Company Screen".')],
string='Employee PIN', help='Enable or disable employee PIN identification at check in', implied_group="base.group_hr_attendance_use_pin")
string='Employee PIN', help='Enable or disable employee PIN identification at check in', implied_group="hr_attenance.group_hr_attendance_use_pin")
@@ -1,20 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="base.group_hr_manager" model="res.groups">
<field name="implied_ids" eval="[(4, ref('base.group_hr_attendance'))]"/>
<record id="hr.group_hr_manager" model="res.groups">
<field name="implied_ids" eval="[(4, ref('hr.group_hr_attendance'))]"/>
</record>
<record id="base.group_hr_user" model="res.groups">
<field name="implied_ids" eval="[(4, ref('base.group_hr_attendance'))]"/>
<record id="hr.group_hr_user" model="res.groups">
<field name="implied_ids" eval="[(4, ref('hr.group_hr_attendance'))]"/>
</record>
<record id="base.group_hr_attendance" model="res.groups">
<record id="hr.group_hr_attendance" model="res.groups">
<field name="name">Manual Attendances</field>
<field name="comment">The user will gain access to the human resources attendance menu, enabling him to manage his own attendance.</field>
</record>
<record id="base.group_hr_attendance_use_pin" model="res.groups">
<record id="group_hr_attendance_use_pin" model="res.groups">
<field name="name">Enable PIN use</field>
<field name="category_id" ref="base.module_category_hidden"/>
<field name="comment">The user will have to enter his PIN to check in and out manually at the company screen.</field>
@@ -26,7 +26,7 @@
<field name="name">attendance officer: full access</field>
<field name="model_id" ref="model_hr_attendance"/>
<field name="domain_force">[(1,'=',1)]</field>
<field name="groups" eval="[(4,ref('base.group_hr_user'))]"/>
<field name="groups" eval="[(4,ref('hr.group_hr_user'))]"/>
</record>
<record id="hr_attendance_rule_attendance_employee" model="ir.rule">
@@ -1,3 +1,3 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_hr_attendance_user,hr.attendance.user,model_hr_attendance,base.group_hr_user,1,1,1,1
access_hr_attendance_user,hr.attendance.user,model_hr_attendance,hr.group_hr_user,1,1,1,1
access_hr_attendance_system_user,hr.attendance.system.user,model_hr_attendance,base.group_user,1,1,1,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_hr_attendance_user hr.attendance.user model_hr_attendance base.group_hr_user hr.group_hr_user 1 1 1 1
3 access_hr_attendance_system_user hr.attendance.system.user model_hr_attendance base.group_user 1 1 1 0
@@ -64,7 +64,7 @@ var MainMenuConfirm = Widget.extend({
start: function () {
var self = this;
self.session.user_has_group('base.group_hr_attendance_use_pin').then(function(has_group){
self.session.user_has_group('hr_attenance.group_hr_attendance_use_pin').then(function(has_group){
self.use_pin = has_group;
self.$el.html(QWeb.render("HrAttendanceMainMenuConfirm", {widget: self}));
self.start_clock();
@@ -20,7 +20,7 @@ var Message = Widget.extend({
var self = this;
var default_action = { type: "ir.actions.client", name: 'Attendances', tag: 'hr_attendance_my_main_menu', params: {} };
if(!action.attendance){
self.session.user_has_group('base.group_hr_user').then(function(has_group){
self.session.user_has_group('hr.group_hr_user').then(function(has_group){
if(has_group){
self.next_action = { type: "ir.actions.client", name: 'Attendances', tag: 'hr_attendance_main_menu', target: 'fullscreen', params: {} };
}
@@ -128,17 +128,17 @@
<!-- Menus -->
<menuitem id="menu_hr_attendance_root" name="Attendances" sequence="90" groups="base.group_hr_attendance" web_icon="hr_attendance,static/description/icon.png"/>
<menuitem id="menu_hr_attendance_root" name="Attendances" sequence="90" groups="hr.group_hr_attendance" web_icon="hr_attendance,static/description/icon.png"/>
<menuitem id="menu_hr_attendance_my_attendances" name="My Attendances" parent="menu_hr_attendance_root" sequence="10" groups="base.group_hr_attendance" action="hr_attendance_action_my_main_menu"/>
<menuitem id="menu_hr_attendance_my_attendances" name="My Attendances" parent="menu_hr_attendance_root" sequence="10" groups="hr.group_hr_attendance" action="hr_attendance_action_my_main_menu"/>
<menuitem id="menu_hr_attendance_manage_attendances" name="Manage Attendances" parent="menu_hr_attendance_root" sequence="20" groups="base.group_hr_user"/>
<menuitem id="menu_hr_attendance_manage_attendances" name="Manage Attendances" parent="menu_hr_attendance_root" sequence="20" groups="hr.group_hr_user"/>
<menuitem id="menu_hr_attendance_view_attendances" name="Attendances" parent="menu_hr_attendance_manage_attendances" sequence="10" groups="base.group_hr_user" action="hr_attendance_action"/>
<menuitem id="menu_hr_attendance_view_attendances" name="Attendances" parent="menu_hr_attendance_manage_attendances" sequence="10" groups="hr.group_hr_user" action="hr_attendance_action"/>
<menuitem id="menu_hr_attendance_view_employees_kanban" name="Employees" parent="menu_hr_attendance_manage_attendances" sequence="15" groups="base.group_hr_user" action="hr.open_view_employee_list_my"/>
<menuitem id="menu_hr_attendance_view_employees_kanban" name="Employees" parent="menu_hr_attendance_manage_attendances" sequence="15" groups="hr.group_hr_user" action="hr.open_view_employee_list_my"/>
<menuitem id="menu_hr_attendance_Kiosk_mode" name="Kiosk Mode" parent="menu_hr_attendance_manage_attendances" sequence="20" groups="base.group_hr_user" action="hr_attendance_action_main_menu"/>
<menuitem id="menu_hr_attendance_Kiosk_mode" name="Kiosk Mode" parent="menu_hr_attendance_manage_attendances" sequence="20" groups="hr.group_hr_user" action="hr_attendance_action_main_menu"/>
<menuitem id="menu_hr_attendance_report" name="Reports" parent="menu_hr_attendance_root" sequence="30" groups="base.group_hr_user" action="hr_attendance_action_graph"/>
<menuitem id="menu_hr_attendance_report" name="Reports" parent="menu_hr_attendance_root" sequence="30" groups="hr.group_hr_user" action="hr_attendance_action_graph"/>
</odoo>
@@ -13,9 +13,9 @@
</div>
</field>
<field name="user_id" position="after">
<field name="barcode" groups="base.group_hr_user"/>
<field name="pin" groups="base.group_hr_user,base.group_hr_attendance_use_pin"/>
<field name="manual_attendance" groups="base.group_hr_user"/>
<field name="barcode" groups="hr.group_hr_user"/>
<field name="pin" groups="hr.group_hr_user,hr_attendance.group_hr_attendance_use_pin"/>
<field name="manual_attendance" groups="hr.group_hr_user"/>
</field>
</field>
</record>
@@ -26,5 +26,5 @@
</record>
<menuitem id="hr_attendance.menu_hr_attendance_settings" name="Configuration" parent="menu_hr_attendance_root"
sequence="99" action="action_hr_attendance_settings" groups="base.group_hr_manager"/>
sequence="99" action="action_hr_attendance_settings" groups="hr.group_hr_manager"/>
</odoo>
@@ -1,6 +1,6 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_hr_resource_manager,hr.employee.resource.manager,resource.model_resource_resource,base.group_hr_manager,1,1,1,1
access_hr_resource_calendar_user,hr.employee.resource.calendar.user,resource.model_resource_calendar,base.group_hr_user,1,1,1,1
access_hr_resource_calendar_attendance_user,hr.employee.resource.calendar.attendance.user,resource.model_resource_calendar_attendance,base.group_hr_user,1,1,1,1
access_hr_contract_type_manager,hr.contract.type.manager,model_hr_contract_type,base.group_hr_manager,1,1,1,1
access_hr_contract_manager,hr.contract.manager,model_hr_contract,base.group_hr_manager,1,1,1,1
access_hr_resource_manager,hr.employee.resource.manager,resource.model_resource_resource,hr.group_hr_manager,1,1,1,1
access_hr_resource_calendar_user,hr.employee.resource.calendar.user,resource.model_resource_calendar,hr.group_hr_user,1,1,1,1
access_hr_resource_calendar_attendance_user,hr.employee.resource.calendar.attendance.user,resource.model_resource_calendar_attendance,hr.group_hr_user,1,1,1,1
access_hr_contract_type_manager,hr.contract.type.manager,model_hr_contract_type,hr.group_hr_manager,1,1,1,1
access_hr_contract_manager,hr.contract.manager,model_hr_contract,hr.group_hr_manager,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_hr_resource_manager hr.employee.resource.manager resource.model_resource_resource base.group_hr_manager hr.group_hr_manager 1 1 1 1
3 access_hr_resource_calendar_user hr.employee.resource.calendar.user resource.model_resource_calendar base.group_hr_user hr.group_hr_user 1 1 1 1
4 access_hr_resource_calendar_attendance_user hr.employee.resource.calendar.attendance.user resource.model_resource_calendar_attendance base.group_hr_user hr.group_hr_user 1 1 1 1
5 access_hr_contract_type_manager hr.contract.type.manager model_hr_contract_type base.group_hr_manager hr.group_hr_manager 1 1 1 1
6 access_hr_contract_manager hr.contract.manager model_hr_contract base.group_hr_manager hr.group_hr_manager 1 1 1 1
@@ -20,7 +20,7 @@
class="oe_stat_button"
icon="fa-book"
type="action"
groups="base.group_hr_manager">
groups="hr.group_hr_manager">
<field name="contracts_count" widget="statinfo" string="Contracts"/>
</button>
</xpath>
@@ -225,6 +225,6 @@
action="action_hr_contract"
parent="hr.menu_hr_root"
sequence="4"
groups="base.group_hr_manager"/>
groups="hr.group_hr_manager"/>
</odoo>
+2 -2
View File
@@ -6,7 +6,7 @@
<field name="address_home_id" ref="base.res_partner_address_3"/>
</record>
<record id="base.res_partner_address_fp" model="res.partner">
<record id="res_partner_address_fp" model="res.partner">
<field name="name">Pieter Parter's Farm</field>
<field name="parent_id" eval="ref('base.partner_root')"/>
<field name="supplier">1</field>
@@ -17,7 +17,7 @@
</record>
<record id="hr.employee_root" model="hr.employee">
<field name="address_home_id" ref="base.res_partner_address_fp"/>
<field name="address_home_id" ref="res_partner_address_fp"/>
</record>
<record id="car_travel" model="product.product">
+12 -12
View File
@@ -1,17 +1,17 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_hr_expense_user,hr.expense.user,model_hr_expense,base.group_hr_user,1,1,1,1
access_hr_expense_user,hr.expense.user,model_hr_expense,hr.group_hr_user,1,1,1,1
access_hr_expense_employee,hr.expense.employee,model_hr_expense,base.group_user,1,1,1,1
access_hr_expense_sheet_user,hr.expense.sheet.user,model_hr_expense_sheet,base.group_hr_user,1,1,1,1
access_hr_expense_sheet_user,hr.expense.sheet.user,model_hr_expense_sheet,hr.group_hr_user,1,1,1,1
access_hr_expense_sheet_employee,hr.expense.sheet.employee,model_hr_expense_sheet,base.group_user,1,1,1,1
access_product_product_hr_expense_user,product.product.hr.expense.user,product.model_product_product,base.group_hr_user,1,1,1,1
access_product_template_hr_expense_user,product.template.hr.expense.user,product.model_product_template,base.group_hr_user,1,1,1,1
access_product_uom_hr_expense_user,product.uom.hr.expense.user,product.model_product_uom,base.group_hr_user,1,1,1,1
access_account_journal_user,account.journal.user,account.model_account_journal,base.group_hr_user,1,1,1,1
access_product_product_hr_expense_user,product.product.hr.expense.user,product.model_product_product,hr.group_hr_user,1,1,1,1
access_product_template_hr_expense_user,product.template.hr.expense.user,product.model_product_template,hr.group_hr_user,1,1,1,1
access_product_uom_hr_expense_user,product.uom.hr.expense.user,product.model_product_uom,hr.group_hr_user,1,1,1,1
access_account_journal_user,account.journal.user,account.model_account_journal,hr.group_hr_user,1,1,1,1
access_account_journal_employee,account.journal.employee,account.model_account_journal,base.group_user,1,0,0,0
access_account_invoice_user,account.invoice.user,account.model_account_invoice,base.group_hr_user,1,1,1,1
access_account_invoice_line_user,account.invoice.line.user,account.model_account_invoice_line,base.group_hr_user,1,1,1,1
access_account_invoice_tax_user,account.invoice.tax.user,account.model_account_invoice_tax,base.group_hr_user,1,0,0,0
access_account_move_user,account.move.user,account.model_account_move,base.group_hr_user,1,0,0,0
access_account_move_line_user,account.move.line.user,account.model_account_move_line,base.group_hr_user,1,0,0,0
access_account_analytic_line_user,account.analytic.line.user,account.model_account_analytic_line,base.group_hr_user,1,1,1,1
access_account_invoice_user,account.invoice.user,account.model_account_invoice,hr.group_hr_user,1,1,1,1
access_account_invoice_line_user,account.invoice.line.user,account.model_account_invoice_line,hr.group_hr_user,1,1,1,1
access_account_invoice_tax_user,account.invoice.tax.user,account.model_account_invoice_tax,hr.group_hr_user,1,0,0,0
access_account_move_user,account.move.user,account.model_account_move,hr.group_hr_user,1,0,0,0
access_account_move_line_user,account.move.line.user,account.model_account_move_line,hr.group_hr_user,1,0,0,0
access_account_analytic_line_user,account.analytic.line.user,account.model_account_analytic_line,hr.group_hr_user,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_hr_expense_user hr.expense.user model_hr_expense base.group_hr_user hr.group_hr_user 1 1 1 1
3 access_hr_expense_employee hr.expense.employee model_hr_expense base.group_user 1 1 1 1
4 access_hr_expense_sheet_user hr.expense.sheet.user model_hr_expense_sheet base.group_hr_user hr.group_hr_user 1 1 1 1
5 access_hr_expense_sheet_employee hr.expense.sheet.employee model_hr_expense_sheet base.group_user 1 1 1 1
6 access_product_product_hr_expense_user product.product.hr.expense.user product.model_product_product base.group_hr_user hr.group_hr_user 1 1 1 1
7 access_product_template_hr_expense_user product.template.hr.expense.user product.model_product_template base.group_hr_user hr.group_hr_user 1 1 1 1
8 access_product_uom_hr_expense_user product.uom.hr.expense.user product.model_product_uom base.group_hr_user hr.group_hr_user 1 1 1 1
9 access_account_journal_user account.journal.user account.model_account_journal base.group_hr_user hr.group_hr_user 1 1 1 1
10 access_account_journal_employee account.journal.employee account.model_account_journal base.group_user 1 0 0 0
11 access_account_invoice_user account.invoice.user account.model_account_invoice base.group_hr_user hr.group_hr_user 1 1 1 1
12 access_account_invoice_line_user account.invoice.line.user account.model_account_invoice_line base.group_hr_user hr.group_hr_user 1 1 1 1
13 access_account_invoice_tax_user account.invoice.tax.user account.model_account_invoice_tax base.group_hr_user hr.group_hr_user 1 0 0 0
14 access_account_move_user account.move.user account.model_account_move base.group_hr_user hr.group_hr_user 1 0 0 0
15 access_account_move_line_user account.move.line.user account.model_account_move_line base.group_hr_user hr.group_hr_user 1 0 0 0
16 access_account_analytic_line_user account.analytic.line.user account.model_account_analytic_line base.group_hr_user hr.group_hr_user 1 1 1 1
17
+1 -1
View File
@@ -6,7 +6,7 @@
<field name="name">Manager Expense</field>
<field name="model_id" ref="model_hr_expense"/>
<field name="domain_force">[(1, '=', 1)]</field>
<field name="groups" eval="[(4, ref('account.group_account_user')), (4, ref('base.group_hr_manager')), (4, ref('base.group_hr_user'))]"/>
<field name="groups" eval="[(4, ref('account.group_account_user')), (4, ref('hr.group_hr_manager')), (4, ref('hr.group_hr_user'))]"/>
</record>
<record id="property_rule_expense_employee" model="ir.rule">
<field name="name">Employee Expense</field>
+11 -11
View File
@@ -166,7 +166,7 @@
<filter domain="[('state', '=', 'refused')]" string="Refused" name="refused" help="Refused Expenses"/>
<filter domain="[('state', '!=', 'cancel')]" string="Not Refused" name="uncancelled" help="Actual expense sheets, not the refused ones"/>
<separator />
<filter string="My Team Expenses" domain="[('employee_id.parent_id.user_id', '=', uid)]" groups="base.group_hr_manager" help="Expenses of Your Team Member"/>
<filter string="My Team Expenses" domain="[('employee_id.parent_id.user_id', '=', uid)]" groups="hr.group_hr_manager" help="Expenses of Your Team Member"/>
<filter string="My Expenses" domain="[('employee_id.user_id', '=', uid)]"/>
<separator />
<filter string="New Mail" name="message_unread" domain="[('message_unread', '=', True)]"/>
@@ -180,7 +180,7 @@
<filter string="Status" domain="[]" context="{'group_by': 'state'}"/>
</group>
<separator />
<filter domain="[('employee_id.active', '=', False)]" string="Former Employees" name="inactive" groups="base.group_hr_user,base.group_hr_manager"/>
<filter domain="[('employee_id.active', '=', False)]" string="Former Employees" name="inactive" groups="hr.group_hr_user,hr.group_hr_manager"/>
</search>
</field>
</record>
@@ -406,11 +406,11 @@
<field name="arch" type="xml">
<form string="Expense Reports" class="o_expense_sheet">
<header>
<button name="approve_expense_sheets" states="submit" string="Approve" type="object" groups="base.group_hr_user" class="oe_highlight o_expense_sheet_approve"/>
<button name="approve_expense_sheets" states="submit" string="Approve" type="object" groups="hr.group_hr_user" class="oe_highlight o_expense_sheet_approve"/>
<button name="action_sheet_move_create" states="approve" string="Post Journal Entries" type="object" groups="account.group_account_user" class="oe_highlight o_expense_sheet_post"/>
<button name="%(hr_expense.hr_expense_register_payment_wizard_action)d" type="action" string="Register Payment" class="oe_highlight o_expense_sheet_pay" attrs="{'invisible': [('state', '!=', 'post')]}" context="{'default_amount': total_amount, 'partner_id': address_id}" groups="account.group_account_user"/>
<button name="reset_expense_sheets" states="cancel" string="Resubmit" type="object"/>
<button name="%(hr_expense.hr_expense_refuse_wizard_action)d" states="submit" string="Refuse" type="action" groups="base.group_hr_user" />
<button name="%(hr_expense.hr_expense_refuse_wizard_action)d" states="submit" string="Refuse" type="action" groups="hr.group_hr_user" />
<button name="%(hr_expense.hr_expense_refuse_wizard_action)d" states="approve" string="Refuse" type="action" groups="account.group_account_user"/>
<field name="state" widget="statusbar" statusbar_visible="draft,submit,approve,post,done"/>
</header>
@@ -549,7 +549,7 @@
<filter domain="[('state', '=', 'approve')]" string="To Post" name="to_post" help="Approved Expenses"/>
<filter domain="['|', ('state', '=', 'approve'), ('state', '=', 'post')]" string="To Pay" name="approved" help="Expenses to Invoice"/>
<separator/>
<filter string="My Team Reports" domain="[('employee_id.parent_id.user_id', '=', uid)]" groups="base.group_hr_manager" help="Expenses of Your Team Member"/>
<filter string="My Team Reports" domain="[('employee_id.parent_id.user_id', '=', uid)]" groups="hr.group_hr_manager" help="Expenses of Your Team Member"/>
<filter string="My Reports" domain="[('employee_id.user_id', '=', uid)]"/>
<separator />
<filter string="New Mail" name="message_unread" domain="[('message_unread', '=', True)]"/>
@@ -561,7 +561,7 @@
<filter string="State" domain="[]" context="{'group_by': 'state'}" name="state"/>
</group>
<separator />
<filter domain="[('employee_id.active', '=', False)]" string="Former Employees" name="inactive" groups="base.group_hr_user,base.group_hr_manager"/>
<filter domain="[('employee_id.active', '=', False)]" string="Former Employees" name="inactive" groups="hr.group_hr_user,hr.group_hr_manager"/>
</search>
</field>
</record>
@@ -748,23 +748,23 @@
<menuitem id="menu_hr_expense_my_expenses_refused" name="Refused Expenses" sequence="2" parent="menu_hr_expense_my_expenses" action="action_hr_expense_refused_expenses"/>
<menuitem id="menu_hr_expense_sheet_my_reports" name="Expense Reports" sequence="3" parent="menu_hr_expense_my_expenses" action="action_hr_expense_sheet_my_all" load_xmlid="True"/>
<menuitem id="menu_hr_expense_to_approve" name="To Approve" sequence="2" parent="menu_hr_expense_root" groups="base.group_hr_user"/>
<menuitem id="menu_hr_expense_to_approve" name="To Approve" sequence="2" parent="menu_hr_expense_root" groups="hr.group_hr_user"/>
<menuitem id="menu_hr_expense_sheet_all_to_approve" name="Expense Reports To Approve" sequence="1" parent="menu_hr_expense_to_approve"
action="action_hr_expense_sheet_all_to_approve"/>
<menuitem id="menu_hr_expense_accountant" name="Accountant" sequence="3" parent="menu_hr_expense_root" groups="base.group_hr_manager"/>
<menuitem id="menu_hr_expense_accountant" name="Accountant" sequence="3" parent="menu_hr_expense_root" groups="hr.group_hr_manager"/>
<menuitem id="menu_hr_expense_sheet_all_to_post" name="Expense Reports To Post" sequence="2" parent="menu_hr_expense_accountant"
action="action_hr_expense_sheet_all_to_post"/>
<menuitem id="menu_hr_expense_sheet_all_to_pay" name="Expense Reports To Pay" sequence="3" parent="menu_hr_expense_accountant"
action="action_hr_expense_sheet_all_to_pay"/>
<menuitem id="menu_hr_expense_reports" name="Reports" sequence="4" parent="menu_hr_expense_root" groups="base.group_hr_manager"/>
<menuitem id="menu_hr_expense_reports" name="Reports" sequence="4" parent="menu_hr_expense_root" groups="hr.group_hr_manager"/>
<menuitem id="menu_hr_expense_all_expenses" name="All Expenses" sequence="0" parent="menu_hr_expense_reports" action="hr_expense_actions_all"/>
<menuitem id="menu_hr_expense_sheet_all_all" name="All Expense Reports" sequence="4" parent="menu_hr_expense_reports"
action="action_hr_expense_sheet_all_all" groups="base.group_hr_manager"/>
action="action_hr_expense_sheet_all_all" groups="hr.group_hr_manager"/>
<menuitem id="menu_hr_expense_configuration" name="Configuration" parent="menu_hr_expense_root"
sequence="100"/>
<menuitem id="menu_hr_product" name="Expense Products" parent="menu_hr_expense_configuration"
action="hr_expense_product" groups="base.group_hr_manager" sequence="10"/>
action="hr_expense_product" groups="hr.group_hr_manager" sequence="10"/>
</odoo>
@@ -3,7 +3,7 @@
<data noupdate="1">
<record id="gamification.goal_gamification_manager_visibility" model="ir.rule">
<field name="groups" eval="[(4, ref('base.group_hr_user'))]"/>
<field name="groups" eval="[(4, ref('hr.group_hr_user'))]"/>
</record>
</data>
@@ -1,5 +1,5 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
challenge_officer,"Challenge Officer",gamification.model_gamification_challenge,base.group_hr_user,1,1,1,1
challenge_line_officer,"Challenge Line Officer",gamification.model_gamification_challenge_line,base.group_hr_user,1,1,1,1
badge_officer,"Badge Officer",gamification.model_gamification_badge,base.group_hr_user,1,1,1,1
badge_user_officer,"Badge-user Officer",gamification.model_gamification_badge_user,base.group_hr_user,1,1,1,1
challenge_officer,"Challenge Officer",gamification.model_gamification_challenge,hr.group_hr_user,1,1,1,1
challenge_line_officer,"Challenge Line Officer",gamification.model_gamification_challenge_line,hr.group_hr_user,1,1,1,1
badge_officer,"Badge Officer",gamification.model_gamification_badge,hr.group_hr_user,1,1,1,1
badge_user_officer,"Badge-user Officer",gamification.model_gamification_badge_user,hr.group_hr_user,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 challenge_officer Challenge Officer gamification.model_gamification_challenge base.group_hr_user hr.group_hr_user 1 1 1 1
3 challenge_line_officer Challenge Line Officer gamification.model_gamification_challenge_line base.group_hr_user hr.group_hr_user 1 1 1 1
4 badge_officer Badge Officer gamification.model_gamification_badge base.group_hr_user hr.group_hr_user 1 1 1 1
5 badge_user_officer Badge-user Officer gamification.model_gamification_badge_user base.group_hr_user hr.group_hr_user 1 1 1 1
@@ -66,7 +66,7 @@
<menuitem id="menu_hr_gamification" parent="hr.menu_hr_root" name="Challenges" sequence="40"/>
<menuitem id="gamification_badge_menu_hr" parent="menu_hr_gamification" action="gamification.badge_list_action" />
<menuitem id="gamification_challenge_menu_hr" parent="menu_hr_gamification" action="challenge_list_action2" groups="base.group_hr_user"/>
<menuitem id="gamification_goal_menu_hr" parent="menu_hr_gamification" action="goals_menu_groupby_action2" groups="base.group_hr_user"/>
<menuitem id="gamification_challenge_menu_hr" parent="menu_hr_gamification" action="challenge_list_action2" groups="hr.group_hr_user"/>
<menuitem id="gamification_goal_menu_hr" parent="menu_hr_gamification" action="goals_menu_groupby_action2" groups="hr.group_hr_user"/>
</odoo>
+1 -1
View File
@@ -176,7 +176,7 @@ class Employee(models.Model):
@api.multi
def _compute_show_leaves(self):
show_leaves = self.env['res.users'].has_group('base.group_hr_user')
show_leaves = self.env['res.users'].has_group('hr.group_hr_user')
for employee in self:
if show_leaves or employee.user_id == self.env.user:
employee.show_leaves = True
+7 -7
View File
@@ -224,7 +224,7 @@ class Holidays(models.Model):
or if he is an Hr Manager.
"""
user = self.env.user
group_hr_manager = self.env.ref('base.group_hr_manager')
group_hr_manager = self.env.ref('hr.group_hr_manager')
for holiday in self:
if group_hr_manager in user.groups_id or holiday.employee_id and holiday.employee_id.user_id == user:
holiday.can_reset = True
@@ -332,7 +332,7 @@ class Holidays(models.Model):
return res
def _check_state_access_right(self, vals):
if vals.get('state') and vals['state'] not in ['draft', 'confirm', 'cancel'] and not self.env['res.users'].has_group('base.group_hr_user'):
if vals.get('state') and vals['state'] not in ['draft', 'confirm', 'cancel'] and not self.env['res.users'].has_group('hr.group_hr_user'):
return False
return True
@@ -436,7 +436,7 @@ class Holidays(models.Model):
def action_approve(self):
# if double_validation: this method is the first approval approval
# if not double_validation: this method calls action_validate() below
if not self.env.user.has_group('base.group_hr_user'):
if not self.env.user.has_group('hr.group_hr_user'):
raise UserError(_('Only an HR Officer or Manager can approve leave requests.'))
manager = self.env['hr.employee'].search([('user_id', '=', self.env.uid)], limit=1)
@@ -451,14 +451,14 @@ class Holidays(models.Model):
@api.multi
def action_validate(self):
if not self.env.user.has_group('base.group_hr_user'):
if not self.env.user.has_group('hr.group_hr_user'):
raise UserError(_('Only an HR Officer or Manager can approve leave requests.'))
manager = self.env['hr.employee'].search([('user_id', '=', self.env.uid)], limit=1)
for holiday in self:
if holiday.state not in ['confirm', 'validate1']:
raise UserError(_('Leave request must be confirmed in order to approve it.'))
if holiday.state == 'validate1' and not holiday.env.user.has_group('base.group_hr_manager'):
if holiday.state == 'validate1' and not holiday.env.user.has_group('hr.group_hr_manager'):
raise UserError(_('Only an HR Manager can apply the second approval on leave requests.'))
holiday.write({'state': 'validate'})
@@ -510,7 +510,7 @@ class Holidays(models.Model):
@api.multi
def action_refuse(self):
if not self.env.user.has_group('base.group_hr_user'):
if not self.env.user.has_group('hr.group_hr_user'):
raise UserError(_('Only an HR Officer or Manager can refuse leave requests.'))
manager = self.env['hr.employee'].search([('user_id', '=', self.env.uid)], limit=1)
@@ -556,7 +556,7 @@ class Holidays(models.Model):
recipients. Indeed those will have specific action in their notification
emails.
"""
group_hr_user = self.env.ref('base.group_hr_user')
group_hr_user = self.env.ref('hr.group_hr_user')
for recipient in recipients:
if recipient.id in done_ids:
continue
@@ -22,14 +22,14 @@
<field name="name">Holidays Officer</field>
<field name="model_id" ref="model_hr_holidays"/>
<field name="domain_force">[(1,'=',1)]</field>
<field name="groups" eval="[(4,ref('base.group_hr_user'))]"/>
<field name="groups" eval="[(4,ref('hr.group_hr_user'))]"/>
</record>
<record id="resource_leaves_officer" model="ir.rule">
<field name="name">Leaves Officer</field>
<field name="model_id" ref="model_resource_calendar_leaves"/>
<field name="domain_force">[(1,'=',1)]</field>
<field name="groups" eval="[(4,ref('base.group_hr_user'))]"/>
<field name="groups" eval="[(4,ref('hr.group_hr_user'))]"/>
</record>
<record id="hr_holidays_status_rule_multi_company" model="ir.rule">
@@ -1,10 +1,10 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_hr_holidays_user,hr.holidays.user,model_hr_holidays,base.group_hr_user,1,1,1,1
access_hr_holidays_user,hr.holidays.user,model_hr_holidays,hr.group_hr_user,1,1,1,1
access_hr_holidays_employee,hr.holidays.employee,model_hr_holidays,base.group_user,1,1,1,1
access_hr_holydays_status_employee,hr.holidays.status employee,model_hr_holidays_status,base.group_user,1,0,0,0
access_hr_holydays_status_manager,hr.holidays.status manager,model_hr_holidays_status,base.group_hr_manager,1,1,1,1
access_hr_holidays_remain_user,hr.holidays.ramain.user,model_hr_holidays_remaining_leaves_user,base.group_hr_user,1,1,1,1
access_resource_calendar_leaves_user,resource_calendar_leaves_user,resource.model_resource_calendar_leaves,base.group_hr_user,1,1,1,1
access_calendar_event_hr_user,calendar.event.hr.user,calendar.model_calendar_event,base.group_hr_user,1,1,1,1
access_calendar_event_type_manager,calendar.event.type.manager,calendar.model_calendar_event_type,base.group_hr_manager,1,1,1,1
access_calendar_attendee_hr_user,calendar.attendee.hr.user,calendar.model_calendar_attendee,base.group_hr_user,1,1,1,1
access_hr_holydays_status_manager,hr.holidays.status manager,model_hr_holidays_status,hr.group_hr_manager,1,1,1,1
access_hr_holidays_remain_user,hr.holidays.ramain.user,model_hr_holidays_remaining_leaves_user,hr.group_hr_user,1,1,1,1
access_resource_calendar_leaves_user,resource_calendar_leaves_user,resource.model_resource_calendar_leaves,hr.group_hr_user,1,1,1,1
access_calendar_event_hr_user,calendar.event.hr.user,calendar.model_calendar_event,hr.group_hr_user,1,1,1,1
access_calendar_event_type_manager,calendar.event.type.manager,calendar.model_calendar_event_type,hr.group_hr_manager,1,1,1,1
access_calendar_attendee_hr_user,calendar.attendee.hr.user,calendar.model_calendar_attendee,hr.group_hr_user,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_hr_holidays_user hr.holidays.user model_hr_holidays base.group_hr_user hr.group_hr_user 1 1 1 1
3 access_hr_holidays_employee hr.holidays.employee model_hr_holidays base.group_user 1 1 1 1
4 access_hr_holydays_status_employee hr.holidays.status employee model_hr_holidays_status base.group_user 1 0 0 0
5 access_hr_holydays_status_manager hr.holidays.status manager model_hr_holidays_status base.group_hr_manager hr.group_hr_manager 1 1 1 1
6 access_hr_holidays_remain_user hr.holidays.ramain.user model_hr_holidays_remaining_leaves_user base.group_hr_user hr.group_hr_user 1 1 1 1
7 access_resource_calendar_leaves_user resource_calendar_leaves_user resource.model_resource_calendar_leaves base.group_hr_user hr.group_hr_user 1 1 1 1
8 access_calendar_event_hr_user calendar.event.hr.user calendar.model_calendar_event base.group_hr_user hr.group_hr_user 1 1 1 1
9 access_calendar_event_type_manager calendar.event.type.manager calendar.model_calendar_event_type base.group_hr_manager hr.group_hr_manager 1 1 1 1
10 access_calendar_attendee_hr_user calendar.attendee.hr.user calendar.model_calendar_attendee base.group_hr_user hr.group_hr_user 1 1 1 1
+2 -2
View File
@@ -19,13 +19,13 @@ class TestHrHolidaysBase(common.TransactionCase):
'name': 'Armande HrUser',
'login': 'Armande',
'email': 'armande.hruser@example.com',
'groups_id': [(6, 0, [group_employee_id, self.ref('base.group_hr_user')])]
'groups_id': [(6, 0, [group_employee_id, self.ref('hr.group_hr_user')])]
}).id
self.user_hrmanager_id = Users.create({
'name': 'Bastien HrManager',
'login': 'bastien',
'email': 'bastien.hrmanager@example.com',
'groups_id': [(6, 0, [group_employee_id, self.ref('base.group_hr_manager')])]
'groups_id': [(6, 0, [group_employee_id, self.ref('hr.group_hr_manager')])]
}).id
self.user_employee_id = Users.create({
'name': 'David Employee',
+21 -21
View File
@@ -29,9 +29,9 @@
<filter string="Unread Messages" name="message_needaction" domain="[('message_needaction','=',True)]"/>
<separator/>
<filter string="My Department Leaves" name="department" domain="[('department_id.manager_id.user_id', '=', uid)]" help="My Department Leaves"/>
<filter string="My Team Leaves" domain="[('employee_id.parent_id.user_id', '=', uid)]" groups="base.group_hr_manager" help="Leaves of Your Team Member"/>
<filter string="My Team Leaves" domain="[('employee_id.parent_id.user_id', '=', uid)]" groups="hr.group_hr_manager" help="Leaves of Your Team Member"/>
<separator/>
<filter string="To Report in Payslip" name="gray" domain="[('payslip_status', '=', False)]" groups="base.group_hr_manager"/>
<filter string="To Report in Payslip" name="gray" domain="[('payslip_status', '=', False)]" groups="hr.group_hr_manager"/>
<separator/>
<filter string="To Do" name="todo" domain="[('payslip_status', '=', False), ('holiday_status_id.active', '=', True)]"/>
<separator/>
@@ -83,9 +83,9 @@
<field name="type" invisible="1"/>
<header>
<button string="Confirm" name="action_confirm" states="draft" type="object" class="oe_highlight"/>
<button string="Approve" name="action_approve" states="confirm" type="object" groups="base.group_hr_user" class="oe_highlight"/>
<button string="Validate" name="action_validate" states="validate1" type="object" groups="base.group_hr_manager" class="oe_highlight"/>
<button string="Refuse" name="action_refuse" states="confirm,validate,validate1" type="object" groups="base.group_hr_user"/>
<button string="Approve" name="action_approve" states="confirm" type="object" groups="hr.group_hr_user" class="oe_highlight"/>
<button string="Validate" name="action_validate" states="validate1" type="object" groups="hr.group_hr_manager" class="oe_highlight"/>
<button string="Refuse" name="action_refuse" states="confirm,validate,validate1" type="object" groups="hr.group_hr_user"/>
<button string="Reset to Draft" name="action_draft" type="object"
attrs="{'invisible': ['|', ('can_reset', '=', False), ('state', 'not in', ['confirm', 'refuse'])]}"/>
<field name="state" widget="statusbar" statusbar_visible="draft,confirm,validate"/>
@@ -111,14 +111,14 @@
</div>
</group>
<group>
<field name="holiday_type" attrs="{'readonly':[('type', '=', 'remove'),('state','!=','draft')]}" string="Mode" groups="base.group_hr_user" context="{'employee_id':employee_id}" />
<field name="employee_id" attrs="{'required':[('holiday_type','=','employee')],'invisible':[('holiday_type','=','category')]}" groups="base.group_hr_user"/>
<field name="holiday_type" attrs="{'readonly':[('type', '=', 'remove'),('state','!=','draft')]}" string="Mode" groups="hr.group_hr_user" context="{'employee_id':employee_id}" />
<field name="employee_id" attrs="{'required':[('holiday_type','=','employee')],'invisible':[('holiday_type','=','category')]}" groups="hr.group_hr_user"/>
<field name="category_id" attrs="{'required':[('holiday_type','=','category')], 'readonly': [('type', '=', 'remove'),('state','!=','draft'), ('state','!=','confirm')], 'invisible':[('holiday_type','=','employee')]}"/>
<field name="department_id" groups="base.group_hr_user" attrs="{'readonly':['|','|' ,('type','=','add'),('holiday_type','=','category'),('state','=', 'validate')],'invisible':[('holiday_type','=','category')]}"/>
<field name="payslip_status" groups="base.group_hr_manager" attrs="{'invisible':[('type','=','add')]}" widget="toggle_button"/>
<field name="department_id" groups="hr.group_hr_user" attrs="{'readonly':['|','|' ,('type','=','add'),('holiday_type','=','category'),('state','=', 'validate')],'invisible':[('holiday_type','=','category')]}"/>
<field name="payslip_status" groups="hr.group_hr_manager" attrs="{'invisible':[('type','=','add')]}" widget="toggle_button"/>
</group>
<field name="notes" nolabel="1" colspan="4" placeholder="Add a reason..." attrs="{'invisible': [('type', '=', 'remove')]}"/>
<div groups="base.group_hr_manager" attrs="{'invisible':[('type','=','add')]}">
<div groups="hr.group_hr_manager" attrs="{'invisible':[('type','=','add')]}">
<separator string="Comment by Manager"/>
<field name="report_note" placeholder="e.g. Report to the next month..."/>
</div>
@@ -169,8 +169,8 @@
<field name="number_of_days_temp" string="Allocated Days" sum="Remaining Days"/>
<field name="state"/>
<button name="toggle_payslip_status" field_name="payslip_status" type="object"
widget="toggle_button" options='{"active": "Reported in last payslips", "inactive": "To Report in Payslip"}' groups="base.group_hr_manager"/>
<field name="report_note" groups="base.group_hr_manager"/>
widget="toggle_button" options='{"active": "Reported in last payslips", "inactive": "To Report in Payslip"}' groups="hr.group_hr_manager"/>
<field name="report_note" groups="hr.group_hr_manager"/>
<field name="payslip_status" invisible="1"/>
</tree>
</field>
@@ -213,7 +213,7 @@
<field name="holiday_status_id"/>
<field name="state"/>
<button name="toggle_payslip_status" field_name="payslip_status" type="object"
widget="toggle_button" options='{"active": "Reported in last payslips", "inactive": "To Report in Payslip"}' groups="base.group_hr_manager"/>
widget="toggle_button" options='{"active": "Reported in last payslips", "inactive": "To Report in Payslip"}' groups="hr.group_hr_manager"/>
<field name="report_note"/>
<field name="payslip_status" invisible="1"/>
</tree>
@@ -236,7 +236,7 @@
<field name="state"/>
<field name="payslip_status" invisible="1"/>
<button name="toggle_payslip_status" field_name="payslip_status" type="object"
widget="toggle_button" options='{"active": "Reported in last payslips", "inactive": "To Report in Payslip"}' groups="base.group_hr_manager"/>
widget="toggle_button" options='{"active": "Reported in last payslips", "inactive": "To Report in Payslip"}' groups="hr.group_hr_manager"/>
<field name="category_id" invisible="1"/>
<field name="department_id" invisible="not context.get('set_visible',False)"/>
<field name="manager_id" invisible="1"/>
@@ -269,7 +269,7 @@
parent="menu_hr_holidays_root"
sequence="1"
action="action_hr_holidays_dashboard"
groups="base.group_hr_manager"/>
groups="hr.group_hr_manager"/>
<menuitem
id="menu_hr_holidays_my_leaves"
@@ -282,14 +282,14 @@
name="Leaves to Approve"
parent="menu_hr_holidays_root"
sequence="3"
groups="base.group_hr_manager,base.group_hr_user"/>
groups="hr.group_hr_manager,hr.group_hr_user"/>
<menuitem
id="menu_hr_holidays_report"
name="Reports"
parent="menu_hr_holidays_root"
sequence="99"
groups="base.group_hr_manager,base.group_hr_user"/>
groups="hr.group_hr_manager,hr.group_hr_user"/>
<record id="open_ask_holidays" model="ir.actions.act_window">
<field name="name">Leaves Request</field>
@@ -518,7 +518,7 @@
id="menu_open_department_leave_approve"
name="Leaves"
parent="menu_hr_holidays_approvals"
groups="base.group_hr_manager,base.group_hr_user"
groups="hr.group_hr_manager,hr.group_hr_user"
action="open_department_holidays_approve"
sequence="1"/>
@@ -538,7 +538,7 @@
</record>
<menuitem
id="menu_open_department_leave_allocation_approve" groups="base.group_hr_manager,base.group_hr_user"
id="menu_open_department_leave_allocation_approve" groups="hr.group_hr_manager,hr.group_hr_user"
name="Leaves Allocation"
parent="menu_hr_holidays_approvals"
action="open_department_holidays_allocation_approve"
@@ -548,7 +548,7 @@
id="menu_open_employee_leave"
name="Leave Details"
parent="menu_hr_holidays_report"
groups="base.group_hr_manager,base.group_hr_user"
groups="hr.group_hr_manager,hr.group_hr_user"
action="open_employee_leaves"
sequence="4"/>
@@ -637,7 +637,7 @@
name="Configuration"
parent="menu_hr_holidays_root"
sequence="100"
groups="base.group_hr_manager"
groups="hr.group_hr_manager"
action="open_view_holiday_status"/>
<!-- Shortcuts -->
+2 -2
View File
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- HR officers and HR managers are allowed to manage equipments -->
<record id="base.group_hr_user" model="res.groups">
<field name="implied_ids" eval="[(4, ref('base.group_equipment_manager'))]"/>
<record id="hr.group_hr_user" model="res.groups">
<field name="implied_ids" eval="[(4, ref('maintenance.group_equipment_manager'))]"/>
</record>
</odoo>
+1 -1
View File
@@ -843,7 +843,7 @@ class HrEmployee(models.Model):
_description = 'Employee'
slip_ids = fields.One2many('hr.payslip', 'employee_id', string='Payslips', readonly=True)
payslip_count = fields.Integer(compute='_compute_payslip_count', string='Payslips', groups="base.group_hr_user")
payslip_count = fields.Integer(compute='_compute_payslip_count', string='Payslips', groups="hr.group_hr_user")
@api.multi
def _compute_payslip_count(self):
@@ -6,7 +6,7 @@
<field name="name">Employee Payslip</field>
<field name="model_id" ref="model_hr_payslip"/>
<field name="domain_force">['|', ('employee_id.user_id', '=', user.id), ('employee_id.department_id.manager_id.user_id', '=', user.id)]</field>
<field name="groups" eval="[(4,ref('base.group_hr_user'))]"/>
<field name="groups" eval="[(4,ref('hr.group_hr_user'))]"/>
</record>
</data>
+10 -10
View File
@@ -1,11 +1,11 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_hr_payroll_structure,hr.payroll.structure,model_hr_payroll_structure,base.group_hr_user,1,1,1,1
access_hr_contribution_register,hr.contribution.register,model_hr_contribution_register,base.group_hr_user,1,1,1,1
access_hr_salary_rule_category,hr.salary.rule.category,model_hr_salary_rule_category,base.group_hr_user,1,1,1,1
access_hr_payslip,hr.payslip,model_hr_payslip,base.group_hr_user,1,1,1,1
access_hr_payslip_line,hr.payslip.line,model_hr_payslip_line,base.group_hr_user,1,1,1,1
access_hr_payslip_input_user,hr.payslip.input.user,model_hr_payslip_input,base.group_hr_user,1,1,1,1
access_hr_payslip_worked_days ,hr.payslip.worked_days,model_hr_payslip_worked_days,base.group_hr_manager,1,1,1,1
access_hr_payslip_run,hr.payslip.run,model_hr_payslip_run,base.group_hr_manager,1,1,1,1
access_hr_rule_input,hr.rule.input,model_hr_rule_input,base.group_hr_manager,1,1,1,1
access_hr_salary_rule_user,hr.salary.rule.user,model_hr_salary_rule,base.group_hr_user,1,1,1,1
access_hr_payroll_structure,hr.payroll.structure,model_hr_payroll_structure,hr.group_hr_user,1,1,1,1
access_hr_contribution_register,hr.contribution.register,model_hr_contribution_register,hr.group_hr_user,1,1,1,1
access_hr_salary_rule_category,hr.salary.rule.category,model_hr_salary_rule_category,hr.group_hr_user,1,1,1,1
access_hr_payslip,hr.payslip,model_hr_payslip,hr.group_hr_user,1,1,1,1
access_hr_payslip_line,hr.payslip.line,model_hr_payslip_line,hr.group_hr_user,1,1,1,1
access_hr_payslip_input_user,hr.payslip.input.user,model_hr_payslip_input,hr.group_hr_user,1,1,1,1
access_hr_payslip_worked_days ,hr.payslip.worked_days,model_hr_payslip_worked_days,hr.group_hr_manager,1,1,1,1
access_hr_payslip_run,hr.payslip.run,model_hr_payslip_run,hr.group_hr_manager,1,1,1,1
access_hr_rule_input,hr.rule.input,model_hr_rule_input,hr.group_hr_manager,1,1,1,1
access_hr_salary_rule_user,hr.salary.rule.user,model_hr_salary_rule,hr.group_hr_user,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_hr_payroll_structure hr.payroll.structure model_hr_payroll_structure base.group_hr_user hr.group_hr_user 1 1 1 1
3 access_hr_contribution_register hr.contribution.register model_hr_contribution_register base.group_hr_user hr.group_hr_user 1 1 1 1
4 access_hr_salary_rule_category hr.salary.rule.category model_hr_salary_rule_category base.group_hr_user hr.group_hr_user 1 1 1 1
5 access_hr_payslip hr.payslip model_hr_payslip base.group_hr_user hr.group_hr_user 1 1 1 1
6 access_hr_payslip_line hr.payslip.line model_hr_payslip_line base.group_hr_user hr.group_hr_user 1 1 1 1
7 access_hr_payslip_input_user hr.payslip.input.user model_hr_payslip_input base.group_hr_user hr.group_hr_user 1 1 1 1
8 access_hr_payslip_worked_days hr.payslip.worked_days model_hr_payslip_worked_days base.group_hr_manager hr.group_hr_manager 1 1 1 1
9 access_hr_payslip_run hr.payslip.run model_hr_payslip_run base.group_hr_manager hr.group_hr_manager 1 1 1 1
10 access_hr_rule_input hr.rule.input model_hr_rule_input base.group_hr_manager hr.group_hr_manager 1 1 1 1
11 access_hr_salary_rule_user hr.salary.rule.user model_hr_salary_rule base.group_hr_user hr.group_hr_user 1 1 1 1
+2 -2
View File
@@ -4,7 +4,7 @@
<menuitem id="menu_hr_payroll_root" name="Payroll" sequence="45" web_icon="hr_payroll,static/description/icon.png"/>
<menuitem id="menu_hr_payroll_configuration" name="Configuration" parent="menu_hr_payroll_root"
sequence="100" groups="base.group_hr_manager"/>
sequence="100" groups="hr.group_hr_manager"/>
<!-- Contract View -->
<record id="hr_contract_form_inherit" model="ir.ui.view">
@@ -369,7 +369,7 @@
<field name="search_view_id" ref="view_hr_payslip_filter"/>
</record>
<menuitem action="action_view_hr_payslip_form" id="menu_department_tree" parent="menu_hr_payroll_root" groups="base.group_hr_user"/>
<menuitem action="action_view_hr_payslip_form" id="menu_department_tree" parent="menu_hr_payroll_root" groups="hr.group_hr_user"/>
<record id="act_hr_employee_payslip_list" model="ir.actions.act_window">
<field name="res_model">hr.payslip</field>
@@ -1,13 +1,13 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_hr_applicant_user,hr.applicant.user,model_hr_applicant,base.group_hr_user,1,1,1,1
access_hr_recruitment_report,hr.recruitment.report,model_hr_recruitment_report,base.group_hr_manager,1,1,1,1
access_hr_recruitment_stage_user,hr.recruitment.stage.user,model_hr_recruitment_stage,base.group_hr_user,1,0,0,0
access_hr_recruitment_stage_manager,hr.recruitment.stage.manager,model_hr_recruitment_stage,base.group_hr_manager,1,1,1,1
access_hr_recruitment_degree,hr.recruitment.degree,model_hr_recruitment_degree,base.group_hr_user,1,1,1,1
access_res_partner_hr_user,res.partner.user,base.model_res_partner,base.group_hr_user,1,1,1,1
access_calendar_event_hruser,calendar.event.hruser,calendar.model_calendar_event,base.group_hr_user,1,1,1,1
access_hr_recruitment_source_hr_officer,hr.recruitment.source,model_hr_recruitment_source,base.group_hr_user,1,1,1,1
access_hr_applicant_user,hr.applicant.user,model_hr_applicant,hr.group_hr_user,1,1,1,1
access_hr_recruitment_report,hr.recruitment.report,model_hr_recruitment_report,hr.group_hr_manager,1,1,1,1
access_hr_recruitment_stage_user,hr.recruitment.stage.user,model_hr_recruitment_stage,hr.group_hr_user,1,0,0,0
access_hr_recruitment_stage_manager,hr.recruitment.stage.manager,model_hr_recruitment_stage,hr.group_hr_manager,1,1,1,1
access_hr_recruitment_degree,hr.recruitment.degree,model_hr_recruitment_degree,hr.group_hr_user,1,1,1,1
access_res_partner_hr_user,res.partner.user,base.model_res_partner,hr.group_hr_user,1,1,1,1
access_calendar_event_hruser,calendar.event.hruser,calendar.model_calendar_event,hr.group_hr_user,1,1,1,1
access_hr_recruitment_source_hr_officer,hr.recruitment.source,model_hr_recruitment_source,hr.group_hr_user,1,1,1,1
access_hr_recruitment_source_all,hr.recruitment.source,model_hr_recruitment_source,,1,0,0,0
access_hr_applicant_category,hr.applicant_category,model_hr_applicant_category,,1,1,1,0
access_hr_applicant_category_manager,hr.applicant_category,model_hr_applicant_category,base.group_hr_manager,1,1,1,1
access_calendar_event_type_hr_officer,calendar.event.type.officer,calendar.model_calendar_event_type,base.group_hr_user,1,1,1,0
access_hr_applicant_category_manager,hr.applicant_category,model_hr_applicant_category,hr.group_hr_manager,1,1,1,1
access_calendar_event_type_hr_officer,calendar.event.type.officer,calendar.model_calendar_event_type,hr.group_hr_user,1,1,1,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_hr_applicant_user hr.applicant.user model_hr_applicant base.group_hr_user hr.group_hr_user 1 1 1 1
3 access_hr_recruitment_report hr.recruitment.report model_hr_recruitment_report base.group_hr_manager hr.group_hr_manager 1 1 1 1
4 access_hr_recruitment_stage_user hr.recruitment.stage.user model_hr_recruitment_stage base.group_hr_user hr.group_hr_user 1 0 0 0
5 access_hr_recruitment_stage_manager hr.recruitment.stage.manager model_hr_recruitment_stage base.group_hr_manager hr.group_hr_manager 1 1 1 1
6 access_hr_recruitment_degree hr.recruitment.degree model_hr_recruitment_degree base.group_hr_user hr.group_hr_user 1 1 1 1
7 access_res_partner_hr_user res.partner.user base.model_res_partner base.group_hr_user hr.group_hr_user 1 1 1 1
8 access_calendar_event_hruser calendar.event.hruser calendar.model_calendar_event base.group_hr_user hr.group_hr_user 1 1 1 1
9 access_hr_recruitment_source_hr_officer hr.recruitment.source model_hr_recruitment_source base.group_hr_user hr.group_hr_user 1 1 1 1
10 access_hr_recruitment_source_all hr.recruitment.source model_hr_recruitment_source 1 0 0 0
11 access_hr_applicant_category hr.applicant_category model_hr_applicant_category 1 1 1 0
12 access_hr_applicant_category_manager hr.applicant_category model_hr_applicant_category base.group_hr_manager hr.group_hr_manager 1 1 1 1
13 access_calendar_event_type_hr_officer calendar.event.type.officer calendar.model_calendar_event_type base.group_hr_user hr.group_hr_user 1 1 1 0
@@ -11,7 +11,7 @@
-
!record {model: res.users, id: res_users_hr_recruitment_officer}:
groups_id:
- base.group_hr_user
- hr.group_hr_user
-
In Order to test process of Recruitment so giving HR officer's rights,
-
@@ -537,15 +537,15 @@
name="Recruitment"
id="menu_hr_recruitment_root"
web_icon="hr_recruitment,static/description/icon.png"
groups="base.group_hr_user"
groups="hr.group_hr_user"
sequence="80"/>
<menuitem id="menu_hr_recruitment_configuration" name="Configuration" parent="menu_hr_recruitment_root"
sequence="100"/>
<!-- ALL JOBS REQUESTS -->
<menuitem parent="menu_hr_recruitment_root" id="hr.menu_hr_job_position" action="action_hr_job" sequence="1"/>
<menuitem parent="menu_hr_recruitment_configuration" id="hr.menu_hr_job_position_config" action="action_hr_job_config" sequence="10"/>
<menuitem parent="menu_hr_recruitment_root" id="menu_hr_job_position" action="action_hr_job" sequence="1"/>
<menuitem parent="menu_hr_recruitment_configuration" id="menu_hr_job_position_config" action="action_hr_job_config" sequence="10"/>
<menuitem
name="Applications"
parent="menu_hr_recruitment_root"
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<record id="base.group_hr_user" model="res.groups">
<field name="implied_ids" eval="[(4, ref('base.group_survey_user'))]"/>
<record id="hr.group_hr_user" model="res.groups">
<field name="implied_ids" eval="[(4, ref('survey.group_survey_user'))]"/>
</record>
</data>
</odoo>
@@ -1,2 +1,2 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_survey_hr_user,survey.hr.user,survey.model_survey_survey,base.group_hr_user,1,1,1,0
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_survey_hr_user,survey.hr.user,survey.model_survey_survey,hr.group_hr_user,1,1,1,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_survey_hr_user survey.hr.user survey.model_survey_survey base.group_hr_user hr.group_hr_user 1 1 1 0
@@ -40,7 +40,7 @@
<menuitem id="menu_timesheets_reports" name="Reports"
parent="timesheet_menu_root" sequence="99" groups="base.group_hr_manager"/>
parent="timesheet_menu_root" sequence="99" groups="hr.group_hr_manager"/>
<menuitem id="menu_hr_activity_analysis" parent="menu_timesheets_reports" action="act_hr_timesheet_report"
name="Activity Analysis"/>
</data>
@@ -1,7 +1,7 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_hr_account_analytic_line,account.account.analytic.line,account.model_account_analytic_line,base.group_hr_user,1,1,1,1
access_hr_account_analytic_line,account.account.analytic.line,account.model_account_analytic_line,hr.group_hr_user,1,1,1,1
access_hr_account_analytic_line_employee,account.account.analytic.line employee,account.model_account_analytic_line,base.group_user,1,1,1,1
access_product_product_user,product.product user,product.model_product_product,base.group_hr_user,1,1,1,1
access_product_template_hr_timesheet,product.template.hr.timesheet,product.model_product_template,base.group_hr_user,1,1,1,1
access_product_uom_hr_timesheet,product.uom.hr.timesheet,product.model_product_uom,base.group_hr_user,1,1,1,1
access_product_product_user,product.product user,product.model_product_product,hr.group_hr_user,1,1,1,1
access_product_template_hr_timesheet,product.template.hr.timesheet,product.model_product_template,hr.group_hr_user,1,1,1,1
access_product_uom_hr_timesheet,product.uom.hr.timesheet,product.model_product_uom,hr.group_hr_user,1,1,1,1
access_account_analytic_line_user,account.analytic.line.user,model_account_analytic_line,base.group_user,1,1,1,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_hr_account_analytic_line account.account.analytic.line account.model_account_analytic_line base.group_hr_user hr.group_hr_user 1 1 1 1
3 access_hr_account_analytic_line_employee account.account.analytic.line employee account.model_account_analytic_line base.group_user 1 1 1 1
4 access_product_product_user product.product user product.model_product_product base.group_hr_user hr.group_hr_user 1 1 1 1
5 access_product_template_hr_timesheet product.template.hr.timesheet product.model_product_template base.group_hr_user hr.group_hr_user 1 1 1 1
6 access_product_uom_hr_timesheet product.uom.hr.timesheet product.model_product_uom base.group_hr_user hr.group_hr_user 1 1 1 1
7 access_account_analytic_line_user account.analytic.line.user model_account_analytic_line base.group_user 1 1 1 0
@@ -10,7 +10,7 @@
-
!record {model: res.users, id: res_hr_timesheet_manager}:
groups_id:
- base.group_hr_manager
- hr.group_hr_manager
-
Create a user as 'HR timesheet Officer'
-
@@ -23,7 +23,7 @@
-
!record {model: res.users, id: res_hr_timesheet_officer}:
groups_id:
- base.group_hr_user
- hr.group_hr_user
-
Create a user as 'Timesheet Employee'
-
@@ -6,7 +6,7 @@
name: HR Manager
login: hr
groups_id:
- base.group_hr_manager
- hr.group_hr_manager
-
Create a product with type service used to specify employees designation
-
@@ -1,4 +1,4 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_hr_timesheet_sheet_sheet_day,hr_timesheet_sheet.sheet.day,model_hr_timesheet_sheet_sheet_day,base.group_hr_user,1,1,1,1
access_hr_timesheet_sheet_sheet_day,hr_timesheet_sheet.sheet.day,model_hr_timesheet_sheet_sheet_day,hr.group_hr_user,1,1,1,1
access_hr_timesheet_sheet_sheet_day_user,hr.timesheet.sheet.sheet.day.user,model_hr_timesheet_sheet_sheet_day,base.group_user,1,1,1,0
access_hr_timesheet_attendance_report,access_hr_timesheet_attendance_report,model_hr_timesheet_attendance_report,base.group_hr_manager,1,0,0,0
access_hr_timesheet_attendance_report,access_hr_timesheet_attendance_report,model_hr_timesheet_attendance_report,hr.group_hr_manager,1,0,0,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_hr_timesheet_sheet_sheet_day hr_timesheet_sheet.sheet.day model_hr_timesheet_sheet_sheet_day base.group_hr_user hr.group_hr_user 1 1 1 1
3 access_hr_timesheet_sheet_sheet_day_user hr.timesheet.sheet.sheet.day.user model_hr_timesheet_sheet_sheet_day base.group_user 1 1 1 0
4 access_hr_timesheet_attendance_report access_hr_timesheet_attendance_report model_hr_timesheet_attendance_report base.group_hr_manager hr.group_hr_manager 1 0 0 0
@@ -14,9 +14,9 @@
<field name="inherit_id" ref="hr_timesheet_sheet.hr_timesheet_sheet_tree_simplified" />
<field name="arch" type="xml">
<field name="department_id" position="after">
<field name="total_attendance" widget="float_time" groups="base.group_hr_attendance"/>
<field name="total_attendance" widget="float_time" groups="hr.group_hr_attendance"/>
<field name="total_timesheet" widget="float_time"/>
<field name="total_difference" widget="float_time" groups="base.group_hr_attendance"/>
<field name="total_difference" widget="float_time" groups="hr.group_hr_attendance"/>
</field>
</field>
</record>
@@ -47,7 +47,7 @@
<span class="o_stat_text">Timesheet</span>
</div>
</button>
<button type="object" groups="base.group_hr_attendance"
<button type="object" groups="hr.group_hr_attendance"
class="oe_stat_button" icon="fa-users"
name="action_sheet_report">
<field name="attendance_count" widget="statinfo" string="Attendances"/>
@@ -55,9 +55,9 @@
</div>
</div>
<xpath expr="//page[@class='o_hr_timesheet_sheet_details']" position="after">
<page string="Attendances" groups="base.group_hr_attendance">
<page string="Attendances" groups="hr.group_hr_attendance">
<group>
<group groups="base.group_hr_attendance">
<group groups="hr.group_hr_attendance">
<field name="total_attendance" widget="float_time"/>
<field name="total_difference" widget="float_time"/>
</group>
@@ -115,7 +115,7 @@
context="{'search_default_sheet_id': [active_id]}"
id="act_hr_timesheet_sheet_sheet_by_account"
name="Timesheet by Account"
groups="base.group_hr_attendance"
groups="hr.group_hr_attendance"
res_model="hr_timesheet_sheet.sheet.account"
src_model="hr_timesheet_sheet.sheet"/>
@@ -123,7 +123,7 @@
context="{'search_default_sheet_id': [active_id]}"
id="act_hr_timesheet_sheet_sheet_by_day"
name="Timesheet by Day"
groups="base.group_hr_attendance"
groups="hr.group_hr_attendance"
res_model="hr_timesheet_sheet.sheet.day"
src_model="hr_timesheet_sheet.sheet"/>
@@ -133,9 +133,9 @@
<field name="arch" type="xml">
<tree decoration-info="total_difference&lt;0.1" decoration-danger="total_difference&gt;=0.1" string="Period">
<field name="name"/>
<field name="total_attendance" widget="float_time" sum="Total Attendances" groups="base.group_hr_attendance"/>
<field name="total_attendance" widget="float_time" sum="Total Attendances" groups="hr.group_hr_attendance"/>
<field name="total_timesheet" widget="float_time" sum="Total Timesheet"/>
<field name="total_difference" widget="float_time" sum="Total Difference" groups="base.group_hr_attendance"/>
<field name="total_difference" widget="float_time" sum="Total Difference" groups="hr.group_hr_attendance"/>
</tree>
</field>
</record>
@@ -119,7 +119,7 @@ class HrTimesheetSheet(models.Model):
@api.multi
def action_timesheet_draft(self):
if not self.env.user.has_group('base.group_hr_user'):
if not self.env.user.has_group('hr.group_hr_user'):
raise UserError(_('Only an HR Officer or Manager can refuse timesheets or reset them to draft.'))
self.write({'state': 'draft'})
return True
@@ -134,7 +134,7 @@ class HrTimesheetSheet(models.Model):
@api.multi
def action_timesheet_done(self):
if not self.env.user.has_group('base.group_hr_user'):
if not self.env.user.has_group('hr.group_hr_user'):
raise UserError(_('Only an HR Officer or Manager can approve timesheets.'))
if self.filtered(lambda sheet: sheet.state != 'confirm'):
raise UserError(_("Cannot approve a non-submitted timesheet."))
@@ -1,4 +1,4 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_hr_timesheet_sheet_sheet_user,hr_timesheet_sheet.sheet.user,model_hr_timesheet_sheet_sheet,base.group_user,1,1,1,1
access_hr_timesheet_sheet_sheet_system_employee,hr_timesheet_sheet.sheet.system.employee,model_hr_timesheet_sheet_sheet,base.group_user,1,1,1,0
access_hr_timesheet_sheet_sheet_account,hr_timesheet_sheet.sheet.account,model_hr_timesheet_sheet_sheet_account,base.group_hr_user,1,1,1,1
access_hr_timesheet_sheet_sheet_account,hr_timesheet_sheet.sheet.account,model_hr_timesheet_sheet_sheet_account,hr.group_hr_user,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_hr_timesheet_sheet_sheet_user hr_timesheet_sheet.sheet.user model_hr_timesheet_sheet_sheet base.group_user 1 1 1 1
3 access_hr_timesheet_sheet_sheet_system_employee hr_timesheet_sheet.sheet.system.employee model_hr_timesheet_sheet_sheet base.group_user 1 1 1 0
4 access_hr_timesheet_sheet_sheet_account hr_timesheet_sheet.sheet.account model_hr_timesheet_sheet_sheet_account base.group_hr_user hr.group_hr_user 1 1 1 1
@@ -58,9 +58,9 @@
<form string="Timesheet">
<header>
<button name="action_timesheet_confirm" states="draft" string="Submit to Manager" type="object" class="oe_highlight"/>
<button name="action_timesheet_done" states="confirm" string="Approve" type="object" groups="base.group_hr_user" class="oe_highlight"/>
<button name="action_timesheet_draft" states="done" string="Set to Draft" type="object" groups="base.group_hr_user"/>
<button name="action_timesheet_draft" states="confirm" string="Refuse" type="object" groups="base.group_hr_user"/>
<button name="action_timesheet_done" states="confirm" string="Approve" type="object" groups="hr.group_hr_user" class="oe_highlight"/>
<button name="action_timesheet_draft" states="done" string="Set to Draft" type="object" groups="hr.group_hr_user"/>
<button name="action_timesheet_draft" states="confirm" string="Refuse" type="object" groups="hr.group_hr_user"/>
<field name="state" widget="statusbar" statusbar_visible="new,confirm,done"/>
</header>
<sheet>
@@ -190,7 +190,7 @@
<menuitem id="menu_hr_to_approve" name="To Approve" parent="hr_timesheet.timesheet_menu_root" sequence="7"/>
<menuitem action="act_hr_timesheet_sheet_form" id="menu_act_hr_timesheet_sheet_form" parent="menu_hr_to_approve"
sequence="11" groups="base.group_hr_user"/>
sequence="11" groups="hr.group_hr_user"/>
<!--
account.analytic.line inheritancy
@@ -238,7 +238,7 @@
type="action"
class="oe_stat_button"
icon="fa-clock-o"
groups="base.group_hr_manager">
groups="hr.group_hr_manager">
<field name="timesheet_count" widget="statinfo" string="Timesheets"/>
</button>
</div>
@@ -76,6 +76,6 @@
<field name="help">This report performs analysis on Payment Advices</field>
</record>
<menuitem name="Reports" id="menu_l10n_in_hr_payroll_report" parent="hr_payroll.menu_hr_payroll_root" sequence="99" groups="base.group_hr_manager"/>
<menuitem name="Reports" id="menu_l10n_in_hr_payroll_report" parent="hr_payroll.menu_hr_payroll_root" sequence="99" groups="hr.group_hr_manager"/>
<menuitem action="action_payment_advice_report_all" id="menu_reporting_payment_advice" parent="menu_l10n_in_hr_payroll_report" sequence="5" />
</odoo>
@@ -74,8 +74,8 @@
<field name="help">This report performs analysis on Payslip</field>
</record>
<menuitem name="Reports" id="menu_l10n_in_hr_payroll_report" parent="hr_payroll.menu_hr_payroll_root" sequence="99" groups="base.group_hr_manager"/>
<menuitem action="action_payslip_report_all" id="menu_reporting_payslip" parent="menu_l10n_in_hr_payroll_report" sequence="5" groups="base.group_hr_manager"/>
<menuitem name="Reports" id="menu_l10n_in_hr_payroll_report" parent="hr_payroll.menu_hr_payroll_root" sequence="99" groups="hr.group_hr_manager"/>
<menuitem action="action_payslip_report_all" id="menu_reporting_payslip" parent="menu_l10n_in_hr_payroll_report" sequence="5" groups="hr.group_hr_manager"/>
<!--Hr Department Inherit Kanban view-->
<record id="hr_department_view_kanban" model="ir.ui.view">
<field name="name">hr.department.kanban.inherit</field>
@@ -1,5 +1,5 @@
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
"access_hr_payroll_advice_user","hr.payroll.advice","model_hr_payroll_advice","base.group_hr_user",1,1,1,1
"access_hr_payroll_advice_line_user","hr.payroll.advice.line","model_hr_payroll_advice_line","base.group_hr_user",1,1,1,1
"access_hr_payroll_advice_report_user","payment.advice.report","model_payment_advice_report","base.group_hr_manager",1,1,1,1
"access_hr_payroll_payslip_report_user","payslip.report","model_payslip_report","base.group_hr_manager",1,1,1,1
"access_hr_payroll_advice_user","hr.payroll.advice","model_hr_payroll_advice","hr.group_hr_user",1,1,1,1
"access_hr_payroll_advice_line_user","hr.payroll.advice.line","model_hr_payroll_advice_line","hr.group_hr_user",1,1,1,1
"access_hr_payroll_advice_report_user","payment.advice.report","model_payment_advice_report","hr.group_hr_manager",1,1,1,1
"access_hr_payroll_payslip_report_user","payslip.report","model_payslip_report","hr.group_hr_manager",1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_hr_payroll_advice_user hr.payroll.advice model_hr_payroll_advice base.group_hr_user hr.group_hr_user 1 1 1 1
3 access_hr_payroll_advice_line_user hr.payroll.advice.line model_hr_payroll_advice_line base.group_hr_user hr.group_hr_user 1 1 1 1
4 access_hr_payroll_advice_report_user payment.advice.report model_payment_advice_report base.group_hr_manager hr.group_hr_manager 1 1 1 1
5 access_hr_payroll_payslip_report_user payslip.report model_payslip_report base.group_hr_manager hr.group_hr_manager 1 1 1 1
@@ -36,6 +36,6 @@
sequence="200"
action="action_salary_employee_month"
id="menu_salary_employee_month"
groups="base.group_hr_manager,base.group_hr_user"
groups="hr.group_hr_manager,hr.group_hr_user"
/>
</odoo>
@@ -35,6 +35,6 @@
action="action_yearly_salary_detail"
sequence="250"
id="menu_yearly_salary_detail"
groups="base.group_hr_manager,base.group_hr_user"
groups="hr.group_hr_manager,hr.group_hr_user"
/>
</odoo>
+2 -2
View File
@@ -52,7 +52,7 @@
multi="True"
target="new"
key2="client_action_multi"
id="base.action_partner_mass_mail"
id="action_partner_mass_mail"
context="{
'default_composition_mode': 'mass_mail',
'default_partner_to': '${object.id or \'\'}',
@@ -61,7 +61,7 @@
}"/>
<record id="email_template_partner" model="mail.template">
<field name="ref_ir_act_window" ref="base.action_partner_mass_mail"/>
<field name="ref_ir_act_window" ref="action_partner_mass_mail"/>
</record>
</data>
@@ -92,7 +92,7 @@
multi="True"
target="new"
key2="client_action_multi"
id="base.action_partner_mass_mail"
id="action_partner_mass_mail"
context="{
'default_composition_mode': 'mass_mail',
'default_partner_to': '${object.id or \'\'}',
@@ -1,9 +1,9 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_equipment_user,equipment.user,model_maintenance_equipment,base.group_user,1,0,0,0
access_equipment_admin_user,equipment.admin.user,model_maintenance_equipment,base.group_equipment_manager,1,1,1,1
access_equipment_admin_user,equipment.admin.user,model_maintenance_equipment,group_equipment_manager,1,1,1,1
access_maintenance_system_user,equipment.request system user,model_maintenance_request,base.group_user,1,1,1,1
access_equipment_category_user,equipment.category.user,model_maintenance_equipment_category,base.group_user,1,0,0,0
access_equipment_category_admin_user,equipment.category system user,model_maintenance_equipment_category,base.group_equipment_manager,1,1,1,1
access_equipment_category_admin_user,equipment.category system user,model_maintenance_equipment_category,group_equipment_manager,1,1,1,1
access_maintenance_stage_user,maintenance.stage.user,model_maintenance_stage,base.group_user,1,0,0,0
access_maintenance_stage_admin_user,equipment.request.stage system user,model_maintenance_stage,base.group_equipment_manager,1,1,1,1
access_maintenance_stage_admin_user,equipment.request.stage system user,model_maintenance_stage,group_equipment_manager,1,1,1,1
access_maintenance_team_user,maintenance.team.user,model_maintenance_team,base.group_user,1,0,0,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_equipment_user equipment.user model_maintenance_equipment base.group_user 1 0 0 0
3 access_equipment_admin_user equipment.admin.user model_maintenance_equipment base.group_equipment_manager group_equipment_manager 1 1 1 1
4 access_maintenance_system_user equipment.request system user model_maintenance_request base.group_user 1 1 1 1
5 access_equipment_category_user equipment.category.user model_maintenance_equipment_category base.group_user 1 0 0 0
6 access_equipment_category_admin_user equipment.category system user model_maintenance_equipment_category base.group_equipment_manager group_equipment_manager 1 1 1 1
7 access_maintenance_stage_user maintenance.stage.user model_maintenance_stage base.group_user 1 0 0 0
8 access_maintenance_stage_admin_user equipment.request.stage system user model_maintenance_stage base.group_equipment_manager group_equipment_manager 1 1 1 1
9 access_maintenance_team_user maintenance.team.user model_maintenance_team base.group_user 1 0 0 0
+3 -3
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- This group is only allowed to deal with equipment registration and maintenance -->
<record id="base.group_equipment_manager" model="res.groups">
<record id="group_equipment_manager" model="res.groups">
<field name="name">Equipment Manager</field>
<field name="category_id" ref="base.module_category_human_resources"/>
<field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
@@ -27,14 +27,14 @@
<field name="name">Administrator of maintenance requests</field>
<field name="model_id" ref="model_maintenance_request"/>
<field name="domain_force">[(1, '=', 1)]</field>
<field name="groups" eval="[(4, ref('base.group_equipment_manager'))]"/>
<field name="groups" eval="[(4, ref('group_equipment_manager'))]"/>
</record>
<record id="equipment_rule_admin_user" model="ir.rule">
<field name="name">Equipments administrator</field>
<field name="model_id" ref="model_maintenance_equipment"/>
<field name="domain_force">[(1, '=', 1)]</field>
<field name="groups" eval="[(4, ref('base.group_equipment_manager'))]"/>
<field name="groups" eval="[(4, ref('group_equipment_manager'))]"/>
</record>
</odoo>
+1 -1
View File
@@ -16,7 +16,7 @@ class TestEquipment(TransactionCase):
self.res_users = self.env['res.users']
self.main_company = self.env.ref('base.main_company')
res_user = self.env.ref('base.group_user')
res_manager = self.env.ref('base.group_equipment_manager')
res_manager = self.env.ref('maintenance.group_equipment_manager')
self.user = self.res_users.create(dict(
name="Normal User/Employee",
+13 -13
View File
@@ -65,7 +65,7 @@
<group>
<field name="owner_user_id" string="Requested By"/>
<field name="equipment_id" context="{'default_category_id':category_id}"/>
<field name="category_id" groups="base.group_equipment_manager"/>
<field name="category_id" groups="maintenance.group_equipment_manager"/>
<field name="request_date" groups="base.group_no_one"/>
<field name="close_date" groups="base.group_no_one"/>
<field name="archive" invisible="1"/>
@@ -165,7 +165,7 @@
<field name="request_date" groups="base.group_no_one"/>
<field name="owner_user_id"/>
<field name="technician_user_id"/>
<field name="category_id" groups="base.group_equipment_manager"/>
<field name="category_id" groups="maintenance.group_equipment_manager"/>
<field name="stage_id"/>
</tree>
</field>
@@ -312,7 +312,7 @@
<field name="model"/>
<field name="serial_no"/>
</group><group>
<field name="cost" groups="base.group_equipment_manager"/>
<field name="cost" groups="maintenance.group_equipment_manager"/>
<field name="warranty"/>
</group>
</group>
@@ -789,7 +789,7 @@
id="menu_m_dashboard"
name="Dashboard"
parent="menu_maintenance_title"
groups="base.group_equipment_manager,base.group_user"
groups="group_equipment_manager,base.group_user"
action="maintenance_dashboard_action"
sequence="0"/>
@@ -797,7 +797,7 @@
id="menu_m_request"
name="Maintenance"
parent="menu_maintenance_title"
groups="base.group_equipment_manager,base.group_user"
groups="group_equipment_manager,base.group_user"
sequence="1"/>
<menuitem
@@ -805,7 +805,7 @@
name="Maintenance Requests"
parent="menu_m_request"
action="hr_equipment_request_action"
groups="base.group_equipment_manager,base.group_user"
groups="group_equipment_manager,base.group_user"
sequence="1"/>
<menuitem
@@ -813,7 +813,7 @@
name="Maintenance Calendar"
parent="menu_m_request"
action="hr_equipment_request_action_cal"
groups="base.group_equipment_manager,base.group_user"
groups="group_equipment_manager,base.group_user"
sequence="2"/>
<menuitem
@@ -821,35 +821,35 @@
name="Equipments"
parent="menu_maintenance_title"
action="hr_equipment_action"
groups="base.group_equipment_manager,base.group_user"
groups="group_equipment_manager,base.group_user"
sequence="2"/>
<menuitem
id="menu_m_reports"
name="Reporting"
parent="menu_maintenance_title"
groups="base.group_equipment_manager,base.group_user"
groups="group_equipment_manager,base.group_user"
sequence="3"/>
<menuitem
id="menu_m_reports_oee"
name="Overall Equipment Effectiveness (OEE)"
parent="menu_m_reports"
groups="base.group_equipment_manager,base.group_user"
groups="group_equipment_manager,base.group_user"
sequence="1"/>
<menuitem
id="menu_m_reports_losses"
name="Losses Analysis"
parent="menu_m_reports"
groups="base.group_equipment_manager,base.group_user"
groups="group_equipment_manager,base.group_user"
sequence="2"/>
<menuitem
id="menu_maintenance_configuration"
name="Configuration"
parent="menu_maintenance_title"
groups="base.group_equipment_manager"
groups="group_equipment_manager"
sequence="100"/>
<menuitem
@@ -857,7 +857,7 @@
name="Maintenance Teams"
parent="menu_maintenance_configuration"
action="maintenance_team_action_settings"
groups="base.group_equipment_manager"
groups="group_equipment_manager"
sequence="1"/>
<menuitem
@@ -65,7 +65,7 @@
<field name="context">{"search_default_start_date":1,"search_default_member":1, 'search_default_Revenue':1, 'search_default_this_month':1, 'search_default_salesman':1,'group_by_no_leaf':1}</field>
</record>
<menuitem name="Reports" parent="base.menu_association"
<menuitem name="Reports" parent="menu_association"
sequence="99"
action="action_report_membership_tree"
id="menu_report_membership"
+1 -1
View File
@@ -79,7 +79,7 @@
<field name="view_id" ref="base.res_partner_kanban_view"/>
<field name="act_window_id" ref="action_membership_members"/>
</record>
<menuitem name="Members" id="menu_membership" sequence="0" parent="base.menu_association" action="action_membership_members"/>
<menuitem name="Members" id="menu_membership" sequence="0" parent="menu_association" action="action_membership_members"/>
<!-- PARTNERS -->
+3 -3
View File
@@ -101,8 +101,8 @@
<field name="act_window_id" ref="action_membership_products"/>
</record>
<menuitem name="Members" id="base.menu_association" sequence="15" web_icon="membership,static/description/icon.png"/>
<menuitem name="Configuration" id="base.menu_marketing_config_association"
parent="base.menu_association" sequence="100" action="action_membership_products"/>
<menuitem name="Members" id="menu_association" sequence="15" web_icon="membership,static/description/icon.png"/>
<menuitem name="Configuration" id="menu_marketing_config_association"
parent="menu_association" sequence="100" action="action_membership_products"/>
</odoo>
+1 -1
View File
@@ -11,7 +11,7 @@
<field eval="1.0" name="manufacturing_lead"/>
</record>
<record id="product.product_assembly" model="product.product">
<record id="product_assembly" model="product.product">
<field name="standard_price">0.1</field>
<field name="uom_id" ref="product.product_uom_hour"/>
<field name="uom_po_id" ref="product.product_uom_hour"/>
@@ -36,7 +36,7 @@
<field name="target">inline</field>
</record>
<menuitem id="base.menu_mrp_config" name="Settings" parent="menu_mrp_configuration"
<menuitem id="menu_mrp_config" name="Settings" parent="menu_mrp_configuration"
sequence="0" action="action_mrp_configuration" groups="base.group_system"/>
</data>
</odoo>
+5 -5
View File
@@ -2,7 +2,7 @@
<odoo>
<data>
<!-- Top menu item -->
<menuitem id="base.menu_mrp_root"
<menuitem id="menu_mrp_root"
name="Manufacturing"
groups="group_mrp_user,group_mrp_manager"
icon="fa-wrench"
@@ -11,22 +11,22 @@
<menuitem id="menu_mrp_manufacturing"
name="Operations"
parent="base.menu_mrp_root"
parent="menu_mrp_root"
sequence="10"/>
<menuitem id="menu_mrp_bom"
name="Master Data"
parent="base.menu_mrp_root"
parent="menu_mrp_root"
sequence="20"/>
<menuitem id="menu_mrp_reporting"
name="Reporting"
parent="base.menu_mrp_root"
parent="menu_mrp_root"
sequence="25"/>
<menuitem id="menu_mrp_configuration"
name="Configuration"
parent="base.menu_mrp_root"
parent="menu_mrp_root"
groups="group_mrp_manager"
sequence="100"/>
+1 -1
View File
@@ -385,7 +385,7 @@
name="Dashboard"
action="mrp_workcenter_kanban_action"
groups="group_mrp_routings"
parent="base.menu_mrp_root"
parent="menu_mrp_root"
sequence="5"/>
+127 -127
View File
@@ -2,457 +2,457 @@
<data noupdate="1">
<!-- Drink Categories -->
<record id="point_of_sale.beverage" model="pos.category">
<record id="beverage" model="pos.category">
<field name="name">Beverages</field>
<field name="image" type="base64" file="point_of_sale/static/img/beverage-image.jpg"/>
</record>
<record id="point_of_sale.soft" model="pos.category">
<field name="parent_id" ref="point_of_sale.beverage"/>
<record id="soft" model="pos.category">
<field name="parent_id" ref="beverage"/>
<field name="name">Soft Drinks</field>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-soft_drinks.jpg"/>
<field name="sequence">1</field>
</record>
<record id="point_of_sale.milkshake" model="pos.category">
<field name="parent_id" ref="point_of_sale.beverage"/>
<record id="milkshake" model="pos.category">
<field name="parent_id" ref="beverage"/>
<field name="name">Milkshakes</field>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-milkshakes.jpg"/>
<field name="sequence">3</field>
</record>
<record id="point_of_sale.hot" model="pos.category">
<field name="parent_id" ref="point_of_sale.beverage"/>
<record id="hot" model="pos.category">
<field name="parent_id" ref="beverage"/>
<field name="name">Hot Drinks</field>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-hot_drinks.jpg"/>
<field name="sequence">2</field>
</record>
<record id="point_of_sale.beer" model="pos.category">
<field name="parent_id" ref="point_of_sale.beverage"/>
<record id="beer" model="pos.category">
<field name="parent_id" ref="beverage"/>
<field name="name">Beers</field>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-beers.jpg"/>
<field name="sequence">4</field>
</record>
<record id="point_of_sale.alcohol" model="pos.category">
<field name="parent_id" ref="point_of_sale.beverage"/>
<record id="alcohol" model="pos.category">
<field name="parent_id" ref="beverage"/>
<field name="name">Import Drinks</field>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-import_drinks.jpg"/>
<field name="sequence">6</field>
</record>
<record id="point_of_sale.wine" model="pos.category">
<field name="parent_id" ref="point_of_sale.beverage"/>
<record id="wine" model="pos.category">
<field name="parent_id" ref="beverage"/>
<field name="name">Wine</field>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-wine.jpg"/>
<field name="sequence">5</field>
</record>
<record id="point_of_sale.cocktail" model="pos.category">
<field name="parent_id" ref="point_of_sale.beverage"/>
<record id="cocktail" model="pos.category">
<field name="parent_id" ref="beverage"/>
<field name="name">Cocktails</field>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-cocktail.jpg"/>
<field name="sequence">7</field>
</record>
<!-- Soft Products -->
<record id="point_of_sale.coke" model="product.product">
<record id="coke" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">2.20</field>
<field name="name">Coca-Cola</field>
<field name="pos_categ_id" ref="point_of_sale.soft"/>
<field name="pos_categ_id" ref="soft"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-coke.jpg"/>
</record>
<record id="point_of_sale.fanta" model="product.product">
<record id="fanta" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">2.20</field>
<field name="name">Fanta</field>
<field name="pos_categ_id" ref="point_of_sale.soft"/>
<field name="pos_categ_id" ref="soft"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-fanta.jpg"/>
</record>
<record id="point_of_sale.ice_tea" model="product.product">
<record id="ice_tea" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">2.20</field>
<field name="name">Ice Tea</field>
<field name="pos_categ_id" ref="point_of_sale.soft"/>
<field name="pos_categ_id" ref="soft"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-ice_tea.jpg"/>
</record>
<record id="point_of_sale.minute_maid" model="product.product">
<record id="minute_maid" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">2.20</field>
<field name="name">Minute Maid</field>
<field name="pos_categ_id" ref="point_of_sale.soft"/>
<field name="pos_categ_id" ref="soft"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-minute_maid.jpg"/>
</record>
<record id="point_of_sale.redbull" model="product.product">
<record id="redbull" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">2.60</field>
<field name="name">RedBull</field>
<field name="pos_categ_id" ref="point_of_sale.soft"/>
<field name="pos_categ_id" ref="soft"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-redbull.jpg"/>
</record>
<record id="point_of_sale.schweppes" model="product.product">
<record id="schweppes" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">2.20</field>
<field name="name">Schweppes</field>
<field name="pos_categ_id" ref="point_of_sale.soft"/>
<field name="pos_categ_id" ref="soft"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-schweppes.jpg"/>
</record>
<record id="point_of_sale.sprite" model="product.product">
<record id="sprite" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">2.20</field>
<field name="name">Sprite</field>
<field name="pos_categ_id" ref="point_of_sale.soft"/>
<field name="pos_categ_id" ref="soft"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-sprite.jpg"/>
</record>
<record id="point_of_sale.water" model="product.product">
<record id="water" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">2.20</field>
<field name="name">Water</field>
<field name="pos_categ_id" ref="point_of_sale.soft"/>
<field name="pos_categ_id" ref="soft"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-water.jpg"/>
</record>
<!-- Milk Shakes -->
<record id="point_of_sale.milkshake_banana" model="product.product">
<record id="milkshake_banana" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">3.60</field>
<field name="name">Milkshake Banana</field>
<field name="pos_categ_id" ref="point_of_sale.milkshake"/>
<field name="pos_categ_id" ref="milkshake"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-milkshake_banana.jpg"/>
</record>
<record id="point_of_sale.milkshake_cherry" model="product.product">
<record id="milkshake_cherry" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">3.60</field>
<field name="name">Milkshake Cherry</field>
<field name="pos_categ_id" ref="point_of_sale.milkshake"/>
<field name="pos_categ_id" ref="milkshake"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-milkshake_cherry.jpg"/>
</record>
<record id="point_of_sale.milkshake_chocolate" model="product.product">
<record id="milkshake_chocolate" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">3.60</field>
<field name="name">Milkshake Chocolate</field>
<field name="pos_categ_id" ref="point_of_sale.milkshake"/>
<field name="pos_categ_id" ref="milkshake"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-milkshake_chocolate.jpg"/>
</record>
<record id="point_of_sale.milkshake_strawberry" model="product.product">
<record id="milkshake_strawberry" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">3.60</field>
<field name="name">Milkshake Strawberry</field>
<field name="pos_categ_id" ref="point_of_sale.milkshake"/>
<field name="pos_categ_id" ref="milkshake"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-milkshake_strawberry.jpg"/>
</record>
<record id="point_of_sale.milkshake_vanilla" model="product.product">
<record id="milkshake_vanilla" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">3.60</field>
<field name="name">Milkshake Vanilla</field>
<field name="pos_categ_id" ref="point_of_sale.milkshake"/>
<field name="pos_categ_id" ref="milkshake"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-milkshake_vanilla.jpg"/>
</record>
<!-- Hot Drinks Products -->
<record id="point_of_sale.tea" model="product.product">
<record id="tea" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">4.70</field>
<field name="name">Yellow Tea</field>
<field name="pos_categ_id" ref="point_of_sale.hot"/>
<field name="pos_categ_id" ref="hot"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-tea.jpg"/>
</record>
<record id="point_of_sale.nescafe" model="product.product">
<record id="nescafe" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">4.70</field>
<field name="name">Nescafe</field>
<field name="pos_categ_id" ref="point_of_sale.hot"/>
<field name="pos_categ_id" ref="hot"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-nescafe.jpg"/>
</record>
<record id="point_of_sale.irish_coffee" model="product.product">
<record id="irish_coffee" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">4.70</field>
<field name="name">Irish Coffee</field>
<field name="pos_categ_id" ref="point_of_sale.hot"/>
<field name="pos_categ_id" ref="hot"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-irish_coffee.jpg"/>
</record>
<record id="point_of_sale.green_tea" model="product.product">
<record id="green_tea" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">4.70</field>
<field name="name">Green Tea</field>
<field name="pos_categ_id" ref="point_of_sale.hot"/>
<field name="pos_categ_id" ref="hot"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-green_tea.jpg"/>
</record>
<record id="point_of_sale.capuccino" model="product.product">
<record id="capuccino" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">4.70</field>
<field name="name">Capuccino</field>
<field name="pos_categ_id" ref="point_of_sale.hot"/>
<field name="pos_categ_id" ref="hot"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-capuccino.jpg"/>
</record>
<record id="point_of_sale.coffee" model="product.product">
<record id="coffee" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">4.70</field>
<field name="name">Coffee</field>
<field name="pos_categ_id" ref="point_of_sale.hot"/>
<field name="pos_categ_id" ref="hot"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-coffee.jpg"/>
</record>
<record id="point_of_sale.espresso" model="product.product">
<record id="espresso" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">4.70</field>
<field name="name">Espresso</field>
<field name="pos_categ_id" ref="point_of_sale.hot"/>
<field name="pos_categ_id" ref="hot"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-espresso.jpg"/>
</record>
<!-- Wine Products-->
<record id="point_of_sale.red_wine" model="product.product">
<record id="red_wine" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">3.50</field>
<field name="name">Red Wine</field>
<field name="pos_categ_id" ref="point_of_sale.wine"/>
<field name="pos_categ_id" ref="wine"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-red_wine.jpg"/>
</record>
<record id="point_of_sale.white_wine" model="product.product">
<record id="white_wine" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">3.50</field>
<field name="name">White Wine</field>
<field name="pos_categ_id" ref="point_of_sale.wine"/>
<field name="pos_categ_id" ref="wine"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-white_wine.jpg"/>
</record>
<record id="point_of_sale.rose_wine" model="product.product">
<record id="rose_wine" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">3.50</field>
<field name="name">Rose Wine</field>
<field name="pos_categ_id" ref="point_of_sale.wine"/>
<field name="pos_categ_id" ref="wine"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-rose_wine.jpg"/>
</record>
<!-- Import Drink Products -->
<record id="point_of_sale.bacardi" model="product.product">
<record id="bacardi" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">5.50</field>
<field name="name">Bacardi</field>
<field name="pos_categ_id" ref="point_of_sale.alcohol"/>
<field name="pos_categ_id" ref="alcohol"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-bacardi.jpg"/>
</record>
<record id="point_of_sale.baileys" model="product.product">
<record id="baileys" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">5.50</field>
<field name="name">Baileys</field>
<field name="pos_categ_id" ref="point_of_sale.alcohol"/>
<field name="pos_categ_id" ref="alcohol"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-baileys.jpg"/>
</record>
<record id="point_of_sale.captain_morgan" model="product.product">
<record id="captain_morgan" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">5.50</field>
<field name="name">Captain Morgan</field>
<field name="pos_categ_id" ref="point_of_sale.alcohol"/>
<field name="pos_categ_id" ref="alcohol"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-captain_morgan.jpg"/>
</record>
<record id="point_of_sale.disaronno" model="product.product">
<record id="disaronno" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">5.50</field>
<field name="name">Disaronno</field>
<field name="pos_categ_id" ref="point_of_sale.alcohol"/>
<field name="pos_categ_id" ref="alcohol"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-disaronno.jpg"/>
</record>
<record id="point_of_sale.gordon" model="product.product">
<record id="gordon" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">5.50</field>
<field name="name">Gordon</field>
<field name="pos_categ_id" ref="point_of_sale.alcohol"/>
<field name="pos_categ_id" ref="alcohol"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-gordon.jpg"/>
</record>
<record id="point_of_sale.jack_daniels" model="product.product">
<record id="jack_daniels" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">5.50</field>
<field name="name">Jack Daniel's</field>
<field name="pos_categ_id" ref="point_of_sale.alcohol"/>
<field name="pos_categ_id" ref="alcohol"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-jack_daniels.jpg"/>
</record>
<record id="point_of_sale.jim_beam" model="product.product">
<record id="jim_beam" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">5.50</field>
<field name="name">Jim Beam</field>
<field name="pos_categ_id" ref="point_of_sale.alcohol"/>
<field name="pos_categ_id" ref="alcohol"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-jim_beam.jpg"/>
</record>
<record id="point_of_sale.malibu" model="product.product">
<record id="malibu" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">5.50</field>
<field name="name">Malibu</field>
<field name="pos_categ_id" ref="point_of_sale.alcohol"/>
<field name="pos_categ_id" ref="alcohol"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-malibu.jpg"/>
</record>
<record id="point_of_sale.martini" model="product.product">
<record id="martini" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">5.50</field>
<field name="name">Martini</field>
<field name="pos_categ_id" ref="point_of_sale.alcohol"/>
<field name="pos_categ_id" ref="alcohol"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-martini.jpg"/>
</record>
<record id="point_of_sale.red_label" model="product.product">
<record id="red_label" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">5.50</field>
<field name="name">Red Label</field>
<field name="pos_categ_id" ref="point_of_sale.alcohol"/>
<field name="pos_categ_id" ref="alcohol"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-red_label.jpg"/>
</record>
<record id="point_of_sale.safari" model="product.product">
<record id="safari" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">5.50</field>
<field name="name">Safari</field>
<field name="pos_categ_id" ref="point_of_sale.alcohol"/>
<field name="pos_categ_id" ref="alcohol"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-safari.jpg"/>
</record>
<record id="point_of_sale.smirnoff" model="product.product">
<record id="smirnoff" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">5.50</field>
<field name="name">Smirnoff</field>
<field name="pos_categ_id" ref="point_of_sale.alcohol"/>
<field name="pos_categ_id" ref="alcohol"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-smirnoff.jpg"/>
</record>
<record id="point_of_sale.tequila" model="product.product">
<record id="tequila" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">5.50</field>
<field name="name">Tequila</field>
<field name="pos_categ_id" ref="point_of_sale.alcohol"/>
<field name="pos_categ_id" ref="alcohol"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-tequila.jpg"/>
</record>
<!-- Beers Products -->
<record id="point_of_sale.tuborg" model="product.product">
<record id="tuborg" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">3.40</field>
<field name="name">Tuborg</field>
<field name="pos_categ_id" ref="point_of_sale.beer"/>
<field name="pos_categ_id" ref="beer"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-tuborg.jpg"/>
</record>
<record id="point_of_sale.stella_artois" model="product.product">
<record id="stella_artois" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">3.40</field>
<field name="name">Stella Artois</field>
<field name="pos_categ_id" ref="point_of_sale.beer"/>
<field name="pos_categ_id" ref="beer"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-stella_artois.jpg"/>
</record>
<record id="point_of_sale.miller" model="product.product">
<record id="miller" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">3.40</field>
<field name="name">Miller</field>
<field name="pos_categ_id" ref="point_of_sale.beer"/>
<field name="pos_categ_id" ref="beer"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-miller.jpg"/>
</record>
<record id="point_of_sale.guinness" model="product.product">
<record id="guinness" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">3.40</field>
<field name="name">Guinness</field>
<field name="pos_categ_id" ref="point_of_sale.beer"/>
<field name="pos_categ_id" ref="beer"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-guinness.jpg"/>
</record>
<record id="point_of_sale.fosters" model="product.product">
<record id="fosters" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">3.40</field>
<field name="name">Foster's</field>
<field name="pos_categ_id" ref="point_of_sale.beer"/>
<field name="pos_categ_id" ref="beer"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-fosters.jpg"/>
</record>
<record id="point_of_sale.efes" model="product.product">
<record id="efes" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">3.40</field>
<field name="name">Efes</field>
<field name="pos_categ_id" ref="point_of_sale.beer"/>
<field name="pos_categ_id" ref="beer"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-efes.jpg"/>
</record>
<record id="point_of_sale.corona" model="product.product">
<record id="corona" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">3.40</field>
<field name="name">Corona</field>
<field name="pos_categ_id" ref="point_of_sale.beer"/>
<field name="pos_categ_id" ref="beer"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-corona.jpg"/>
</record>
<record id="point_of_sale.carlsberg" model="product.product">
<record id="carlsberg" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">3.40</field>
<field name="name">Carlsberg</field>
<field name="pos_categ_id" ref="point_of_sale.beer"/>
<field name="pos_categ_id" ref="beer"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-carlsberg.jpg"/>
</record>
<record id="point_of_sale.budweiser" model="product.product">
<record id="budweiser" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">3.40</field>
<field name="name">Budweiser</field>
<field name="pos_categ_id" ref="point_of_sale.beer"/>
<field name="pos_categ_id" ref="beer"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-budweiser.jpg"/>
</record>
<!-- Cocktails Products -->
<record id="point_of_sale.bloody_mary" model="product.product">
<record id="bloody_mary" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">7.50</field>
<field name="name">Bloody Mary</field>
<field name="pos_categ_id" ref="point_of_sale.cocktail"/>
<field name="pos_categ_id" ref="cocktail"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-bloody_mary.jpg"/>
</record>
<record id="point_of_sale.caipirinha" model="product.product">
<record id="caipirinha" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">7.50</field>
<field name="name">Caipirinha</field>
<field name="pos_categ_id" ref="point_of_sale.cocktail"/>
<field name="pos_categ_id" ref="cocktail"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-caipirinha.jpg"/>
</record>
<record id="point_of_sale.cosmopolitan" model="product.product">
<record id="cosmopolitan" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">7.50</field>
<field name="name">Cosmopolitan</field>
<field name="pos_categ_id" ref="point_of_sale.cocktail"/>
<field name="pos_categ_id" ref="cocktail"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-cosmopolitan.jpg"/>
</record>
<record id="point_of_sale.cuba_libre" model="product.product">
<record id="cuba_libre" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">7.50</field>
<field name="name">Cuba Libre</field>
<field name="pos_categ_id" ref="point_of_sale.cocktail"/>
<field name="pos_categ_id" ref="cocktail"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-cuba_libre.jpg"/>
</record>
<record id="point_of_sale.daiquiri" model="product.product">
<record id="daiquiri" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">7.50</field>
<field name="name">Daiquiri</field>
<field name="pos_categ_id" ref="point_of_sale.cocktail"/>
<field name="pos_categ_id" ref="cocktail"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-daiquiri.jpg"/>
</record>
<record id="point_of_sale.manhattan" model="product.product">
<record id="manhattan" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">7.50</field>
<field name="name">Manhattan</field>
<field name="pos_categ_id" ref="point_of_sale.cocktail"/>
<field name="pos_categ_id" ref="cocktail"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-manhattan.jpg"/>
</record>
<record id="point_of_sale.margarita" model="product.product">
<record id="margarita" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">7.50</field>
<field name="name">Margarita</field>
<field name="pos_categ_id" ref="point_of_sale.cocktail"/>
<field name="pos_categ_id" ref="cocktail"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-margarita.jpg"/>
</record>
<record id="point_of_sale.martini_cocktail" model="product.product">
<record id="martini_cocktail" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">7.50</field>
<field name="name">Martini</field>
<field name="pos_categ_id" ref="point_of_sale.cocktail"/>
<field name="pos_categ_id" ref="cocktail"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-martini_cocktail.jpg"/>
</record>
<record id="point_of_sale.mojito" model="product.product">
<record id="mojito" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">7.50</field>
<field name="name">Mojito</field>
<field name="pos_categ_id" ref="point_of_sale.cocktail"/>
<field name="pos_categ_id" ref="cocktail"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-mojito.jpg"/>
</record>
<record id="point_of_sale.pina_colada" model="product.product">
<record id="pina_colada" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">7.50</field>
<field name="name">Pina Colada</field>
<field name="pos_categ_id" ref="point_of_sale.cocktail"/>
<field name="pos_categ_id" ref="cocktail"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-pina_colada.jpg"/>
</record>
<record id="point_of_sale.white_russian" model="product.product">
<record id="white_russian" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">7.50</field>
<field name="name">White Russian</field>
<field name="pos_categ_id" ref="point_of_sale.cocktail"/>
<field name="pos_categ_id" ref="cocktail"/>
<field name="image" type="base64" file="pos_data_drinks/static/img/th-white_russian.jpg"/>
</record>
+1 -1
View File
@@ -1076,7 +1076,7 @@
<record id="planner_project" model="web.planner">
<field name="name">Project Management planner</field>
<field name="view_id" ref="project_planner"/>
<field name="menu_id" ref="base.menu_main_pm"/>
<field name="menu_id" ref="menu_main_pm"/>
<field name="progress">7</field>
<field name="planner_application">planner_project</field>
<field name="tooltip_planner"><![CDATA[
+1 -1
View File
@@ -9,7 +9,7 @@ var _t = core._t;
tour.register('project_tour', {
url: "/web",
}, [tour.STEPS.MENU_MORE, {
trigger: '.o_app[data-menu-xmlid="base.menu_main_pm"], .oe_menu_toggler[data-menu-xmlid="base.menu_main_pm"]',
trigger: '.o_app[data-menu-xmlid="project.menu_main_pm"], .oe_menu_toggler[data-menu-xmlid="project.menu_main_pm"]',
content: _t('Want a better way to <b>manage your projects</b>? <i>It starts here.</i>'),
position: 'bottom',
}, {
+7 -7
View File
@@ -3,17 +3,17 @@
<!-- Top menu item -->
<menuitem name="Project"
id="base.menu_main_pm"
id="menu_main_pm"
groups="group_project_manager,group_project_user"
web_icon="project,static/description/icon.png"
sequence="50"/>
<menuitem name="Search"
id="menu_project_management"
parent="base.menu_main_pm"
parent="menu_main_pm"
sequence="2" groups="base.group_no_one,group_project_user"/>
<menuitem id="menu_project_config" name="Configuration" parent="base.menu_main_pm"
<menuitem id="menu_project_config" name="Configuration" parent="menu_main_pm"
sequence="100" groups="project.group_project_manager"/>
<record id="view_task_search_form" model="ir.ui.view">
@@ -680,9 +680,9 @@ action = model.activate_sample_project()
<menuitem id="menu_tasks_config" name="GTD" parent="menu_project_config" sequence="2"/>
<menuitem action="open_task_type_form" id="base.menu_project_config_project" name="Stages" parent="menu_project_config" sequence="3" groups="group_project_manager"/>
<menuitem action="open_task_type_form" id="menu_project_config_project" name="Stages" parent="menu_project_config" sequence="3" groups="group_project_manager"/>
<menuitem action="open_view_project_all" id="menu_projects" name="Dashboard" parent="base.menu_main_pm" sequence="1"/>
<menuitem action="open_view_project_all" id="menu_projects" name="Dashboard" parent="menu_main_pm" sequence="1"/>
<menuitem action="open_view_project_all_config" id="menu_projects_config" name="Projects" parent="menu_project_config" sequence="10"/>
<!-- User Form -->
@@ -724,9 +724,9 @@ action = model.activate_sample_project()
<menuitem action="project_tags_action" id="menu_project_tags_act" parent="menu_project_config" groups="base.group_no_one"/>
<!-- Reporting menus -->
<menuitem id="base.menu_project_report" name="Reports"
<menuitem id="menu_project_report" name="Reports"
groups="project.group_project_manager"
action="project.action_project_task_user_tree"
parent="base.menu_main_pm" sequence="99"/>
parent="menu_main_pm" sequence="99"/>
</odoo>
+1 -1
View File
@@ -43,6 +43,6 @@
<field name="target">inline</field>
</record>
<menuitem id="base.menu_project_general_settings" name="Settings" parent="menu_project_config"
<menuitem id="menu_project_general_settings" name="Settings" parent="menu_project_config"
sequence="0" action="action_config_settings" groups="base.group_system"/>
</odoo>
+1 -1
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- Make the xmlid of menus required by the Project tour available in webclient -->
<record id="base.menu_main_pm" model="ir.ui.menu">
<record id="menu_main_pm" model="ir.ui.menu">
<field name="load_xmlid" eval="True"/>
</record>
<record id="menu_projects" model="ir.ui.menu">
@@ -93,5 +93,5 @@
</record>
<menuitem id="menu_project_issue_report_tree" action="action_project_issue_report"
parent="base.menu_project_report"/>
parent="project.menu_project_report"/>
</odoo>
@@ -91,7 +91,7 @@
<field name="help">Purchase Analysis allows you to easily check and analyse your company purchase history and performance. From this menu you can track your negotiation performance, the delivery performance of your vendors, etc.</field>
</record>
<menuitem id="base.purchase_report" name="Reports" parent="base.menu_purchase_root" sequence="99"
<menuitem id="purchase_report" name="Reports" parent="menu_purchase_root" sequence="99"
groups="purchase.group_purchase_manager" action="action_purchase_order_report_all"/>
</odoo>
+4 -4
View File
@@ -3,20 +3,20 @@
<!-- Top menu item -->
<menuitem name="Purchases"
id="base.menu_purchase_root"
id="menu_purchase_root"
groups="group_purchase_manager,group_purchase_user"
web_icon="purchase,static/description/icon.png"
sequence="25"/>
<menuitem id="menu_procurement_management" name="Purchase"
parent="base.menu_purchase_root" sequence="1" />
parent="menu_purchase_root" sequence="1" />
<!--Supplier menu-->
<menuitem id="menu_procurement_management_supplier_name" name="Vendors"
parent="menu_procurement_management"
action="base.action_partner_supplier_form" sequence="15"/>
<menuitem id="menu_purchase_config" name="Configuration" parent="base.menu_purchase_root" sequence="100" groups="group_purchase_manager"/>
<menuitem id="menu_purchase_config" name="Configuration" parent="menu_purchase_root" sequence="100" groups="group_purchase_manager"/>
<menuitem
action="product.product_supplierinfo_type_action" id="menu_product_pricelist_action2_purchase"
@@ -40,7 +40,7 @@
<!-- Purchase Control Menu -->
<menuitem id="menu_purchase_control" name="Control" parent="base.menu_purchase_root" sequence="4"/>
<menuitem id="menu_purchase_control" name="Control" parent="purchase.menu_purchase_root" sequence="4"/>
<!--Inventory control-->
<menuitem action="stock.action_receipt_picking_move" id="menu_action_picking_tree_in_move"
+1 -1
View File
@@ -104,7 +104,7 @@
</p>
</field>
</record>
<menuitem id="rating_rating_menu_project" action="rating_rating_action_project" parent="base.menu_project_report" sequence="5"/>
<menuitem id="rating_rating_menu_project" action="rating_rating_action_project" parent="project.menu_project_report" sequence="5"/>
</data>
</odoo>
+1 -1
View File
@@ -94,6 +94,6 @@
<field name="help">This report performs analysis on your quotations and sales orders. Analysis check your sales revenues and sort it by different group criteria (salesman, partner, product, etc.) Use this report to perform analysis on sales not having invoiced yet. If you want to analyse your turnover, you should use the Invoice Analysis report in the Accounting application.</field>
</record>
<menuitem name="Sales" action="action_order_report_all" id="menu_report_product_all" parent="base.menu_sale_report" sequence="10"/>
<menuitem name="Sales" action="action_order_report_all" id="menu_report_product_all" parent="sales_team.menu_sale_report" sequence="10"/>
</odoo>
@@ -61,9 +61,4 @@
</field>
</record>
<menuitem id="sales_team.menu_sale_config" name="Configuration" parent="sales_team.menu_base_partner"
sequence="100" groups="sales_team.group_sale_manager"/>
<menuitem id="sales_team.menu_sale_general_settings" name="Settings" parent="sales_team.menu_sale_config"
sequence="0" action="sales_team.action_sale_config" groups="base.group_system"/>
</odoo>
@@ -53,7 +53,7 @@
<menuitem
action="report_configuration_action"
id="Report_configuration"
parent="sales_team.menu_sales_config"
parent="menu_sales_config"
sequence="2"
name="Report Layout Categories"
groups="sale.group_sale_layout"
+1 -2
View File
@@ -11,7 +11,7 @@
web_icon="sale,static/description/icon.png"/>
<menuitem
id= "sales_team.menu_sales_config"
id= "menu_sales_config"
parent= "sales_team.menu_sale_config"
sequence= "1"
name= "Sales"
@@ -28,7 +28,6 @@
<menuitem id="next_id_16" name="Units of Measure" parent="sale.prod_config_main" sequence="30" groups="product.group_uom"/>
<menuitem action="product.product_uom_form_action" id="menu_product_uom_form_action" parent="sale.prod_config_main" sequence="6" groups="product.group_uom"/>
<menuitem action="product.product_uom_categ_form_action" id="menu_product_uom_categ_form_action" parent="sale.prod_config_main" sequence="7" groups="base.group_no_one"/>
<menuitem id="sales_team.menu_sale_config_sales" name="Configuration" parent="sales_team.menu_base_partner" sequence="100" groups="account.group_account_user"/>
<menuitem id="menu_product_pricelist_main" name="Pricelists" parent="sales_team.menu_sale_config" groups="product.group_sale_pricelist" sequence="3"/>
<menuitem action="product.product_pricelist_action2" id="menu_product_pricelist_action2" parent="menu_product_pricelist_main" sequence="1" groups="product.group_sale_pricelist"/>
+2 -2
View File
@@ -7,10 +7,10 @@
</xpath>
</template>
<menuitem id="base.menu_aftersale" name="After-Sale"
<menuitem id="menu_aftersale" name="After-Sale"
groups="sales_team.group_sale_salesman"
parent="sales_team.menu_base_partner" sequence="5" />
<menuitem id="base.menu_invoiced" name="Invoicing" parent="base.menu_aftersale" sequence="1"/>
<menuitem id="menu_invoiced" name="Invoicing" parent="menu_aftersale" sequence="1"/>
<record id="stock_location_route_form_view_inherit_sale_stock" model="ir.ui.view">
<field name="name">stock.location.route.form</field>
+1 -1
View File
@@ -14,9 +14,9 @@ Using this application you can manage Sales Team with CRM and/or Sales
'data': ['security/sales_team_security.xml',
'security/ir.model.access.csv',
'data/sales_team_data.xml',
'views/res_config_view.xml',
'views/crm_team_views.xml',
'views/sales_team_dashboard.xml',
'views/res_config_view.xml',
],
'qweb': [
"static/src/xml/sales_team_dashboard.xml",
@@ -5,6 +5,10 @@
<field name="name">Direct Sales</field>
<field name="member_ids" eval="[(4, ref('base.user_root'))]"/>
</record>
<record model="crm.team" id="salesteam_website_sales">
<field name="name">Website Sales</field>
</record>
</data>
<record model="res.groups" id="sales_team.group_sale_salesman">
+16 -11
View File
@@ -1,15 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<menuitem name="Sales"
id="menu_base_partner"
groups="group_sale_salesman,group_sale_manager" sequence="6"/>
<menuitem id="menu_sales" name="Sales" parent="menu_base_partner" sequence="5"/>
<menuitem id="menu_sale_config" name="Configuration" parent="menu_base_partner"
sequence="100" groups="group_sale_manager"/>
<menuitem name="Sales"
id="menu_base_partner"
groups="group_sale_salesman,group_sale_manager" sequence="6"/>
<menuitem id="menu_sales" name="Sales" parent="menu_base_partner" sequence="5"/>
<menuitem id="menu_partner_form" parent="menu_sales" action="base.action_partner_form" sequence="3"/>
<menuitem id="menu_sale_config" name="Configuration" parent="menu_base_partner"
sequence="100" groups="group_sale_manager"/>
<menuitem id="menu_sale_general_settings" name="Settings" parent="menu_sale_config"
sequence="0" action="action_sale_config" groups="base.group_system"/>
<menuitem id="menu_config_address_book" parent="menu_sale_config" name="Contacts" sequence="4" groups="base.group_system"/>
<menuitem action="base.action_partner_category_form" id="menu_partner_category_form" name="Contact Tags" sequence="1" parent="menu_config_address_book" groups="base.group_no_one"/>
<menuitem action="base.action_partner_title_contact" id="menu_partner_title_contact" name="Contact Titles" parent="menu_config_address_book" sequence="3" groups="base.group_no_one"/>
@@ -17,10 +21,11 @@
<menuitem action="base.action_country" id="menu_country_partner" parent="menu_localisation" sequence="1" groups="base.group_no_one"/>
<menuitem action="base.action_country_group" id="menu_country_group" name="Country Group" parent="menu_localisation" sequence="3" groups="base.group_no_one"/>
<menuitem action="base.action_country_state" id="menu_country_state_partner" parent="menu_localisation" sequence="2" groups="base.group_no_one"/>
<menuitem action="base.action_currency_form" id="base.menu_action_currency_form" parent="menu_localisation" sequence="3" groups="base.group_multi_currency"/>
<menuitem action="base.action_currency_form" id="menu_action_currency_form" parent="menu_localisation" sequence="3" groups="base.group_multi_currency"/>
<menuitem id="menu_config_bank_accounts" name="Bank Accounts" parent="menu_config_address_book" sequence="6" groups="base.group_no_one"/>
<menuitem action="base.action_res_bank_form" id="base.menu_action_res_bank_form" parent="menu_config_bank_accounts" sequence="1" groups="base.group_no_one"/>
<menuitem action="base.action_res_partner_bank_account_form" id="base.menu_action_res_partner_bank_form" parent="menu_config_bank_accounts" groups="base.group_no_one" sequence="2"/>
<menuitem action="base.action_res_bank_form" id="menu_action_res_bank_form" parent="menu_config_bank_accounts" sequence="1" groups="base.group_no_one"/>
<menuitem action="base.action_res_partner_bank_account_form" id="menu_action_res_partner_bank_form" parent="menu_config_bank_accounts" groups="base.group_no_one" sequence="2"/>
<!-- Cateamions Search view -->
@@ -165,7 +170,7 @@
</xpath>
</template>
<menuitem id="base.menu_sale_report" name="Reports" parent="sales_team.menu_base_partner" sequence="99" groups="sales_team.group_sale_manager"/>
<menuitem id="menu_sale_report" name="Reports" parent="sales_team.menu_base_partner" sequence="99" groups="sales_team.group_sale_manager"/>
<record id="sales_team_config_action" model="ir.actions.act_window">
<field name="name">Sales Teams</field>
@@ -186,7 +191,7 @@
</record>
<menuitem name="Sales Teams"
id="base.sales_team_config"
id="sales_team_config"
parent="sales_team.menu_sale_config"
action="sales_team_config_action"/>
+1 -1
View File
@@ -3,7 +3,7 @@
<data noupdate="1">
<!-- Grant survey permissions to demo user -->
<record id="base.user_demo" model="res.users">
<field eval="[(4, ref('base.group_survey_manager'))]" name="groups_id"/>
<field eval="[(4, ref('group_survey_manager'))]" name="groups_id"/>
</record>
</data>
</odoo>
+14 -14
View File
@@ -6,17 +6,17 @@ access_survey_label_public,survey.label public,model_survey_label,,1,0,0,0
access_survey_user_input_public,survey.user_input public,model_survey_user_input,,1,1,1,0
access_survey_user_input_line_public,survey.user_input_line public,model_survey_user_input_line,,1,1,1,0
access_survey_stage_public,survey.stage public,model_survey_stage,,1,0,0,0
access_survey_user,survey.survey user,model_survey_survey,base.group_survey_user,1,0,0,0
access_survey_page_user,survey.page user,model_survey_page,base.group_survey_user,1,0,0,0
access_survey_question_user,survey.question user,model_survey_question,base.group_survey_user,1,0,0,0
access_survey_label_user,survey.label user,model_survey_label,base.group_survey_user,1,0,0,0
access_survey_user_input_user,survey.user_input user,model_survey_user_input,base.group_survey_user,1,1,1,0
access_survey_user_input_line_user,survey.user_input_line user,model_survey_user_input_line,base.group_survey_user,1,1,1,0
access_survey_stage_user,survey.stage user,model_survey_stage,base.group_survey_user,1,0,0,0
access_survey_manager,survey.survey manager,model_survey_survey,base.group_survey_manager,1,1,1,1
access_survey_page_manager,survey.page manager,model_survey_page,base.group_survey_manager,1,1,1,1
access_survey_question_manager,survey.question manager,model_survey_question,base.group_survey_manager,1,1,1,1
access_survey_label_manager,survey.label manager,model_survey_label,base.group_survey_manager,1,1,1,1
access_survey_user_input_manager,survey.user_input manager,model_survey_user_input,base.group_survey_manager,1,1,1,1
access_survey_user_input_line_manager,survey.user_input_line manager,model_survey_user_input_line,base.group_survey_manager,1,1,1,1
access_survey_stage_manager,survey.stage manager,model_survey_stage,base.group_survey_manager,1,1,1,1
access_survey_user,survey.survey user,model_survey_survey,group_survey_user,1,0,0,0
access_survey_page_user,survey.page user,model_survey_page,group_survey_user,1,0,0,0
access_survey_question_user,survey.question user,model_survey_question,group_survey_user,1,0,0,0
access_survey_label_user,survey.label user,model_survey_label,group_survey_user,1,0,0,0
access_survey_user_input_user,survey.user_input user,model_survey_user_input,group_survey_user,1,1,1,0
access_survey_user_input_line_user,survey.user_input_line user,model_survey_user_input_line,group_survey_user,1,1,1,0
access_survey_stage_user,survey.stage user,model_survey_stage,group_survey_user,1,0,0,0
access_survey_manager,survey.survey manager,model_survey_survey,group_survey_manager,1,1,1,1
access_survey_page_manager,survey.page manager,model_survey_page,group_survey_manager,1,1,1,1
access_survey_question_manager,survey.question manager,model_survey_question,group_survey_manager,1,1,1,1
access_survey_label_manager,survey.label manager,model_survey_label,group_survey_manager,1,1,1,1
access_survey_user_input_manager,survey.user_input manager,model_survey_user_input,group_survey_manager,1,1,1,1
access_survey_user_input_line_manager,survey.user_input_line manager,model_survey_user_input_line,group_survey_manager,1,1,1,1
access_survey_stage_manager,survey.stage manager,model_survey_stage,group_survey_manager,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
6 access_survey_user_input_public survey.user_input public model_survey_user_input 1 1 1 0
7 access_survey_user_input_line_public survey.user_input_line public model_survey_user_input_line 1 1 1 0
8 access_survey_stage_public survey.stage public model_survey_stage 1 0 0 0
9 access_survey_user survey.survey user model_survey_survey base.group_survey_user group_survey_user 1 0 0 0
10 access_survey_page_user survey.page user model_survey_page base.group_survey_user group_survey_user 1 0 0 0
11 access_survey_question_user survey.question user model_survey_question base.group_survey_user group_survey_user 1 0 0 0
12 access_survey_label_user survey.label user model_survey_label base.group_survey_user group_survey_user 1 0 0 0
13 access_survey_user_input_user survey.user_input user model_survey_user_input base.group_survey_user group_survey_user 1 1 1 0
14 access_survey_user_input_line_user survey.user_input_line user model_survey_user_input_line base.group_survey_user group_survey_user 1 1 1 0
15 access_survey_stage_user survey.stage user model_survey_stage base.group_survey_user group_survey_user 1 0 0 0
16 access_survey_manager survey.survey manager model_survey_survey base.group_survey_manager group_survey_manager 1 1 1 1
17 access_survey_page_manager survey.page manager model_survey_page base.group_survey_manager group_survey_manager 1 1 1 1
18 access_survey_question_manager survey.question manager model_survey_question base.group_survey_manager group_survey_manager 1 1 1 1
19 access_survey_label_manager survey.label manager model_survey_label base.group_survey_manager group_survey_manager 1 1 1 1
20 access_survey_user_input_manager survey.user_input manager model_survey_user_input base.group_survey_manager group_survey_manager 1 1 1 1
21 access_survey_user_input_line_manager survey.user_input_line manager model_survey_user_input_line base.group_survey_manager group_survey_manager 1 1 1 1
22 access_survey_stage_manager survey.stage manager model_survey_stage base.group_survey_manager group_survey_manager 1 1 1 1
+8 -8
View File
@@ -2,21 +2,21 @@
<odoo>
<data noupdate="1">
<!-- Survey users -->
<record model="res.groups" id="base.group_survey_user">
<record model="res.groups" id="group_survey_user">
<field name="name">User</field>
<field name="category_id" ref="base.module_category_survey"/>
</record>
<!-- Survey managers -->
<record model="res.groups" id="base.group_survey_manager">
<record model="res.groups" id="group_survey_manager">
<field name="name">Manager</field>
<field name="category_id" ref="base.module_category_survey"/>
<field name="implied_ids" eval="[(4, ref('base.group_survey_user'))]"/>
<field name="implied_ids" eval="[(4, ref('group_survey_user'))]"/>
<field name="users" eval="[(4, ref('base.user_root'))]"/>
</record>
<record id="base.default_user" model="res.users">
<field name="groups_id" eval="[(4,ref('base.group_survey_manager'))]"/>
<field name="groups_id" eval="[(4,ref('group_survey_manager'))]"/>
</record>
<!-- Record rules -->
@@ -24,7 +24,7 @@
<field name="name">Access to survey for regular users</field>
<field name="model_id" ref="survey.model_survey_survey"/>
<field name="domain_force">[('stage_id.closed', '=', False)]</field>
<field name="groups" eval="[(4, ref('base.group_survey_user'))]"/>
<field name="groups" eval="[(4, ref('group_survey_user'))]"/>
<field eval="0" name="perm_unlink"/>
<field eval="0" name="perm_write"/>
<field eval="1" name="perm_read"/>
@@ -35,7 +35,7 @@
<field name="name">Survey Manager access rights</field>
<field name="model_id" ref="survey.model_survey_survey"/>
<field name="domain_force">[(1, '=', 1)]</field>
<field name="groups" eval="[(4, ref('base.group_survey_manager'))]"/>
<field name="groups" eval="[(4, ref('group_survey_manager'))]"/>
<field eval="1" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_read"/>
@@ -57,7 +57,7 @@
<field name="name">Access to user_input for regular users</field>
<field name="model_id" ref="survey.model_survey_user_input"/>
<field name="domain_force">['|', ('create_uid', '=', user.id), ('partner_id', '=', user.partner_id.id)]</field>
<field name="groups" eval="[(4, ref('base.group_survey_user'))]"/>
<field name="groups" eval="[(4, ref('group_survey_user'))]"/>
<field eval="0" name="perm_unlink"/>
<field eval="0" name="perm_write"/>
<field eval="1" name="perm_read"/>
@@ -68,7 +68,7 @@
<field name="name">Survey Manager access rights</field>
<field name="model_id" ref="survey.model_survey_user_input"/>
<field name="domain_force">[(1, '=', 1)]</field>
<field name="groups" eval="[(4, ref('base.group_survey_manager'))]"/>
<field name="groups" eval="[(4, ref('group_survey_manager'))]"/>
<field eval="1" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_read"/>
+2 -2
View File
@@ -18,10 +18,10 @@ class TestSurvey(TransactionCase):
def setUp(self):
super(TestSurvey, self).setUp()
User = self.env['res.users'].with_context({'no_reset_password': True})
(group_survey_user, group_employee) = (self.ref('base.group_survey_user'), self.ref('base.group_user'))
(group_survey_user, group_employee) = (self.ref('survey.group_survey_user'), self.ref('base.group_user'))
self.survey_manager = User.create({
'name': 'Gustave Doré', 'login': 'Gustav','email': 'gustav.dore@example.com',
'groups_id': [(6, 0, [self.ref('base.group_survey_manager'), group_survey_user, group_employee])]})
'groups_id': [(6, 0, [self.ref('survey.group_survey_manager'), group_survey_user, group_employee])]})
self.survey_user = User.create({
'name': 'Lukas Peeters', 'login': 'Lukas', 'email': 'lukas.petters@example.com',
+1 -1
View File
@@ -63,7 +63,7 @@
<!-- Back Button to redirect in form view of survey -->
<template id="back" name="Back">
<div groups="base.group_website_publisher" t-ignore="true" class="pull-right">
<div groups="website.group_website_publisher" t-ignore="true" class="pull-right">
<a t-attf-href="/web#view_type=form&amp;model=survey.survey&amp;id=#{survey.id}&amp;action=survey.action_survey_form" class="btn btn-default">Back to Survey</a>
</div>
</template>
+2 -2
View File
@@ -115,7 +115,7 @@
<field name="id" invisible="1"/>
<field name="tot_start_survey" invisible="1"/>
<field name="is_closed" invisible="1"/>
<header groups="base.group_survey_manager">
<header groups="survey.group_survey_manager">
<button name="action_test_survey" string="Design Survey" type="object" class="oe_highlight"/>
<button name="action_test_survey" string="Test Survey" type="object" attrs="{'invisible': [('id', '=', False)]}"/>
<button name="action_print_survey" string="Print Survey" type="object" attrs="{'invisible': [('id', '=', False)]}"/>
@@ -639,7 +639,7 @@
<!-- MENU ELEMENTS -->
<!-- Left menu categories-->
<menuitem name="Surveys" id="menu_surveys" sequence="70" groups="base.group_survey_user" web_icon="survey,static/description/icon.png"/>
<menuitem name="Surveys" id="menu_surveys" sequence="70" groups="group_survey_user" web_icon="survey,static/description/icon.png"/>
<!-- Left menu elements: Survey -->
<menuitem name="Surveys" id="menu_survey_form" action="action_survey_form" parent="menu_surveys" sequence="1"/>

Some files were not shown because too many files have changed in this diff Show More