
@@ -99,3 +103,4 @@ of the selected customer.The pricelist can be set from POS section or customer a
+
diff --git a/project_block_archived_contacts/__init__.py b/project_block_archived_contacts/__init__.py
new file mode 100644
index 000000000..0f3bcd60b
--- /dev/null
+++ b/project_block_archived_contacts/__init__.py
@@ -0,0 +1,2 @@
+# -*- coding: utf-8 -*-
+import block_archeived_contacts
\ No newline at end of file
diff --git a/project_block_archived_contacts/__openerp__.py b/project_block_archived_contacts/__openerp__.py
new file mode 100644
index 000000000..f240b1b87
--- /dev/null
+++ b/project_block_archived_contacts/__openerp__.py
@@ -0,0 +1,39 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# Cybrosys Technologies Pvt. Ltd.
+# Copyright (C) 2009-TODAY Cybrosys Technologies(
).
+# Author: Jesni Banu()
+# you can modify it under the terms of the GNU LESSER
+# GENERAL PUBLIC LICENSE (LGPL v3), Version 3.
+#
+# It is forbidden to publish, distribute, sublicense, or sell copies
+# of the Software or modified copies of the Software.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details.
+#
+# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE
+# GENERAL PUBLIC LICENSE (LGPL v3) along with this program.
+# If not, see .
+#
+##############################################################################
+{
+ 'name': 'Block Archived or Inactive Users',
+ 'version': '8.0.1.0',
+ 'summary': 'Block Archived or Inactive users from Assignation of Project/Task/Issue',
+ 'description': 'This module allows you to block Archived or Inactive users from Assignation',
+ 'category': 'Project Management',
+ 'author': 'Cybrosys Techno Solutions',
+ 'website': 'http://www.cybrosys.com',
+ 'company': 'Cybrosys Techno Solutions',
+ 'depends': ['base', 'project_issue'],
+ 'data': [],
+ 'images': ['static/description/banner.jpg'],
+ 'license': 'LGPL-3',
+ 'installable': True,
+ 'auto_install': False,
+ 'application': False,
+}
diff --git a/project_block_archived_contacts/block_archeived_contacts.py b/project_block_archived_contacts/block_archeived_contacts.py
new file mode 100644
index 000000000..ff1e56738
--- /dev/null
+++ b/project_block_archived_contacts/block_archeived_contacts.py
@@ -0,0 +1,43 @@
+from openerp import models, fields, api, _, tools
+
+
+class ProjectTaskInherit(models.Model):
+ _inherit = 'project.task'
+
+ user_id = fields.Many2one('res.users', 'Assigned to', select=True, track_visibility='onchange',
+ domain=[('active', '=', 'True'), ('partner_id.active', '=', 'True')])
+ reviewer_id = fields.Many2one('res.users', 'Reviewer', select=True, track_visibility='onchange',
+ domain=[('active', '=', 'True'), ('partner_id.active', '=', 'True')])
+ partner_id = fields.Many2one('res.partner', 'Customer', domain=[('active', '=', 'True')])
+
+
+class ProjectProjectInherit(models.Model):
+ _inherit = 'project.project'
+
+ user_id = fields.Many2one('res.users', 'Project Manager',
+ domain=[('active', '=', 'True'), ('partner_id.active', '=', 'True')])
+ members = fields.Many2many('res.users', 'project_user_rel', 'project_id', 'uid', 'Project Members',
+ help="Project's members are users who can have an access to the tasks related to this project.",
+ states={'close': [('readonly', True)], 'cancelled': [('readonly', True)]},
+ domain=[('active', '=', 'True'), ('partner_id.active', '=', 'True')])
+
+
+class ProjectIssueInherit(models.Model):
+ _inherit = 'project.issue'
+
+ user_id = fields.Many2one('res.users', 'Assigned to', required=False, select=1, track_visibility='onchange',
+ domain=[('active', '=', 'True'), ('partner_id.active', '=', 'True')])
+ partner_id = fields.Many2one('res.partner', 'Contact', select=1,
+ domain=[('active', '=', 'True')])
+
+
+class AccountAnalyticLine(models.Model):
+ _inherit = 'account.analytic.line'
+
+ @api.model
+ def _default_user(self):
+ return self.env.context.get('user_id', self.env.user.id)
+
+ user_id = fields.Many2one('res.users', string='User', default=_default_user,
+ domain=[('active', '=', 'True'), ('partner_id.active', '=', 'True')])
+
diff --git a/project_block_archived_contacts/static/description/1.png b/project_block_archived_contacts/static/description/1.png
new file mode 100644
index 000000000..fa7a191ef
Binary files /dev/null and b/project_block_archived_contacts/static/description/1.png differ
diff --git a/project_block_archived_contacts/static/description/10.png b/project_block_archived_contacts/static/description/10.png
new file mode 100644
index 000000000..36925bbc2
Binary files /dev/null and b/project_block_archived_contacts/static/description/10.png differ
diff --git a/project_block_archived_contacts/static/description/2.png b/project_block_archived_contacts/static/description/2.png
new file mode 100644
index 000000000..84126de7c
Binary files /dev/null and b/project_block_archived_contacts/static/description/2.png differ
diff --git a/project_block_archived_contacts/static/description/3.png b/project_block_archived_contacts/static/description/3.png
new file mode 100644
index 000000000..fdfca0105
Binary files /dev/null and b/project_block_archived_contacts/static/description/3.png differ
diff --git a/project_block_archived_contacts/static/description/4.png b/project_block_archived_contacts/static/description/4.png
new file mode 100644
index 000000000..10dc9bc2e
Binary files /dev/null and b/project_block_archived_contacts/static/description/4.png differ
diff --git a/project_block_archived_contacts/static/description/7.png b/project_block_archived_contacts/static/description/7.png
new file mode 100644
index 000000000..d284645d0
Binary files /dev/null and b/project_block_archived_contacts/static/description/7.png differ
diff --git a/project_block_archived_contacts/static/description/8.png b/project_block_archived_contacts/static/description/8.png
new file mode 100644
index 000000000..228b148a0
Binary files /dev/null and b/project_block_archived_contacts/static/description/8.png differ
diff --git a/project_block_archived_contacts/static/description/9.png b/project_block_archived_contacts/static/description/9.png
new file mode 100644
index 000000000..62539314f
Binary files /dev/null and b/project_block_archived_contacts/static/description/9.png differ
diff --git a/project_block_archived_contacts/static/description/banner.jpg b/project_block_archived_contacts/static/description/banner.jpg
new file mode 100644
index 000000000..9d7b777d2
Binary files /dev/null and b/project_block_archived_contacts/static/description/banner.jpg differ
diff --git a/project_block_archived_contacts/static/description/icon.png b/project_block_archived_contacts/static/description/icon.png
new file mode 100644
index 000000000..2064a4150
Binary files /dev/null and b/project_block_archived_contacts/static/description/icon.png differ
diff --git a/project_block_archived_contacts/static/description/index.html b/project_block_archived_contacts/static/description/index.html
new file mode 100644
index 000000000..0bd4d9eec
--- /dev/null
+++ b/project_block_archived_contacts/static/description/index.html
@@ -0,0 +1,130 @@
+
+
+
Block Archived or Inactive Users
+ Block Archived or Inactive users from Assignee
+ Author : Cybrosys Techno Solutions , www.cybrosys.com
+
+
+
+ ♠This module allows you to block Archived or Inactive users from assigning task and set as project manager.
+
+