[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:
@@ -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>
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<odoo>
|
||||
|
||||
<menuitem
|
||||
id="base.menu_import_crm"
|
||||
id="menu_import_crm"
|
||||
name="Import & Synchronize"
|
||||
parent="sales_team.menu_base_partner"/>
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -14,26 +14,19 @@
|
||||
sequence="6"/>
|
||||
|
||||
<menuitem
|
||||
id="sales_team.menu_crm_config_lead"
|
||||
id="menu_crm_config_lead"
|
||||
name="Leads & 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"/>
|
||||
|
||||
@@ -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,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">
|
||||
|
||||
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
||||
@@ -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 & 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>
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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>
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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
|
||||
|
||||
|
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
@@ -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',
|
||||
|
||||
@@ -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 -->
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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<0.1" decoration-danger="total_difference>=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
|
||||
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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>
|
||||
|
||||
@@ -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,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>
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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 -->
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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[
|
||||
|
||||
@@ -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',
|
||||
}, {
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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,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>
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
@@ -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"/>
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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&model=survey.survey&id=#{survey.id}&action=survey.action_survey_form" class="btn btn-default">Back to Survey</a>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user