mirror of
https://gitlab.com/hibou-io/hibou-odoo/suite.git
synced 2025-01-20 12:37:31 +02:00
Merge branch '11.0' into 11.0-test
This commit is contained in:
@@ -8,9 +8,28 @@
|
||||
<field name="inherit_id" ref="hr_payroll.view_hr_payslip_line_filter"/>
|
||||
<field name="arch" type="xml">
|
||||
<data>
|
||||
<xpath expr="//group" position="inside">
|
||||
<xpath expr="//group" position="before">
|
||||
<separator string="Date Account"/>
|
||||
<filter name="this_week" string="This Week" domain="[('date', '>=', (context_today() - datetime.timedelta(days=7)).strftime('%Y-%m-%d')), ('date', '<', (context_today() - datetime.timedelta(days=0)).strftime('%Y-%m-%d'))]"/>
|
||||
<filter name="last_week" string="Last Week" domain="[('date', '>=', (context_today() - datetime.timedelta(days=14)).strftime('%Y-%m-%d')), ('date', '<', (context_today() - datetime.timedelta(days=7)).strftime('%Y-%m-%d'))]"/>
|
||||
<filter name="last_two_week" string="Two Weeks Ago" domain="[('date', '>=', (context_today() - datetime.timedelta(days=21)).strftime('%Y-%m-%d')), ('date', '<', (context_today() - datetime.timedelta(days=14)).strftime('%Y-%m-%d'))]"/>
|
||||
<filter name="last_three_week" string="Three Weeks Ago" domain="[('date', '>=', (context_today() - datetime.timedelta(days=28)).strftime('%Y-%m-%d')), ('date', '<', (context_today() - datetime.timedelta(days=21)).strftime('%Y-%m-%d'))]"/>
|
||||
<filter name="this_month" string="This Month" domain="[('date', '>=', context_today().strftime('%Y-%m-01')), ('date', '<=', (context_today().replace(day=28) + datetime.timedelta(days=4)).strftime('%Y-%m-01'))]"/>
|
||||
<filter name="last_month" string="Last Month" domain="[('date', '<', context_today().strftime('%Y-%m-01')), ('date', '>=', (context_today().replace(day=1) - datetime.timedelta(days=1)).strftime('%Y-%m-01'))]"/>
|
||||
<separator string="This Year"/>
|
||||
<filter name="this_year_q1" string="This Year Q1" domain="[('date', '>=', context_today().strftime('%Y-01-01')), ('date', '<', context_today().strftime('%Y-04-01'))]" />
|
||||
<filter name="this_year_q2" string="This Year Q2" domain="[('date', '>=', context_today().strftime('%Y-04-01')), ('date', '<', context_today().strftime('%Y-07-01'))]" />
|
||||
<filter name="this_year_q3" string="This Year Q3" domain="[('date', '>=', context_today().strftime('%Y-07-01')), ('date', '<', context_today().strftime('%Y-10-01'))]" />
|
||||
<filter name="this_year_q4" string="This Year Q4" domain="[('date', '>=', context_today().strftime('%Y-10-01')), ('date', '<=', context_today().strftime('%Y-12-31'))]" />
|
||||
<separator string="Last Year"/>
|
||||
<filter name="this_year_q1" string="Last Year Q1" domain="[('date', '>=', (context_today() - datetime.timedelta(days=365)).strftime('%Y-01-01')), ('date', '<', (context_today() - datetime.timedelta(days=365)).strftime('%Y-04-01'))]" />
|
||||
<filter name="this_year_q2" string="Last Year Q2" domain="[('date', '>=', (context_today() - datetime.timedelta(days=365)).strftime('%Y-04-01')), ('date', '<', (context_today() - datetime.timedelta(days=365)).strftime('%Y-07-01'))]" />
|
||||
<filter name="this_year_q3" string="Last Year Q3" domain="[('date', '>=', (context_today() - datetime.timedelta(days=365)).strftime('%Y-07-01')), ('date', '<', (context_today() - datetime.timedelta(days=365)).strftime('%Y-10-01'))]" />
|
||||
<filter name="this_year_q4" string="Last Year Q4" domain="[('date', '>=', (context_today() - datetime.timedelta(days=365)).strftime('%Y-10-01')), ('date', '<=', (context_today() - datetime.timedelta(days=365)).strftime('%Y-12-31'))]" />
|
||||
</xpath>
|
||||
<xpath expr="//group" position="inside">
|
||||
<filter string="Account Date" name="date" context="{'group_by':'date'}"/>
|
||||
</xpath>
|
||||
</xpath>
|
||||
</data>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -41,6 +41,22 @@ New Payslip Categories for:
|
||||
* California Unemployment Insurance Tax
|
||||
* California Employee Training Tax
|
||||
|
||||
Upgrading to 11.0.2018.1.0
|
||||
==========================
|
||||
|
||||
If you were using this prior to November 2018, then you have more Contribution registers
|
||||
and partners than you need! Simply run the following before installing the new code and upgrading.
|
||||
|
||||
Odoo Shell code::
|
||||
|
||||
main_cr = env.ref('l10n_us_ca_hr_payroll.contrib_register_cador_uit')
|
||||
old_1 = env.ref('l10n_us_ca_hr_payroll.contrib_register_cador_withhold')
|
||||
old_2 = env.ref('l10n_us_ca_hr_payroll.contrib_register_cador_ett')
|
||||
old_3 = env.ref('l10n_us_ca_hr_payroll.contrib_register_cador_sdi')
|
||||
lines = env['hr.payslip.line'].search([('register_id', 'in', [old_1.id, old_2.id, old_3.id])])
|
||||
lines.write({'register_id': main_cr.id})
|
||||
env.cr.commit()
|
||||
|
||||
|
||||
=======
|
||||
License
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
'license': 'AGPL-3',
|
||||
'category': 'Localization',
|
||||
'depends': ['l10n_us_hr_payroll'],
|
||||
'version': '11.0.2018.0.0',
|
||||
'version': '11.0.2018.1.0',
|
||||
'description': """
|
||||
USA::California Payroll Rules.
|
||||
==============================
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<data>
|
||||
<!-- CONTRIBUTION REGISTERS -->
|
||||
<record id="res_partner_cador_uit" model="res.partner">
|
||||
<field name="name">California Department of Taxation - Unemployment Insurance Tax</field>
|
||||
<field name="name">California Department of Taxation (CA DE88)</field>
|
||||
<field name="supplier">1</field>
|
||||
<field eval="0" name="customer"/>
|
||||
</record>
|
||||
@@ -11,38 +11,44 @@
|
||||
<field name="name">California Department of Taxation - Income Tax Withholding</field>
|
||||
<field name="supplier">1</field>
|
||||
<field eval="0" name="customer"/>
|
||||
<field eval="False" name="active"/>
|
||||
</record>
|
||||
<record id="res_partner_cador_ett" model="res.partner">
|
||||
<field name="name">California Department of Taxation - Employment Training Tax</field>
|
||||
<field name="supplier">1</field>
|
||||
<field eval="0" name="customer"/>
|
||||
<field eval="False" name="active"/>
|
||||
</record>
|
||||
<record id="res_partner_cador_sdi" model="res.partner">
|
||||
<field name="name">California Department of Taxation - State Disability Insurance</field>
|
||||
<field name="supplier">1</field>
|
||||
<field eval="0" name="customer"/>
|
||||
<field eval="False" name="active"/>
|
||||
</record>
|
||||
|
||||
<record id="contrib_register_cador_uit" model="hr.contribution.register">
|
||||
<field name="name">California Unemployment Insurance Tax</field>
|
||||
<field name="note">California Department of Taxation - Unemployment Insurance Tax</field>
|
||||
<field name="name">California (CA DE88)</field>
|
||||
<field name="note">California Department of Taxation (CA DE88)</field>
|
||||
<field name="partner_id" ref="res_partner_cador_uit"/>
|
||||
</record>
|
||||
<record id="contrib_register_cador_withhold" model="hr.contribution.register">
|
||||
<field name="name">California Income Tax Withholding</field>
|
||||
<field name="note">California Department of Taxation - Income Tax Withholding</field>
|
||||
<field name="partner_id" ref="res_partner_cador_withhold"/>
|
||||
</record>
|
||||
<record id="contrib_register_cador_ett" model="hr.contribution.register">
|
||||
<field name="name">Employment Training Tax</field>
|
||||
<field name="note">California Department of Taxation - Employment Training Tax</field>
|
||||
<field name="partner_id" ref="res_partner_cador_ett"/>
|
||||
</record>
|
||||
<record id="contrib_register_cador_sdi" model="hr.contribution.register">
|
||||
<field name="name">State Disability Insurance</field>
|
||||
<field name="note">California Department of Taxation - State Disability Insurance</field>
|
||||
<field name="partner_id" ref="res_partner_cador_sdi"/>
|
||||
</record>
|
||||
|
||||
<!-- These are deprecated in favor of a single grouped register for CA DE88 -->
|
||||
<!-- They are left here in case their details or structure is needed later. -->
|
||||
<!--<record id="contrib_register_cador_withhold" model="hr.contribution.register">-->
|
||||
<!--<field name="name">California Income Tax Withholding</field>-->
|
||||
<!--<field name="note">California Department of Taxation - Income Tax Withholding</field>-->
|
||||
<!--<field name="partner_id" ref="res_partner_cador_withhold"/>-->
|
||||
<!--</record>-->
|
||||
<!--<record id="contrib_register_cador_ett" model="hr.contribution.register">-->
|
||||
<!--<field name="name">Employment Training Tax</field>-->
|
||||
<!--<field name="note">California Department of Taxation - Employment Training Tax</field>-->
|
||||
<!--<field name="partner_id" ref="res_partner_cador_ett"/>-->
|
||||
<!--</record>-->
|
||||
<!--<record id="contrib_register_cador_sdi" model="hr.contribution.register">-->
|
||||
<!--<field name="name">State Disability Insurance</field>-->
|
||||
<!--<field name="note">California Department of Taxation - State Disability Insurance</field>-->
|
||||
<!--<field name="partner_id" ref="res_partner_cador_sdi"/>-->
|
||||
<!--</record>-->
|
||||
|
||||
|
||||
<!-- HR SALARY RULE CATEGORIES-->
|
||||
|
||||
@@ -87,7 +87,7 @@ result = categories.CA_ETT_WAGES
|
||||
if result_rate == 0.0:
|
||||
result = 0.0
|
||||
</field>
|
||||
<field name="register_id" ref="contrib_register_cador_ett"/>
|
||||
<field name="register_id" ref="contrib_register_cador_uit"/>
|
||||
<field name="appears_on_payslip" eval="False"/>
|
||||
</record>
|
||||
|
||||
@@ -131,7 +131,7 @@ result = categories.CA_SDI_WAGES
|
||||
if result_rate == 0.0:
|
||||
result = 0.0
|
||||
</field>
|
||||
<field name="register_id" ref="contrib_register_cador_sdi"/>
|
||||
<field name="register_id" ref="contrib_register_cador_uit"/>
|
||||
<field name="appears_on_payslip" eval="False"/>
|
||||
</record>
|
||||
|
||||
@@ -569,7 +569,7 @@ if not low_income:
|
||||
|
||||
result = -tax
|
||||
</field>
|
||||
<field name="register_id" ref="contrib_register_cador_withhold"/>
|
||||
<field name="register_id" ref="contrib_register_cador_uit"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
|
||||
@@ -13,6 +13,7 @@ Adds "todo" lines onto Project Tasks, and improves sub-tasks.
|
||||
'project',
|
||||
],
|
||||
'data': [
|
||||
'security/ir.model.access.csv',
|
||||
'views/project_views.xml',
|
||||
],
|
||||
'installable': True,
|
||||
|
||||
@@ -11,13 +11,17 @@ class ProjectTask(models.Model):
|
||||
def _compute_subtask_count(self):
|
||||
for task in self:
|
||||
task.subtask_count = self.search_count([('id', 'child_of', task.id), ('id', '!=', task.id)])
|
||||
task.subtask_count_done = self.search_count([('id', 'child_of', task.id), ('id', '!=', task.id), ('stage_id.fold', '=', True)])
|
||||
if task.subtask_count:
|
||||
task.subtask_count_done = self.search_count([('id', 'child_of', task.id), ('id', '!=', task.id),
|
||||
('stage_id.fold', '=', True)])
|
||||
else:
|
||||
task.subtask_count_done = 0
|
||||
|
||||
|
||||
class ProjectTaskLine(models.Model):
|
||||
_name = 'project.task.line'
|
||||
_description = 'Task Todos'
|
||||
_order = 'sequence, id desc'
|
||||
_order = 'sequence, id asc'
|
||||
|
||||
task_id = fields.Many2one('project.task', required=True)
|
||||
name = fields.Char(string='Name')
|
||||
|
||||
3
project_task_line/security/ir.model.access.csv
Normal file
3
project_task_line/security/ir.model.access.csv
Normal file
@@ -0,0 +1,3 @@
|
||||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
"access_project_task_line","access_project_task_line","model_project_task_line","base.group_user",1,1,1,1
|
||||
"access_project_task_line_public","access_project_task_line public","model_project_task_line","base.group_public",1,0,0,0
|
||||
|
1
purchase_discount
Symbolic link
1
purchase_discount
Symbolic link
@@ -0,0 +1 @@
|
||||
./external/hibou-oca/purchase-workflow/purchase_discount
|
||||
@@ -71,7 +71,7 @@ class RMA(models.Model):
|
||||
raise UserError(_('You must have a sale order for this RMA.'))
|
||||
if not self.template_id.in_require_return:
|
||||
group_id = self.sale_order_id.procurement_group_id.id if self.sale_order_id.procurement_group_id else 0
|
||||
sale_id = self.sale_order_id
|
||||
sale_id = self.sale_order_id.id
|
||||
values = self.template_id._values_for_in_picking(self)
|
||||
update = {'sale_id': sale_id, 'group_id': group_id}
|
||||
update_lines = {'group_id': group_id}
|
||||
@@ -95,7 +95,7 @@ class RMA(models.Model):
|
||||
raise UserError(_('You must have a sale order for this RMA.'))
|
||||
if not self.template_id.out_require_return:
|
||||
group_id = self.sale_order_id.procurement_group_id.id if self.sale_order_id.procurement_group_id else 0
|
||||
sale_id = self.sale_order_id
|
||||
sale_id = self.sale_order_id.id
|
||||
values = self.template_id._values_for_out_picking(self)
|
||||
update = {'sale_id': sale_id, 'group_id': group_id}
|
||||
update_lines = {'to_refund_so': self.template_id.in_to_refund_so, 'group_id': group_id}
|
||||
|
||||
@@ -36,4 +36,22 @@
|
||||
</xpath>
|
||||
</template>
|
||||
|
||||
<template id="my_task_todo" inherit_id='project.portal_my_task' name="Todo List (requires project_task_line)" customize_show="True" active="False">
|
||||
<xpath expr="//t[@t-if='task.description']" position="before">
|
||||
<t t-if="task.line_ids">
|
||||
<div class="col-md-12">
|
||||
<strong>Todo List</strong>
|
||||
<ul class="list-unstyled">
|
||||
<li t-foreach="task.line_ids" t-as="line">
|
||||
<span t-if="line.kanban_state == 'normal'" class="text-muted"><i class="fa fa-circle"></i></span>
|
||||
<span t-if="line.kanban_state == 'done'" class="text-success"><i class="fa fa-check-circle"></i></span>
|
||||
<span t-if="line.kanban_state == 'blocked'" class="text-danger"><i class="fa fa-times-circle"></i></span>
|
||||
<span t-field="line.name"/>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</t>
|
||||
</xpath>
|
||||
</template>
|
||||
|
||||
</odoo>
|
||||
|
||||
Reference in New Issue
Block a user