diff --git a/hr_payslip_line_date/payslip_view.xml b/hr_payslip_line_date/payslip_view.xml
index 61f5ba18..ec551bd4 100755
--- a/hr_payslip_line_date/payslip_view.xml
+++ b/hr_payslip_line_date/payslip_view.xml
@@ -8,9 +8,28 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
diff --git a/l10n_us_ca_hr_payroll/README.rst b/l10n_us_ca_hr_payroll/README.rst
index f5549551..1bb76362 100644
--- a/l10n_us_ca_hr_payroll/README.rst
+++ b/l10n_us_ca_hr_payroll/README.rst
@@ -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
diff --git a/l10n_us_ca_hr_payroll/__manifest__.py b/l10n_us_ca_hr_payroll/__manifest__.py
index c038486a..b712cbae 100755
--- a/l10n_us_ca_hr_payroll/__manifest__.py
+++ b/l10n_us_ca_hr_payroll/__manifest__.py
@@ -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.
==============================
diff --git a/l10n_us_ca_hr_payroll/data/base.xml b/l10n_us_ca_hr_payroll/data/base.xml
index 93ac0a62..6ec2431a 100755
--- a/l10n_us_ca_hr_payroll/data/base.xml
+++ b/l10n_us_ca_hr_payroll/data/base.xml
@@ -3,7 +3,7 @@
- California Department of Taxation - Unemployment Insurance Tax
+ California Department of Taxation (CA DE88)
1
@@ -11,38 +11,44 @@
California Department of Taxation - Income Tax Withholding
1
+
California Department of Taxation - Employment Training Tax
1
+
California Department of Taxation - State Disability Insurance
1
+
- California Unemployment Insurance Tax
- California Department of Taxation - Unemployment Insurance Tax
+ California (CA DE88)
+ California Department of Taxation (CA DE88)
-
- California Income Tax Withholding
- California Department of Taxation - Income Tax Withholding
-
-
-
- Employment Training Tax
- California Department of Taxation - Employment Training Tax
-
-
-
- State Disability Insurance
- California Department of Taxation - State Disability Insurance
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/l10n_us_ca_hr_payroll/data/rules_2018.xml b/l10n_us_ca_hr_payroll/data/rules_2018.xml
index e74376a1..8602b1bc 100755
--- a/l10n_us_ca_hr_payroll/data/rules_2018.xml
+++ b/l10n_us_ca_hr_payroll/data/rules_2018.xml
@@ -87,7 +87,7 @@ result = categories.CA_ETT_WAGES
if result_rate == 0.0:
result = 0.0
-
+
@@ -131,7 +131,7 @@ result = categories.CA_SDI_WAGES
if result_rate == 0.0:
result = 0.0
-
+
@@ -569,7 +569,7 @@ if not low_income:
result = -tax
-
+
diff --git a/project_task_line/__manifest__.py b/project_task_line/__manifest__.py
index 4be1731a..db352855 100644
--- a/project_task_line/__manifest__.py
+++ b/project_task_line/__manifest__.py
@@ -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,
diff --git a/project_task_line/models/project.py b/project_task_line/models/project.py
index a533fffb..587e878b 100644
--- a/project_task_line/models/project.py
+++ b/project_task_line/models/project.py
@@ -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')
diff --git a/project_task_line/security/ir.model.access.csv b/project_task_line/security/ir.model.access.csv
new file mode 100644
index 00000000..a4846d4f
--- /dev/null
+++ b/project_task_line/security/ir.model.access.csv
@@ -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
\ No newline at end of file
diff --git a/purchase_discount b/purchase_discount
new file mode 120000
index 00000000..a9c4a797
--- /dev/null
+++ b/purchase_discount
@@ -0,0 +1 @@
+./external/hibou-oca/purchase-workflow/purchase_discount
\ No newline at end of file
diff --git a/rma_sale/models/rma.py b/rma_sale/models/rma.py
index 6b69da38..f6fc0fff 100644
--- a/rma_sale/models/rma.py
+++ b/rma_sale/models/rma.py
@@ -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}
diff --git a/website_project_task/project_task_templates.xml b/website_project_task/project_task_templates.xml
index 9ddfebe0..a64fd695 100644
--- a/website_project_task/project_task_templates.xml
+++ b/website_project_task/project_task_templates.xml
@@ -36,4 +36,22 @@
+
+
+
+
+
+
+
+