[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:
@@ -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):
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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)]"/>
|
||||
|
||||
Reference in New Issue
Block a user