diff --git a/addons/website_profile/controllers/main.py b/addons/website_profile/controllers/main.py index ec587f59eca..ea0ccd3f0cb 100644 --- a/addons/website_profile/controllers/main.py +++ b/addons/website_profile/controllers/main.py @@ -36,7 +36,6 @@ class WebsiteProfile(http.Controller): content = base64.b64encode(image) dictheaders = dict(headers) if headers else {} dictheaders['Content-Type'] = 'image/png' - headers = list(dictheaders.items()) if not (width or height): suffix = field.split('_')[-1] if '_' in field else 'large' if suffix in ('small', 'medium', 'large', 'big'): @@ -45,6 +44,9 @@ class WebsiteProfile(http.Controller): def _check_user_profile_access(self, user_id): user_sudo = request.env['res.users'].sudo().browse(user_id) + # User can access - no matter what - his own profile + if user_sudo.id == request.env.user.id: + return user_sudo if user_sudo.karma == 0 or not user_sudo.website_published or \ (user_sudo.id != request.session.uid and request.env.user.karma < request.website.karma_profile_min): return False diff --git a/addons/website_sale_slides/__manifest__.py b/addons/website_sale_slides/__manifest__.py index b44cab80345..074d76ce016 100644 --- a/addons/website_sale_slides/__manifest__.py +++ b/addons/website_sale_slides/__manifest__.py @@ -5,7 +5,7 @@ 'summary': 'Sell your courses online', 'description': """Sell your courses using the e-commerce features of the website.""", 'category': 'Hidden', - 'version': '0.1', + 'version': '1.0', 'depends': ['website_slides', 'website_sale'], 'installable': True, diff --git a/addons/website_slides/__manifest__.py b/addons/website_slides/__manifest__.py index a5df3cf0cef..2e051152cb5 100644 --- a/addons/website_slides/__manifest__.py +++ b/addons/website_slides/__manifest__.py @@ -1,21 +1,23 @@ # -*- coding: utf-8 -*- { - 'name': 'Slides', - 'version': '1.0', + 'name': 'eLearning', + 'version': '2.0', 'sequence': 145, - 'summary': 'Publish videos, slides and documents', + 'summary': 'Create online Courses', 'website': 'https://www.odoo.com/page/slides', 'category': 'Website', 'description': """ -Share and Publish Videos, Presentations and Documents' -====================================================== +Create Online Courses +===================== - * Website Application - * Channel Management - * Filters and Tagging - * Statistics of Presentation - * Channel Subscription - * Supported document types : PDF, images, YouTube videos and Google Drive documents) +Featuring + + * Integrated course and lesson management + * Fullscreen navigation + * Support Youtube videos, Google documents, PDF, images, web pages + * Test knowledge with quizzes + * Filter and Tag + * Statistics """, 'depends': [ 'website', diff --git a/addons/website_slides/data/slide_channel_demo.xml b/addons/website_slides/data/slide_channel_demo.xml index b44cf47dd79..3e77e537155 100644 --- a/addons/website_slides/data/slide_channel_demo.xml +++ b/addons/website_slides/data/slide_channel_demo.xml @@ -102,7 +102,7 @@ will learn the basics of wood characteristics. most_voted invite - + We're also Santa Claus! Belligerent and numerous. I am the man with no name, Zapp Brannigan! diff --git a/addons/website_slides/static/src/img/channel_banner_mountain.jpg b/addons/website_slides/static/src/img/channel_banner_mountain.jpg new file mode 100644 index 00000000000..2934f960ce5 Binary files /dev/null and b/addons/website_slides/static/src/img/channel_banner_mountain.jpg differ diff --git a/addons/website_slides/static/src/img/channel_banner_mountain_all.jpg b/addons/website_slides/static/src/img/channel_banner_mountain_all.jpg new file mode 100644 index 00000000000..d30646d8b56 Binary files /dev/null and b/addons/website_slides/static/src/img/channel_banner_mountain_all.jpg differ diff --git a/addons/website_slides/static/src/img/channel_banner_moutain.jpg b/addons/website_slides/static/src/img/channel_banner_moutain.jpg deleted file mode 100644 index c27e2a47434..00000000000 Binary files a/addons/website_slides/static/src/img/channel_banner_moutain.jpg and /dev/null differ diff --git a/addons/website_slides/static/src/scss/slides_slide_fullscreen.scss b/addons/website_slides/static/src/scss/slides_slide_fullscreen.scss index de5493d2f7e..d7368160733 100644 --- a/addons/website_slides/static/src/scss/slides_slide_fullscreen.scss +++ b/addons/website_slides/static/src/scss/slides_slide_fullscreen.scss @@ -66,7 +66,7 @@ .o_wslides_fullscreen_container { display: flex; align-items: stretch; - height: 100%; + height: calc(100% - 50px); position: relative; background-color: #313A44; } diff --git a/addons/website_slides/static/src/scss/website_slides.scss b/addons/website_slides/static/src/scss/website_slides.scss index 75dd02662e4..a456bb99c61 100644 --- a/addons/website_slides/static/src/scss/website_slides.scss +++ b/addons/website_slides/static/src/scss/website_slides.scss @@ -19,56 +19,37 @@ $MAX-Z-INDEX : 2147483647 !default; // Common to new slides pages // ************************************************** +.o_wslides_container { + margin: auto; + width: 100%; + max-width: 1140px; + padding: 0px 32px 0px 32px; +} + .o_wslides_wrap { - .text_small_caps { - font-variant: small-caps; - } - .image-muted { - opacity: 0.5; - } + background-color: desaturate(map-get($grays, "200"), 80%); + .cta-title { - font-size: 1.2em; + font-size: 1.2em; } -} - - -// New home page -// ************************************************** - -div .o_wslides_home_nav { - position: relative; - top: -50px; -} - -div .o_wslides_home_main { - .o_wslides_home_header { - } - .o_wslides_home_footer { - } - - .o_wslides_home_aside { - .fa-check { - color: #00A09D; - font-size: 1.2em; - } - } - .o_wslides_home_content_section_title, .o_wslides_home_aside_title { - h3 { - font-size: 1.4em; - } - h4 { - font-size: 1.3em; - } - } - .o_wslides_course_card { .card-body { padding: 0.75em 1em; } .card-footer { - padding-top: 0.75em 1em; + padding: 0.75em 1em; } } + + .o_wslides_lesson_card { + .card-body { + padding: 0.75em 1em; + } + .card-footer { + padding: 0.75em 1em; + } + } + // responsive card-deck like .row.o_wslides_row > div[class*='col-'] { display: flex; @@ -80,13 +61,17 @@ div .o_wslides_home_main { // tools // **************************************** + .text_small_caps { font-variant: small-caps; } - - .image-muted { + img.o_wslides_img_muted { opacity: 0.5; } + img.o_wslides_img_center_crop { + object-fit: cover; + object-position: center; + } .o_wslides_home_circled { border-radius: 50%; @@ -134,16 +119,44 @@ div .o_wslides_home_main { } } -// New course page + +// New home page // ************************************************** -.o_wslides_container { - margin: auto; - width: 100%; - max-width: 1140px; - padding: 32px 32px 0px 32px; +div .o_wslides_home_nav { + top: -40px; + + @include media-breakpoint-up(md) { + font-size: 1rem; + + .o_wslides_nav_navbar_right { + margin-left: auto; + padding-left: $spacer; + border-left: 1px solid $border-color; + } + } } +div .o_wslides_home_main { + .o_wslides_home_aside { + .fa-check { + color: #00A09D; + font-size: 1.2em; + } + } + .o_wslides_home_content_section_title, .o_wslides_home_aside_title { + h3 { + font-size: 1.4em; + } + h4 { + font-size: 1.3em; + } + } +} + +// New course page +// ************************************************** + .o_wslides_course_nav { margin: auto; background: linear-gradient(150deg, #875A7B 20%, #62495B 80%) !important; @@ -153,6 +166,10 @@ div .o_wslides_home_main { color: #FFFFFF; } + small a { + color: #000000; + } + nav { .breadcrumb-item::before { font-weight: bold; @@ -187,66 +204,54 @@ div .o_wslides_home_main { top: 48px; padding-top: 0px; - .o_wslides_course_header_content { - font-size: 16px; - color: #FFFFFF; - .o_wslides_course_description { - margin-right: 36px; - } - } - .o_wslides_course_header_aside { + max-width: 286px; img { width: 100%; max-width: 256px; } } + + .o_wslides_course_header_content { + font-size: 16px; + color: #FFFFFF; + + .o_wslides_course_header_nav { + ul.o_wslides_nav_tabs { + border-bottom: 0px; + li.nav-item { + margin-bottom: 0px; + } + a.nav-link { + color: white; + border-radius: 0px; + height: 48px; + font-weight: bold; + padding-top: 12px; + border-left: 2px solid #875A7B; + text-align: center; + width: 120px; + &:hover { + border: 0px; + border-radius: 0px; + background-color: #875A7B; + } + &.active { + color: #212529; + background-color: #f2f2f2; + border: 0px; + } + } + } + } + } } } -.o_wslides_course_content { +.o_wslides_course_main { margin: auto; background-color: #f2f2f2; - .o_wslides_content_container { - position: relative; - top: -80px; - } - - // responsive card-deck like - .row.o_wslides_row > div[class*='col-'] { - display: flex; - flex:1 0 auto; - .card { - width:100%; - } - } - - .o_wslides_course_content_nav { - .o_wslides_nav_tabs { - border-bottom: 0px; - } - .o_wslides_navlink { - color: white; - border-radius: 0px; - height: 48px; - font-weight: bold; - padding-top: 12px; - border-left: 2px solid #875A7B; - text-align: center; - width: 120px; - &:hover { - border: 0px; - border-radius: 0px; - background-color: #875A7B; - } - } - .o_wslides_navlink.active { - color: #212529; - background-color: #f2f2f2; - border: 0px; - } - } .o_wslides_course_content_main { h3 { font-size: 1.4em; @@ -257,22 +262,20 @@ div .o_wslides_home_main { } .o_wslides_course_content_aside { - top: 1px; - width: 256px; - max-width: 256px; - margin-left: 15px; - background-color: white; + max-width: 286px; + .bg-white { + max-width: 256px; + background-color: white; + padding-bottom: 8px; + > div.row { + padding-left: 15px; + padding-right: 15px; + } + } .o_wslides_course_aside_line { } } - - .o_wslides_lesson_card { - .card-footer { - padding-top: 0.75em; - padding-bottom: 0.75em; - } - } } } @@ -297,34 +300,6 @@ div .o_wslides_home_main { overflow-y: auto !important; } -.oe_slide_embed_wrapper { - position: relative; -} - -section.oe_slides_promote_box { - background-color: $panel-footer-bg; - border-bottom: 1px solid $nav-tabs-border-color; - border-top: 1px solid $nav-tabs-border-color; -} - -img.oe_slides_channel_thumbnail { - @include top-covered-image; - height: 250px; - width: 100% -} - -img.oe_slides_opacity { - opacity: .5; -} - -img.oe_slides_promote_image { - @include top-covered-image; - max-height: 300px; - width: 100%; - overflow: hidden; - display: block; -} - .oe_slides_apart_small { @include top-covered-image; height: 60px; @@ -340,26 +315,12 @@ img.oe_slides_promote_image { max-height: 500px; } -.oe_slides_bottom_border { - border-bottom: 1px solid $nav-tabs-border-color; -} - .o_wslides_like_up, .o_wslides_like_down { cursor: pointer; color: $link-color; } -textarea.o_slides_comment { - resize: vertical; -} - // Thumbnails -.oe_slides_grid_thumbnail { - @include top-covered-image; - height: 200px; - width: 100%; - overflow: hidden; -} .oe_slides_ellipsis { white-space: nowrap; width: 100%; diff --git a/addons/website_slides/static/src/xml/website_slides_fullscreen.xml b/addons/website_slides/static/src/xml/website_slides_fullscreen.xml index a9aff0d2ec7..c1161a02488 100644 --- a/addons/website_slides/static/src/xml/website_slides_fullscreen.xml +++ b/addons/website_slides/static/src/xml/website_slides_fullscreen.xml @@ -3,11 +3,11 @@
-
+
-
- Slide image +
+ Slide image
diff --git a/addons/website_slides/views/website_slides_templates_course.xml b/addons/website_slides/views/website_slides_templates_course.xml index 0ed270e2fbd..8b63565dbbf 100644 --- a/addons/website_slides/views/website_slides_templates_course.xml +++ b/addons/website_slides/views/website_slides_templates_course.xml @@ -7,7 +7,7 @@
-