[IMP] project: removed members.

Members were not used in project, except for the now removed faces library.
Statistics can still be computed based on task or issues responsibles
instead of adding all members of a project.

Indeed you could have members that did not actually work in the project
making it difficult to differentiate with followers. Now the concept
of members is removed. Followers is sufficient for communication.
This commit is contained in:
Thibault Delavallée
2015-07-30 16:59:09 +02:00
parent 3e3aa74ea8
commit 9398fe98ed
4 changed files with 0 additions and 51 deletions
-21
View File
@@ -153,8 +153,6 @@ class project(osv.osv):
"It enables you to connect projects with budgets, planning, cost and revenue analysis, timesheets on projects, etc.",
ondelete="cascade", required=True, auto_join=True),
'label_tasks': fields.char('Use Tasks as', help="Gives label to tasks on project's kanaban view."),
'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)]}),
'tasks': fields.one2many('project.task', 'project_id', "Task Activities"),
'resource_calendar_id': fields.many2one('resource.calendar', 'Working Time', help="Timetable working hours to adjust the gantt diagram report", states={'close':[('readonly',True)]} ),
'type_ids': fields.many2many('project.task.type', 'project_task_type_rel', 'project_id', 'type_id', 'Tasks Stages', states={'close':[('readonly',True)], 'cancelled':[('readonly',True)]}),
@@ -386,27 +384,8 @@ class task(osv.osv):
fold[stage.id] = stage.fold or False
return result, fold
def _read_group_user_id(self, cr, uid, ids, domain, read_group_order=None, access_rights_uid=None, context=None):
if context is None:
context = {}
res_users = self.pool.get('res.users')
access_rights_uid = access_rights_uid or uid
if 'default_project_id' in context:
ids += self.pool.get('project.project').read(cr, access_rights_uid, context['default_project_id'], ['members'], context=context)['members']
order = res_users._order
# lame way to allow reverting search, should just work in the trivial case
if read_group_order == 'user_id desc':
order = '%s desc' % order
# de-duplicate and apply search order
ids = res_users._search(cr, uid, [('id','in',ids)], order=order, access_rights_uid=access_rights_uid, context=context)
result = res_users.name_get(cr, access_rights_uid, ids, context=context)
# restore order of the search
result.sort(lambda x,y: cmp(ids.index(x[0]), ids.index(y[0])))
return result, {}
_group_by_full = {
'stage_id': _read_group_stage_ids,
'user_id': _read_group_user_id,
}
def onchange_remaining(self, cr, uid, ids, remaining=0.0, planned=0.0):
-1
View File
@@ -5,7 +5,6 @@
<field name="arch" type="xml">
<kanban class="oe_background_grey o_kanban_dashboard o_project_kanban">
<field name="name"/>
<field name="members"/>
<field name="use_tasks"/>
<field name="user_id"/>
<field name="date"/>
-8
View File
@@ -30,9 +30,6 @@
<field name="partner_id" ref="base.res_partner_10"/>
<field name="parent_id" ref="all_projects_account"/>
<field name="privacy_visibility">public</field>
<field name="members" eval="[(6, 0, [
ref('base.user_root'),
ref('base.user_demo')])]"/>
<field name="user_id" ref="base.user_demo"/>
<field name="description">Implement new website for Sale and Warehouse Management for a customer.</field>
<field name="alias_model">project.task</field>
@@ -67,7 +64,6 @@
<field name="user_id" ref="base.user_demo"/>
<field name="alias_model">project.task</field>
<field name="privacy_visibility">employees</field>
<field name="members" eval="[(4, ref('base.user_root')), (4, ref('base.user_demo'))]"/>
</record>
<record id="project_project_3" model="project.project">
@@ -83,7 +79,6 @@
<field name="privacy_visibility">followers</field>
<field name="alias_model">project.task</field>
<field name="privacy_visibility">employees</field>
<field name="members" eval="[(4, ref('base.user_root')), (4,ref('base.user_demo'))]"/>
</record>
<record id="project_project_4" model="project.project">
@@ -98,9 +93,6 @@
<field name="label_tasks">Databases</field>
<field name="alias_model">project.task</field>
<field name="privacy_visibility">followers</field>
<field name="members" eval="[(6, 0, [
ref('base.user_root'),
ref('base.user_demo')])]"/>
</record>
<record id="project_project_5" model="project.project">
-21
View File
@@ -123,26 +123,6 @@
string="Accept Emails From"/>
</group>
</page>
<page string="Team" name="team">
<field colspan="4" name="members" widget="many2many_kanban" context="{'default_groups_ref': ['base.group_user', 'base.group_partner_manager', 'project.group_project_user']}">
<kanban quick_create="false" create="true" delete="true">
<field name="name"/>
<templates>
<t t-name="kanban-box">
<div style="position: relative">
<a t-if="! read_only_mode" type="delete" style="position: absolute; right: 0; padding: 4px; diplay: inline-block">X</a>
<div class="oe_module_vignette">
<img t-att-src="kanban_image('res.users', 'image_small', record.id.value)" class="oe_avatar oe_kanban_avatar_smallbox"/>
<div class="oe_module_desc">
<field name="name"/>
</div>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</page>
<page string="Other Info">
<group string="Administration">
<field name="partner_id" on_change="onchange_partner_id(partner_id)" string="Customer"/>
@@ -190,7 +170,6 @@
<filter string="Pending" name="Pending" domain="[('state', '=','pending')]"/>
<filter string="Template" name="Template" domain="[('state', '=','template')]"/>
<separator/>
<filter string="Member" name="Member" domain="['|',('user_id', '=', uid),('members', '=', uid)]"/>
<filter string="Manager" domain="[('user_id','=',uid)]"/>
<separator/>
<filter string="New Mail" name="message_unread" domain="[('message_unread','=',True)]"/>