From c39d40f98d4b27adfe0c5ca51d0373e44f176f32 Mon Sep 17 00:00:00 2001 From: Nicolas Lempereur Date: Mon, 14 May 2018 13:14:04 +0200 Subject: [PATCH 1/4] [FIX] hr_recruitment: job stages choosen manually In 9.0, stages of a job position in recruitment are not share by default, there is a "New" stage and existing stages can be added in the form view (since 780f46ae). When creating a job position, the "New" is not working with the given widget type. This commit doesn't show stages in the form view until the record is created. opw-1839217 closes #24706 --- addons/hr_recruitment/views/hr_recruitment_views.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/hr_recruitment/views/hr_recruitment_views.xml b/addons/hr_recruitment/views/hr_recruitment_views.xml index 73276d83556..f66ca6224bd 100644 --- a/addons/hr_recruitment/views/hr_recruitment_views.xml +++ b/addons/hr_recruitment/views/hr_recruitment_views.xml @@ -408,7 +408,9 @@ - + + + From 19878d011f8abdc737b7b702c4c79632670d4b78 Mon Sep 17 00:00:00 2001 From: RomainLibert Date: Mon, 14 May 2018 15:51:51 +0200 Subject: [PATCH 2/4] [FIX] event: fix bug with users We need to fix a problem with the users where someone might get informations on registrations. --- addons/event/security/ir.model.access.csv | 4 ++-- addons/website_event/controllers/main.py | 2 +- addons/website_event_sale/controllers/main.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/event/security/ir.model.access.csv b/addons/event/security/ir.model.access.csv index 8801c173f17..35f82422352 100644 --- a/addons/event/security/ir.model.access.csv +++ b/addons/event/security/ir.model.access.csv @@ -5,8 +5,8 @@ access_event_event,event.event,model_event_event,event.group_event_user,1,1,1,1 access_event_registration,event.registration,model_event_registration,event.group_event_user,1,1,1,1 access_report_event_registration,report.event.registration,model_report_event_registration,event.group_event_user,1,1,1,1 access_event_event_portal,event.event,model_event_event,,1,0,0,0 -access_event_registration_portal,event.registration,model_event_registration,,1,0,0,0 +access_event_registration_portal,event.registration,model_event_registration,,0,0,0,0 access_event_mail,event.mail,model_event_mail,event.group_event_user,1,0,0,0 access_event_mail_manager,event.mail manager,model_event_mail,event.group_event_manager,1,1,1,1 access_event_mail_registration,event.mail.registration,model_event_mail_registration,event.group_event_user,1,0,0,0 -access_event_mail_registration_manager,event.mail.registration.manager,model_event_mail_registration,event.group_event_manager,1,1,1,1 \ No newline at end of file +access_event_mail_registration_manager,event.mail.registration.manager,model_event_mail_registration,event.group_event_manager,1,1,1,1 diff --git a/addons/website_event/controllers/main.py b/addons/website_event/controllers/main.py index 6df93deca78..42ce0f704c3 100644 --- a/addons/website_event/controllers/main.py +++ b/addons/website_event/controllers/main.py @@ -286,7 +286,7 @@ class website_event(http.Controller): Registration._prepare_attendee_values(cr, uid, registration), context=context)) - attendees = Registration.browse(cr, uid, registration_ids, context=context) + attendees = Registration.browse(cr, uid, registration_ids, context=context).sudo() return request.website.render("website_event.registration_complete", { 'attendees': attendees, 'event': event, diff --git a/addons/website_event_sale/controllers/main.py b/addons/website_event_sale/controllers/main.py index 99681dcb4a5..c9bae3a52a9 100644 --- a/addons/website_event_sale/controllers/main.py +++ b/addons/website_event_sale/controllers/main.py @@ -48,7 +48,7 @@ class website_event(website_event): # free tickets -> order with amount = 0: auto-confirm, no checkout if not order.amount_total: order.action_confirm() # tde notsure: email sending ? - attendees = request.registry['event.registration'].browse(cr, uid, list(attendee_ids), context=context) + attendees = request.registry['event.registration'].browse(cr, uid, list(attendee_ids), context=context).sudo() # clean context and session, then redirect to the confirmation page request.website.sale_reset(context=context) return request.website.render("website_event.registration_complete", { From eb6714f59bdf79e660dbf93f7605be4c1faadad9 Mon Sep 17 00:00:00 2001 From: "Lucas Perais (lpe)" Date: Wed, 2 May 2018 10:45:59 +0200 Subject: [PATCH 3/4] [FIX] website_slides: slide in fullscreen needs to have the navbar Display a slide, enter fullscreen mode Make the navigation bar appear. Now, try to push on any button of the nav bar Before this commit, none of the button work This is because the fullscreen mode is handled by the browser, and won't let any non-fullscreen elements be interactive After this commit, the nav bar is part of the element that are in fullscreen And the button work OPW 1839503 closes #24522 --- .../static/lib/pdfslidesviewer/PDFSlidesViewer.js | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/addons/website_slides/static/lib/pdfslidesviewer/PDFSlidesViewer.js b/addons/website_slides/static/lib/pdfslidesviewer/PDFSlidesViewer.js index d5e7266930c..f313a37dfa3 100644 --- a/addons/website_slides/static/lib/pdfslidesviewer/PDFSlidesViewer.js +++ b/addons/website_slides/static/lib/pdfslidesviewer/PDFSlidesViewer.js @@ -147,12 +147,22 @@ var PDFSlidesViewer = (function(){ PDFSlidesViewer.prototype.toggleFullScreenFooter = function(){ if(document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement) { - $('div#PDFViewer > div.navbar-fixed-bottom').toggleClass('oe_show_footer'); + var $navBarFooter = $('div#PDFViewer > div.navbar-fixed-bottom'); + $navBarFooter.toggleClass('oe_show_footer'); + + if ($navBarFooter.css('display') === 'none') { + $navBarFooter.css('display', 'block'); + $('div#PDFViewer').css('padding-bottom', '50px'); + } else { + $navBarFooter.css('display', 'none'); + $('div#PDFViewer').css('padding-bottom', '0'); + } } } PDFSlidesViewer.prototype.toggleFullScreen = function(){ - var el = this.canvas.parentNode; + // The canvas and the navigation bar needs to be fullscreened + var el = this.canvas.parentNode.parentNode; var isFullscreenAvailable = document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled || false; if(isFullscreenAvailable){ // Full screen supported From 6558d52e9b5dd774145d2df3822dcea8a35f7872 Mon Sep 17 00:00:00 2001 From: qdp-odoo Date: Tue, 15 May 2018 16:30:05 +0200 Subject: [PATCH 4/4] [FIX] account: adjustment wizard usability This commits removes a disambiguation on the choices of the 'Adjustment Type' selection as 'in your favor' could be achieved by debitting the 'Collected Tax' account or creditting the 'Paid Tax' accounts (respectively for 'in favor of the Estate'). The choices now refers directly to the journal item where the tax is gonna be copied Related to https://github.com/odoo/odoo/commit/c58ef14a01f600d75391f2a9c38bb2b30e0e2528 Related to OPW 1826242 --- addons/account/wizard/wizard_tax_adjustments.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/account/wizard/wizard_tax_adjustments.py b/addons/account/wizard/wizard_tax_adjustments.py index 22d2235ef04..05f893722a0 100644 --- a/addons/account/wizard/wizard_tax_adjustments.py +++ b/addons/account/wizard/wizard_tax_adjustments.py @@ -18,7 +18,7 @@ class TaxAdjustments(models.TransientModel): debit_account_id = fields.Many2one('account.account', string='Debit account', required=True, domain=[('deprecated', '=', False)]) credit_account_id = fields.Many2one('account.account', string='Credit account', required=True, domain=[('deprecated', '=', False)]) amount = fields.Monetary(currency_field='company_currency_id', required=True) - adjustment_type = fields.Selection([('debit', 'Adjustment in favor of the Estate'), ('credit', 'Adjustment in your favor')], string="Adjustment Type", store=False, required=True) + adjustment_type = fields.Selection([('debit', 'Applied on debit journal item'), ('credit', 'Applied on credit journal item')], string="Adjustment Type", store=False, required=True) company_currency_id = fields.Many2one('res.currency', readonly=True, default=lambda self: self.env.user.company_id.currency_id) tax_id = fields.Many2one('account.tax', string='Adjustment Tax', ondelete='restrict', domain=[('type_tax_use', '=', 'none'), ('tax_adjustment', '=', True)], required=True)