<data>
<xpath expr="//sheet/group" position = "before">
<button name="362" type="action" string="Create CRM" class="oe_highlight"/>
</xpath>
2. Создать server action для создания воронки
Чтобы в карточке проекта отображать ссылку на воронку в crm, добавьте поле x_crm_link в модель project.project и view project.project.form
Добавляем id этого действия в архитектуру view, созданную на предыдущем шаге (параметр name в тэге button)
❗️Чтобы привязать sales team к определенному проекту, добавьте many2one поле x_project в модель crm.team
team = env['crm.team'].create({
'name':"project "+str(record.x_project_number)
})
for x in record.x_project_members:
team.write({'member_ids':[(4,x.id)]})
team.write({'x_project':record.id})
team.write({'user_id':record.user_id.id})
env['crm.stage'].create({
'name':'New',
'team_id':team.id,
'sequence':10})
env['crm.stage'].create({
'name':'Contact Made',
'team_id':team.id,
'sequence':20})
env['crm.stage'].create({
'name':'Proposal made',
'team_id':team.id,
'sequence':30})
env['crm.stage'].create({
'name':'Won',
'team_id':team.id,
'is_won':True,
'sequence':40})
env['crm.stage'].create({
'name':'Lost',
'team_id':team.id,
'sequence':50})
link='https://erp.miem.hse.ru/web#cids=1&menu_id=212&action=349&active_id='+str(team.id)+'&model=crm.lead&view_type=kanban'
record.write({'x_crm_link':link})
3. В главное меню блока CRM добавить вкладку My Sales Teams
4. Добавить кнопку Pipeline в карточку Sales Team для перехода в воронку этого проекта
<data>
<xpath expr="//sheet/group" position = "before">
<button name="349" type="action" string="Pipeline" class="oe_highlight"/>
</xpath>
</data>
В данном случае 349 - id следующего window action
5. Создать кнопку для перехода к списку стадий воронки
<data>
<xpath expr="//sheet/group" position = "before">
<button name="463" type="action" string="Stages" class="oe_highlight"/>
</xpath>
</data>
Аналогично создаем window action
5. Создать действие для добавления sales team к новым стадиям воронок
record.write({'team_id':record._context['default_team_id']})
6. Добавить автоматическое удаление стадий при удалении sales team
leads=env['crm.lead'].search([('team_id','=',record.id)])
for lead in leads:
lead.unlink()
stages = env['crm.stage'].search([('team_id','=',record.id)])
for st in stages:
st.unlink()
project=env['project.project'].search([('id','=',record.x_project.id)])
project.write({'x_crm_link':""})
Создаем новую группу CRM/CRM User
В разделе меню добавляем CRM
Добавляем Access Rights
Добавляем Record Rules
Руководитель проекта может редактировать карточку sales team
Участник может просматривать карточку
Пользователи видят только свои sales team (где они участники или руководители)
Права на сделки не ограничены