From 22d1743e26afaefbca198905fca133d8e5b7b413 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Warnon?= Date: Tue, 26 Oct 2021 07:41:28 +0000 Subject: [PATCH] [REF] website_slides: rename 'webpage' to 'article' This commit simply renames the 'webpage' slide_category into 'article'. Indeed, 'webpage' was confusing because it was leading you to believe that you would have to link external content from another website. While this slide_category instead lets you build an 'article' with content by using our website builder. The changes here are just renaming the slide_category and the labels, there should not be any functional change. Task-2510174 Part-of: odoo/odoo#71477 --- addons/website_slides/__manifest__.py | 2 +- addons/website_slides/controllers/main.py | 4 ++-- addons/website_slides/data/slide_slide_demo.xml | 6 +++--- addons/website_slides/models/slide_channel.py | 2 +- addons/website_slides/models/slide_slide.py | 14 +++++++------- .../src/js/slides_course_fullscreen_player.js | 14 +++++++------- .../website_slides/static/src/js/slides_upload.js | 10 +++++----- .../static/src/js/tours/slides_tour.js | 2 +- .../static/src/tests/tours/slides_tour_tools.js | 12 ++++++------ .../static/src/xml/website_slides_upload.xml | 4 ++-- addons/website_slides/views/slide_slide_views.xml | 4 ++-- .../views/website_slides_templates_course.xml | 4 ++-- .../views/website_slides_templates_lesson.xml | 4 ++-- 13 files changed, 41 insertions(+), 41 deletions(-) diff --git a/addons/website_slides/__manifest__.py b/addons/website_slides/__manifest__.py index 0562c75d486..7081492b55a 100644 --- a/addons/website_slides/__manifest__.py +++ b/addons/website_slides/__manifest__.py @@ -14,7 +14,7 @@ Featuring * Integrated course and lesson management * Fullscreen navigation - * Support Youtube videos, Google documents, PDF, images, web pages + * Support Youtube videos, Google documents, PDF, images, articles * Test knowledge with quizzes * Filter and Tag * Statistics diff --git a/addons/website_slides/controllers/main.py b/addons/website_slides/controllers/main.py index 8bc6a1ef68c..b3bb297e078 100644 --- a/addons/website_slides/controllers/main.py +++ b/addons/website_slides/controllers/main.py @@ -1175,9 +1175,9 @@ class WebsiteSlides(WebsiteProfile): channel._resequence_slides(slide, force_category=category) redirect_url = "/slides/slide/%s" % (slide.id) - if channel.channel_type == "training" and slide.slide_category not in ["webpage", "quiz"]: + if channel.channel_type == "training" and slide.slide_category not in ["article", "quiz"]: redirect_url = "/slides/%s" % (slug(channel)) - if slide.slide_category == 'webpage': + if slide.slide_category == 'article': redirect_url += "?enable_editor=1" return { 'url': redirect_url, diff --git a/addons/website_slides/data/slide_slide_demo.xml b/addons/website_slides/data/slide_slide_demo.xml index 029ae026aa4..1eea9658457 100644 --- a/addons/website_slides/data/slide_slide_demo.xml +++ b/addons/website_slides/data/slide_slide_demo.xml @@ -225,7 +225,7 @@ A little chat with Harry Potted 6 - webpage + article
@@ -462,7 +462,7 @@ A Mighty Forest from Ages 2 - webpage + article
@@ -605,7 +605,7 @@ Foreword 1 - webpage + article
diff --git a/addons/website_slides/models/slide_channel.py b/addons/website_slides/models/slide_channel.py index b4aa596645c..158a3fa2b36 100644 --- a/addons/website_slides/models/slide_channel.py +++ b/addons/website_slides/models/slide_channel.py @@ -186,7 +186,7 @@ class Channel(models.Model): nbr_document = fields.Integer('Documents', compute='_compute_slides_statistics', store=True) nbr_video = fields.Integer('Videos', compute='_compute_slides_statistics', store=True) nbr_infographic = fields.Integer('Infographics', compute='_compute_slides_statistics', store=True) - nbr_webpage = fields.Integer("Webpages", compute='_compute_slides_statistics', store=True) + nbr_article = fields.Integer("Articles", compute='_compute_slides_statistics', store=True) nbr_quiz = fields.Integer("Number of Quizs", compute='_compute_slides_statistics', store=True) total_slides = fields.Integer('Number of Contents', compute='_compute_slides_statistics', store=True) total_views = fields.Integer('Visits', compute='_compute_slides_statistics', store=True) diff --git a/addons/website_slides/models/slide_slide.py b/addons/website_slides/models/slide_slide.py index f0759b91ca3..33eb7933f9a 100644 --- a/addons/website_slides/models/slide_slide.py +++ b/addons/website_slides/models/slide_slide.py @@ -125,7 +125,7 @@ class Slide(models.Model): # content slide_category = fields.Selection([ ('infographic', 'Image'), - ('webpage', 'Web Page'), + ('article', 'Article'), ('document', 'Document'), ('video', 'Video'), ('quiz', "Quiz")], @@ -143,7 +143,7 @@ class Slide(models.Model): # google google_drive_id = fields.Char('Google Drive ID of the external URL', compute='_compute_google_drive_id') # content - webpage - html_content = fields.Html("HTML Content", help="Custom HTML content for slides of category 'Web Page'.", translate=True, sanitize_attributes=False, sanitize_form=False) + html_content = fields.Html("HTML Content", help="Custom HTML content for slides of category 'Article'.", translate=True, sanitize_attributes=False, sanitize_form=False) # content - images image_binary_content = fields.Binary('Image Content', related='binary_content', readonly=False, help="Used to filter file input to images only") @@ -152,7 +152,7 @@ class Slide(models.Model): # content - documents slide_type = fields.Selection([ ('image', 'Image'), - ('webpage', 'Web Page'), + ('article', 'Article'), ('quiz', 'Quiz'), ('pdf', 'PDF'), ('sheet', 'Sheet (Excel, Google Sheet, ...)'), @@ -201,7 +201,7 @@ class Slide(models.Model): nbr_document = fields.Integer("Number of Documents", compute='_compute_slides_statistics', store=True) nbr_video = fields.Integer("Number of Videos", compute='_compute_slides_statistics', store=True) nbr_infographic = fields.Integer("Number of Images", compute='_compute_slides_statistics', store=True) - nbr_webpage = fields.Integer("Number of Webpages", compute='_compute_slides_statistics', store=True) + nbr_article = fields.Integer("Number of Articles", compute='_compute_slides_statistics', store=True) nbr_quiz = fields.Integer("Number of Quizs", compute="_compute_slides_statistics", store=True) total_slides = fields.Integer(compute='_compute_slides_statistics', store=True) is_published = fields.Boolean(tracking=1) @@ -366,8 +366,8 @@ class Slide(models.Model): slide.slide_type = False elif slide.slide_category == 'infographic': slide.slide_type = 'image' - elif slide.slide_category == 'webpage': - slide.slide_type = 'webpage' + elif slide.slide_category == 'article': + slide.slide_type = 'article' elif slide.slide_category == 'quiz': slide.slide_type = 'quiz' elif slide.slide_category == 'video' and slide.video_source_type == 'youtube': @@ -1252,7 +1252,7 @@ class Slide(models.Model): def _search_render_results(self, fetch_fields, mapping, icon, limit): icon_per_category = { 'infographic': 'fa-file-picture-o', - 'webpage': 'fa-file-text', + 'article': 'fa-file-text', 'presentation': 'fa-file-pdf-o', 'document': 'fa-file-pdf-o', 'video': 'fa-play-circle', diff --git a/addons/website_slides/static/src/js/slides_course_fullscreen_player.js b/addons/website_slides/static/src/js/slides_course_fullscreen_player.js index 0882af227b6..15faec76716 100644 --- a/addons/website_slides/static/src/js/slides_course_fullscreen_player.js +++ b/addons/website_slides/static/src/js/slides_course_fullscreen_player.js @@ -548,7 +548,7 @@ // Private //-------------------------------------------------------------------------- /** - * Fetches content with an rpc call for slides of category "webpage" + * Fetches content with an rpc call for slides of category "article" * * @private */ @@ -574,7 +574,7 @@ */ _fetchSlideContent: function (){ var slide = this.get('slide'); - if (slide.category === 'webpage' && !slide.isQuiz) { + if (slide.category === 'article' && !slide.isQuiz) { return this._fetchHtmlContent(); } return Promise.resolve(); @@ -616,8 +616,8 @@ // technical settings for the Fullscreen to work var autoSetDone = false; if (!slideData.hasQuestion) { - if (_.contains(['infographic', 'document', 'webpage'], slideData.category)) { - autoSetDone = true; // images, documents (local + external) and web pages are marked as completed when opened + if (_.contains(['infographic', 'document', 'article'], slideData.category)) { + autoSetDone = true; // images, documents (local + external) and articles are marked as completed when opened } else if (slideData.category === 'video' && slideData.videoSourceType === 'google_drive') { autoSetDone = true; // google drive videos do not benefit from the YouTube integration and are marked as completed when opened } @@ -646,7 +646,7 @@ }, /** * Render the current slide content using specific mecanism according to slide category: - * - simply append content (for webpage) + * - simply append content (for article) * - template rendering (for image, document, ....) * - using a sub widget (quiz and video) * @@ -676,8 +676,8 @@ return this.videoPlayer.appendTo($content); } else if (slide.category === 'video' && slide.videoSourceType === 'google_drive') { $content.html(QWeb.render('website.slides.fullscreen.video.google_drive', {widget: this})); - } else if (slide.category === 'webpage'){ - var $wpContainer = $('
').addClass('o_wslide_fs_webpage_content bg-white block w-100 overflow-auto'); + } else if (slide.category === 'article'){ + var $wpContainer = $('
').addClass('o_wslide_fs_article_content bg-white block w-100 overflow-auto'); $(slide.htmlContent).appendTo($wpContainer); $content.append($wpContainer); this.trigger_up('widgets_start_request', { diff --git a/addons/website_slides/static/src/js/slides_upload.js b/addons/website_slides/static/src/js/slides_upload.js index afb1f74c686..f7f901c82cc 100644 --- a/addons/website_slides/static/src/js/slides_upload.js +++ b/addons/website_slides/static/src/js/slides_upload.js @@ -134,7 +134,7 @@ var SlideUploadDialog = Dialog.extend({ */ _formValidateGetValues: async function (forcePublished) { var slideCategory = 'document'; - // default slide_category (for webpage for instance) + // default slide_category (for article for instance) if (_.contains(this.slide_category_data), this.get('state')) { slideCategory = this.get('state'); } @@ -165,7 +165,7 @@ var SlideUploadDialog = Dialog.extend({ 'slide_category': 'document', 'binary_content': this.file.data }); - } else if (values['slide_category'] === 'webpage') { + } else if (values['slide_category'] === 'article') { _.extend(values, { 'image_1920': this.file.type === 'image/svg+xml' ? await this._svgToPng() : this.file.data, }); @@ -345,10 +345,10 @@ var SlideUploadDialog = Dialog.extend({ label: _t('Image'), template: 'website.slide.upload.modal.infographic', }, - webpage: { + article: { icon: 'fa-file-text', - label: _t('Web Page'), - template: 'website.slide.upload.modal.webpage', + label: _t('Article'), + template: 'website.slide.upload.modal.article', }, video: { icon: 'fa-file-video-o', diff --git a/addons/website_slides/static/src/js/tours/slides_tour.js b/addons/website_slides/static/src/js/tours/slides_tour.js index dab72c581ad..b31ca9acd55 100644 --- a/addons/website_slides/static/src/js/tours/slides_tour.js +++ b/addons/website_slides/static/src/js/tours/slides_tour.js @@ -42,7 +42,7 @@ tour.register('slides_tour', { width: 260, }, { trigger: 'a.btn-primary.o_wslides_js_slide_upload', - content: Markup(_t("Your first section is created, now it's time to add lessons to your course. Click on Add Content to upload a document, create a web page or link a video.")), + content: Markup(_t("Your first section is created, now it's time to add lessons to your course. Click on Add Content to upload a document, create an article or link a video.")), position: 'bottom', }, { trigger: 'a[data-slide-category="document"]', diff --git a/addons/website_slides/static/src/tests/tours/slides_tour_tools.js b/addons/website_slides/static/src/tests/tours/slides_tour_tools.js index 62f7f4b334d..bc579154516 100644 --- a/addons/website_slides/static/src/tests/tours/slides_tour_tools.js +++ b/addons/website_slides/static/src/tests/tours/slides_tour_tools.js @@ -56,16 +56,16 @@ var addVideoToSection = function (sectionName, saveAsDraft) { return base_steps; }; -var addWebPageToSection = function (sectionName, pageName) { +var addArticleToSection = function (sectionName, pageName) { return [ { content: 'eLearning: add content to section', trigger: 'div.o_wslides_slide_list_category_header:contains("' + sectionName + '") a:contains("Add Content")', }, { - content: 'eLearning: click on webpage', - trigger: 'a[data-slide-category=webpage]', + content: 'eLearning: click on article', + trigger: 'a[data-slide-category=article]', }, { - content: 'eLearning: fill webpage title', + content: 'eLearning: fill article title', trigger: 'input[name=name]', run: 'text ' + pageName, }, { @@ -76,7 +76,7 @@ var addWebPageToSection = function (sectionName, pageName) { trigger: 'div.select2-result-label:contains("Theory")', in_modal: false, }, { - content: 'eLearning: fill webpage completion time', + content: 'eLearning: fill article completion time', trigger: 'input[name=duration]', run: 'text 4', }]; @@ -132,7 +132,7 @@ var addNewCourseTag = function (courseTagName) { export default { addSection: addSection, addVideoToSection: addVideoToSection, - addWebPageToSection: addWebPageToSection, + addArticleToSection: addArticleToSection, addExistingCourseTag: addExistingCourseTag, addNewCourseTag: addNewCourseTag, }; diff --git a/addons/website_slides/static/src/xml/website_slides_upload.xml b/addons/website_slides/static/src/xml/website_slides_upload.xml index 3a2af6c904e..f5874a0fa5b 100644 --- a/addons/website_slides/static/src/xml/website_slides_upload.xml +++ b/addons/website_slides/static/src/xml/website_slides_upload.xml @@ -213,7 +213,7 @@
- +
@@ -224,7 +224,7 @@
-
How to create a Lesson as a Web Page?
+
How to create a Lesson as an Article?
First, create your lesson, then edit it with the website builder. You'll be able to drop building blocks on your page and edit them.
diff --git a/addons/website_slides/views/slide_slide_views.xml b/addons/website_slides/views/slide_slide_views.xml index 32688b4fabe..3f8affcb44d 100644 --- a/addons/website_slides/views/slide_slide_views.xml +++ b/addons/website_slides/views/slide_slide_views.xml @@ -271,8 +271,8 @@ - - + + diff --git a/addons/website_slides/views/website_slides_templates_course.xml b/addons/website_slides/views/website_slides_templates_course.xml index ebc316a4483..e753b91f439 100644 --- a/addons/website_slides/views/website_slides_templates_course.xml +++ b/addons/website_slides/views/website_slides_templates_course.xml @@ -526,7 +526,7 @@ - + @@ -813,7 +813,7 @@ - + diff --git a/addons/website_slides/views/website_slides_templates_lesson.xml b/addons/website_slides/views/website_slides_templates_lesson.xml index c3583310be6..5cf06065df4 100644 --- a/addons/website_slides/views/website_slides_templates_lesson.xml +++ b/addons/website_slides/views/website_slides_templates_lesson.xml @@ -229,7 +229,7 @@ t-att-href="'/slides/slide/%s' % (slug(previous_slide)) if previous_slide else '#'"> Prev - + @@ -261,7 +261,7 @@
-
+
Click on the "Edit" button on the top-right of the screen to edit your slide content.