start kanban view

This commit is contained in:
Florian du Garage Num 2024-04-14 17:37:00 +02:00
parent b6fe22ab66
commit e0650de542
5 changed files with 118 additions and 1 deletions

View File

@ -1,3 +1,3 @@
# -*- coding: utf-8 -*-
from . import models
#from . import models

View File

@ -0,0 +1,16 @@
{
'name': "Gn Mails",
'version': '14.0.0.0.1',
'author': 'Garage Numérique',
'category': 'Social',
'description': """
This modules adds a e-mail client to Odoo
""",
'depends': [],
'data': [
'views/kanban_inbox.xml',
'views/inbox_menus.xml',
],
'translate': True,
'installable': True,
}

View File

@ -0,0 +1,21 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
import logging
from odoo import _, api, fields, models
_logger = logging.getLogger(__name__)
class IncomingMail(models.Model):
_name = 'mail.mail.incoming'
_inherit = 'mail.mail'
tags = fields.Many2many('mail.tag', string='Tags', help=(_("Tags for categorizing emails.")))
state = fields.Selection([
('new', 'New'),
('waiting', 'Waiting for partner reply')
('verify', 'Ready'),
('blocked', 'Blocked'),
('treated', 'Treated')
], default='new', string="Status")

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo></data>
<menuitem
id="gn_mail.inbox_menus"
name="Emails"
sequence="1"
parent="base.menu_custom"
action="mail_inbox_views"
groups="hr.group_hr_manager"/>
</data></odoo>

View File

@ -0,0 +1,70 @@
<?xml version="1.0"?>
<odoo>
<data>
<record model="ir.ui.view" id="view_inbox_mail_kanban">
<field name="name">inbox_mail_kanban</field>
<field name="model">mail.mail</field>
<field name="arch" type="xml">
<kanban string="Inbox" default_group_by="stage_id" class="o_kanban_small_column o_kanban_project_tasks" create="false">
<field name="state"/>
<field name="mail_message_id" invisible="1"/>
<field name="mail.message_id.subject"/>
<field name="mail.message_id.date"/>
<field name="mail.message_id.author_id"/>
<field name="mail.message_id.email_from"/>
<templates>
<t t-name="kanban-box">
<div t-attf-class="{{!selection_mode ? 'oe_kanban_color_' + kanban_getcolor(record.color.raw_value) : ''}} oe_kanban_card oe_kanban_global_click">
<div class="oe_kanban_content">
<div class="o_kanban_record_top">
<div class="o_kanban_record_headings">
<div class="o_kanban_record_title">
<strong>
<t t-if="mail.message_id.author_id">
<field name="mail.message_id.author_id"/>
</t>
<t t-if="mail.message_id.email_from">
<field name="mail.message_id.email_from"/>
</t>
</strong>
</div>
</div>
<div class="o_dropdown_kanban dropdown" t-if="!selection_mode" groups="base.group_user">
<a role="button" class="dropdown-toggle o-no-caret btn" data-toggle="dropdown" data-display="static" href="#" aria-label="Dropdown menu" title="Dropdown menu">
<span class="fa fa-ellipsis-v"/>
</a>
<div class="dropdown-menu" role="menu">
<a t-if="widget.deletable" role="menuitem" type="delete" class="dropdown-item">Delete</a>
</div>
</div>
</div>
<div class="o_kanban_record_body">
<field name="mail.message_id.subject"/>
</div>
<div class="o_kanban_record_bottom" t-if="!selection_mode">
<div class="oe_kanban_bottom_left">
</div>
<div class="oe_kanban_bottom_right" t-if="!selection_mode">
<field name="kanban_state" widget="state_selection" groups="base.group_user" invisible="context.get('fsm_mode', False)"/>
<field name="user_id" widget="many2one_avatar_user"/>
</div>
</div>
</div/>
</div>
</t>
</templates/>
</kanban>
</field>
</record>
<record id="mail_inbox_views" model="ir.actions.act_window">
<field name="name">Emails</field>
<field name="res_model">mail.mail</field>
<field name="view_mode">kanban</field>
</record>
</data>
</odoo>