Thunderbird/ics sharing & French translations

Last commit to end first complete version of the module.
This commit is contained in:
Olivier Sarrat 2016-12-12 13:21:15 +01:00
parent 93265bf663
commit f7a72d29c8
4 changed files with 113 additions and 27 deletions

View File

@ -3,22 +3,20 @@
'name': "groupeurd_calendar", 'name': "groupeurd_calendar",
'summary': """ 'summary': """
Adaptation du module "smile_event_event_calendar" pour les besoins spécifiques du Groupe URD.""", Adaptation des modules "smile_event_event_calendar" & "calendar_ics" pour les besoins spécifiques du Groupe URD.""",
'description': """ 'description': """
- nouveau champ "équipe" dans évènement public pour le faire apparaître dans les calendriers de tous ses organisateurs/formateurs - nouveau champ "équipe" dans évènement public pour le faire apparaître dans les calendriers de tous ses organisateurs/formateurs
- calendrier unique par salarié avec évènements personnels, évènements communs, et à terme évènements à inscription publique - calendrier unique par salarié avec évènements personnels, évènements communs, et évènements publics (synchroniser les évènements publics dans le calendrier personnel du responsable et des organisateurs/formateurs de l'évènement (ces évènements publics ne seront pas modifiables depuis les agendas personnels)
=> synchroniser les évènements publics dans le calendrier personnel du responsable et des organisateurs/formateurs de l'évènement (ces évènements publics ne seront pas modifiables depuis les agendas personnels)
- visibilité des calendriers de tous les autres salariés - visibilité des calendriers de tous les autres salariés
- accès à des vues personnalisées : planning de tous les salariés par semaine, planning de tous les salariés par mois - accès à des vues personnalisées : planning de tous les salariés par semaine, planning de tous les salariés par mois
- synchro bi-directionnelle avec Thunderbird - synchro bi-directionnelle avec Thunderbird
- [optionnel] partage .ics des calendriers - partage .ics des calendriers
INSTALLATION INSTALLATION
Lors de l'installation, modifier le Filtre de domaine de la règle "Hide Private Meetings" à la valeur suivante - Lors de l'installation, modifier le Filtre de domaine de la règle "Hide Private Meetings" à la valeur suivante ['|',('user_id','=',user.id),'|',('show_as','=','busy'),('show_as','=','free')] (cela permet d'afficher les évènements (calendar.event) qui sont de type disponibles)
['|',('user_id','=',user.id),'|',('show_as','=','busy'),('show_as','=','free')] - Attention, le partage ics de calendrier et la synchro Thunderbird ne fonctionneront que sur une instance Odoo mono-base
=> cela permet d'afficher les évènements (calendar.event) qui sont de type disponibles
""", """,
'author': "Groupe URD", 'author': "Groupe URD",
@ -31,7 +29,7 @@
'version': '0.1', 'version': '0.1',
# any module necessary for this one to work correctly # any module necessary for this one to work correctly
'depends': ['smile_event_event_calendar'], 'depends': ['smile_event_event_calendar', 'calendar_ics'],
# always loaded # always loaded
'data': [ 'data': [

View File

@ -1,20 +1,23 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from openerp import http from openerp import http
from openerp.http import request
# class GroupeurdCalendar(http.Controller): class res_partner_icalendar(http.Controller):
# @http.route('/groupeurd_calendar/groupeurd_calendar/', auth='public') @http.route(['/calendar-ics/<partner_id>/public.ics'], auth="public")
# def index(self, **kw): def icalendar_public(self, partner_id, **post):
# return "Hello, world" #pdb.set_trace()
# @http.route('/groupeurd_calendar/groupeurd_calendar/objects/', auth='public') partner = http.request.env['res.partner'].sudo().search([('id','=',partner_id)])
# def list(self, **kw): if partner:
# return http.request.render('groupeurd_calendar.listing', { document = partner.sudo().get_ics_calendar(type='public')
# 'root': '/groupeurd_calendar/groupeurd_calendar', return request.make_response(
# 'objects': http.request.env['groupeurd_calendar.groupeurd_calendar'].search([]), document,
# }) headers=[
('Content-Disposition', 'attachment; filename="public.ics"'),
# @http.route('/groupeurd_calendar/groupeurd_calendar/objects/<model("groupeurd_calendar.groupeurd_calendar"):obj>/', auth='public') ('Content-Type', 'text/calendar'),
# def object(self, obj, **kw): ('Content-Length', len(document)),
# return http.request.render('groupeurd_calendar.object', { ]
# 'object': obj )
# }) else:
raise Warning("Public failed")
pass # Some error page

View File

@ -6,8 +6,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 8.0\n" "Project-Id-Version: Odoo Server 8.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-11-14 13:54+0000\n" "POT-Creation-Date: 2016-12-12 11:53+0000\n"
"PO-Revision-Date: 2016-11-14 13:54+0000\n" "PO-Revision-Date: 2016-12-12 11:53+0000\n"
"Last-Translator: <>\n" "Last-Translator: <>\n"
"Language-Team: \n" "Language-Team: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -26,8 +26,83 @@ msgstr "Évènement"
msgid "Event team members" msgid "Event team members"
msgstr "Equipe de l'évènement" msgstr "Equipe de l'évènement"
#. module: groupeurd_calendar
#: model:ir.model,name:groupeurd_calendar.model_res_partner
msgid "Partner"
msgstr "Partenaire"
#. module: groupeurd_calendar #. module: groupeurd_calendar
#: view:calendar.event:groupeurd_calendar.revised_calendar_event_form #: view:calendar.event:groupeurd_calendar.revised_calendar_event_form
msgid "{\"readonly\":[('event_event_id','!=',False)]}" msgid "{\"readonly\":[('event_event_id','!=',False)]}"
msgstr "{\"readonly\":[('event_event_id','!=',False)]}" msgstr "{\"readonly\":[('event_event_id','!=',False)]}"
#. module: smile_event_event_calendar
#: field:calendar.event,event_event_id:0
#: model:ir.model,name:smile_event_event_calendar.model_calendar_event
#: model:ir.model,name:smile_event_event_calendar.model_event_event
msgid "Event"
msgstr "Évènement public"
#. module: smile_event_event_calendar
#: code:addons/smile_event_event_calendar/models/calendar_event.py:35
#, python-format
msgid "You cannot change event value if is already assign"
msgstr "Vous ne pouvez pas changerla valeur d'un évènement s'il est déjà assigné"
#. module: smile_event_event_calendar
#: code:addons/smile_event_event_calendar/models/calendar_event.py:42
#, python-format
msgid "You cannot remove start or stop date if one of the current record have and event"
msgstr "Vous ne pouvez pas supprimer la date de début ou fin s'il l'un des éléments courants a un évènement"
#. module: event
#: view:event.registration:event.view_registration_search
#: field:event.registration,event_id:0
#: model:ir.model,name:event.model_event_event
#: view:report.event.registration:event.view_report_event_registration_search
#: field:report.event.registration,event_id:0
msgid "Event"
msgstr "Évènement public"
#. module: event
#: view:event.event:event.view_event_tree
msgid "Event Category"
msgstr "Catégorie d'évènement public"
#. module: event
#: field:event.registration,event_begin_date:0
msgid "Event Start Date"
msgstr "Date de début de l'évènement"
#. module: event
#: view:event.event:event.view_event_form
#: view:event.event:event.view_event_search
#: view:event.event:event.view_event_tree
#: model:ir.actions.act_window,name:event.action_event_view
#: model:ir.module.category,name:event.module_category_event_management
#: model:ir.ui.menu,name:event.event_configuration
#: model:ir.ui.menu,name:event.event_main_menu
#: model:ir.ui.menu,name:event.menu_event_event
#: model:ir.ui.menu,name:event.menu_reporting_events
msgid "Events"
msgstr "Évènements publics"
#. module: event
#: view:event.event:event.view_event_search
#: view:report.event.registration:event.view_report_event_registration_search
msgid "My Events"
msgstr "Mes évènements publics"
#. module: event
#: field:report.event.registration,nbevent:0
msgid "Number of Events"
msgstr "Nombre d'événements publics"

View File

@ -85,3 +85,13 @@ class CalendarEvent(models.Model):
return res return res
#Overrides calendar_ics "res_partner" override to have our custom URL
class res_partner(models.Model):
_inherit = "res.partner"
@api.one
def create_ics_url(self):
self.ics_url_field = '%s/calendar-ics/%s/public.ics' % (self.env['ir.config_parameter'].sudo().get_param('web.base.url'), self.id)