diff --git a/groupeurd_crm/__init__.py b/groupeurd_crm/__init__.py new file mode 100644 index 0000000..c7a6ca6 --- /dev/null +++ b/groupeurd_crm/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- +import controllers +import models \ No newline at end of file diff --git a/groupeurd_crm/__openerp__.py b/groupeurd_crm/__openerp__.py new file mode 100644 index 0000000..037af37 --- /dev/null +++ b/groupeurd_crm/__openerp__.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +{ + 'name': "groupeurd_crm", + + 'summary': """ + Paramétrage d'Odoo pour correspondre aux besoins CRM du Groupe URD.""", + + 'description': """ + - Ajout de champs personnalisés + - Personnalisation des listes d’affichage (tri, colonnes, filtres) + - Personnalisation des écrans d’affichage des entités : position des champs, organisation par groupe des champs, champs obligatoires/facultatifs + - Masquer le sous-menu "Ventes" jusqu'à ce que le besoin de suivi de pistes et opportunités soit remonté + + + Organisation + Nom, adresse (prévoir 3 lignes), Code postal, Pays, Téléphone, Télécopie, site web, budget annuel, langue principale, langue(s) secondaire(s), état d’adoption de Sigmah (Prise d’information, Souhait d’adoption, Adoption démarrée, Utilisation partielle, Utilisation complète, Non), zone de commentaires. + + Contacts + Civilité, Nom, prénom, fonction, type de fonction (liste de valeurs paramétrables) adresse (prévoir 3 lignes), code postal, pays, téléphone bureau, téléphone mobile, adresse mail, compte de réseau social (Skype, Twitter, LinkedIn, Facebook), Langue principale, langue(s) secondaires(s), niveau de contact (cercle de proximité de la relation), niveau universitaire, Centres d’intérêt (Liste de valeur, multisélection), compétences (Liste de valeur, multisélection) et nombre d’années dans la compétence sélectionnée, Publications (liste d’URL), zone de commentaires. + """, + + 'author': "Groupe URD", + 'website': "http://www.urd.org", + + # Categories can be used to filter modules in modules listing + # Check https://github.com/odoo/odoo/blob/master/openerp/addons/base/module/module_data.xml + # for the full list + 'category': 'Uncategorized', + 'version': '0.1', + + # any module necessary for this one to work correctly + 'depends': ['base', 'calendar_ics', 'groupeurd_newsletter'], + + # always loaded + 'data': [ + # 'security/ir.model.access.csv', + 'templates.xml', + 'actions-menus.xml', + 'views.xml', + ], + # only loaded in demonstration mode + 'demo': [ + 'demo.xml', + ], +} \ No newline at end of file diff --git a/groupeurd_crm/actions-menus.xml b/groupeurd_crm/actions-menus.xml new file mode 100644 index 0000000..618481a --- /dev/null +++ b/groupeurd_crm/actions-menus.xml @@ -0,0 +1,58 @@ + + + + + + + + Tous les contacts + res.partner + kanban,tree,form + + + + Clients + res.partner + kanban,tree,form + [('customer','=',1)] + + + + Fournisseurs + res.partner + kanban,tree,form + [('supplier','=',1)] + + + + + + + + Contacts + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/groupeurd_crm/controllers.py b/groupeurd_crm/controllers.py new file mode 100644 index 0000000..feb79df --- /dev/null +++ b/groupeurd_crm/controllers.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +from openerp import http + +# class GroupeurdCrm(http.Controller): +# @http.route('/groupeurd_crm/groupeurd_crm/', auth='public') +# def index(self, **kw): +# return "Hello, world" + +# @http.route('/groupeurd_crm/groupeurd_crm/objects/', auth='public') +# def list(self, **kw): +# return http.request.render('groupeurd_crm.listing', { +# 'root': '/groupeurd_crm/groupeurd_crm', +# 'objects': http.request.env['groupeurd_crm.groupeurd_crm'].search([]), +# }) + +# @http.route('/groupeurd_crm/groupeurd_crm/objects//', auth='public') +# def object(self, obj, **kw): +# return http.request.render('groupeurd_crm.object', { +# 'object': obj +# }) \ No newline at end of file diff --git a/groupeurd_crm/demo.xml b/groupeurd_crm/demo.xml new file mode 100644 index 0000000..2255eda --- /dev/null +++ b/groupeurd_crm/demo.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/groupeurd_crm/i18n/fr.po b/groupeurd_crm/i18n/fr.po new file mode 100644 index 0000000..1d877c8 --- /dev/null +++ b/groupeurd_crm/i18n/fr.po @@ -0,0 +1,21 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * groupeurd_calendar +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 8.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-12-12 11:53+0000\n" +"PO-Revision-Date: 2016-12-12 11:53+0000\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: base +#: model:ir.ui.menu,name:base.menu_base_partner +msgid "Contacts" +msgstr "Contacts" \ No newline at end of file diff --git a/groupeurd_crm/models.py b/groupeurd_crm/models.py new file mode 100644 index 0000000..d1b3701 --- /dev/null +++ b/groupeurd_crm/models.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- + +from openerp import models, fields, api +from openerp.osv import osv + +from openerp.tools.translate import _ + +# Surcharge l'objet "Abonné" pour ajouter un lien vers l'objet "Contact" +class contact(models.Model): + _name = "mail.mass_mailing.contact" + _inherit = "mail.mass_mailing.contact" + + partner_id = fields.Many2one("res.partner", string="Contact") + + # A FAIRE + # A la création d'un abonné, mettre à jour partner_id si un contact existe avec cette adresse email + # A FINIR ! + @api.model + def create(self, vals): + new_id = super(contact, self).create(vals) + partner = self.env['res.partner'].search([('email','=',new_id.email)]) + if ( partner ): + self.partner_id = partner.id + + +# Surcharge l'objet "Contact" pour ajouter les liens vers les objets "Abonné" et "Liste de diffusion" +class partner(models.Model): + _name = "res.partner" + _inherit = "res.partner" + + list_ids = fields.Many2many("mail.mass_mailing.list", string="Listes de diffusion") + contact_ids = fields.One2many("mail.mass_mailing.contact", "partner_id", string="Abonnements") + + # A FAIRE + # A la création de contact, mettre à jour contact_ids et list_ids en fonction des abonnements existants pour cette adresse email + # A la modification de contact, mettre à jour contact_ids et list_ids en fonction des abonnements existants pour cette adresse email + diff --git a/groupeurd_crm/security/ir.model.access.csv b/groupeurd_crm/security/ir.model.access.csv new file mode 100644 index 0000000..9013b09 --- /dev/null +++ b/groupeurd_crm/security/ir.model.access.csv @@ -0,0 +1,2 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_groupeurd_crm_groupeurd_crm,groupeurd_crm.groupeurd_crm,model_groupeurd_crm_groupeurd_crm,,1,0,0,0 \ No newline at end of file diff --git a/groupeurd_crm/templates.xml b/groupeurd_crm/templates.xml new file mode 100644 index 0000000..71a9d51 --- /dev/null +++ b/groupeurd_crm/templates.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/groupeurd_crm/views.xml b/groupeurd_crm/views.xml new file mode 100644 index 0000000..1229d0e --- /dev/null +++ b/groupeurd_crm/views.xml @@ -0,0 +1,44 @@ + + + + + + + Contact edition form + res.partner + + + + + base.group_erp_manager + + + + + + + + + + + + + + + + + + Contact edition form with ICS only for admin + res.partner + + + + base.group_erp_manager + + + + + + \ No newline at end of file