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",
'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': """
- 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
=> 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)
- 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)
- 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
- synchro bi-directionnelle avec Thunderbird
- [optionnel] partage .ics des calendriers
- partage .ics des calendriers
INSTALLATION
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
- 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)
- Attention, le partage ics de calendrier et la synchro Thunderbird ne fonctionneront que sur une instance Odoo mono-base
""",
'author': "Groupe URD",
@ -31,7 +29,7 @@
'version': '0.1',
# any module necessary for this one to work correctly
'depends': ['smile_event_event_calendar'],
'depends': ['smile_event_event_calendar', 'calendar_ics'],
# always loaded
'data': [

View File

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

View File

@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 8.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-11-14 13:54+0000\n"
"PO-Revision-Date: 2016-11-14 13:54+0000\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"
@ -26,8 +26,83 @@ msgstr "Évènement"
msgid "Event team members"
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
#: view:calendar.event:groupeurd_calendar.revised_calendar_event_form
msgid "{\"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
#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)