Commit Graph
54 Commits
Author SHA1 Message Date
Romain Derie 98678199a3 [FIX] *: fix translations inconsistency in 't-set'
This commit fix most `t-set` errors that either led to:
  1. unwanted text to be considered as translatable.
     eg: `<t t-set="classes">text-left bg-100 p4</t>` would create an
     `ir.translation`.
  2. text that should be translatable were not.
     eg: `<t t-set="text" t-value="'Both'"/>` would not create an
     `ir.translation` while it should.

If a text should be translatable, it should never be inside a `t-value`:
  - `<t t-set="text">Both</t>`
If a text should not be translatable, it sould either be inside `t-value`,
`t-valuef` or the `<t>` tag should have `t-translation="off"`:
  - `<t t-set="classes" t-translation="off">text-left bg-100 p4</t>`
  - `<t t-set="classes" t-valuef="text-left bg-100 p4"/>`
  - `<t t-set="classes" t-value="'text-left bg-100 p4'"/>`

https://github.com/odoo/odoo/pull/43660
https://github.com/odoo/enterprise/pull/7839
https://github.com/odoo/design-themes/pull/203

closes odoo/odoo#43660

Related: odoo/enterprise#7839
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
2020-01-21 15:32:08 +00:00
Kevin Baptiste 6cbe824871 [REV] web: reverts update to fontawesome 5.11.2
This reverts commit ff1c35513a.

closes odoo/odoo#41480

X-original-commit: 116057b26e71db4692280463669f3e80d813ddcc
Related: odoo/enterprise#7110
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-12-09 10:33:36 +00:00
Kevin Baptiste ff1c35513a [IMP] web: update to fontawesome 4.7.0 to 5.11.2
FontAwesome 5 introduced new names for some icons as described on
https://fontawesome.com/how-to-use/on-the-web/setup/upgrading-from-version-4#name-changes

This commit replaces the old names to the new ones.

closes odoo/odoo#35826

Taskid: 2050241
Related: odoo/enterprise#5180
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-11-28 10:05:12 +00:00
David Beguin 5ac64d6e02 [IMP] website_slides_survey: add certification badges section to ranks badge page
This commit adds a section to distinguish the certification badges from the
other badges users may obtain in eLearning. Certification badges are available
on the ranks page, linked to a running survey. Clicking on them directly
redirects into the linked course.

Task ID : 1961053
PR #32594
2019-11-22 15:30:53 +00:00
David Beguin 6f0d36fa67 [REF] gamification : rename stat_* fields into granted_* to ease understanding
In this commit we rename stat_count into granted_count, and stat_count_distinct
into granted_users_count to reflect more what are those variables, aka count
of granted badges.

Task ID: 1961053
PR #32594
2019-11-22 14:44:39 +00:00
Thibault Delavallée 60bd39ae38 [FIX] website_profile: ensure top3 users cards have same height
Task ID 2003505
PR #34594
2019-11-05 15:08:34 +00:00
Thibault Delavallée 1d468caf94 [IMP] website_profile: handle both groupby and search in users page
Purpose is to support both search term and karma gain group by in the
URL, using keep_query.

Clean some code and move karma computation to res.users model to avoid
having sql in controllers.

Also fix some display issues.

LINKS

Task ID 2003505
PR #34594
2019-11-05 15:08:34 +00:00
Patrick Hoste bfbc7c6a18 [IMP] gamification: track karma change on users
PURPOSE

Allow karma gain tracking enabling notably display of top users based on
weekly / monthly gain in website profile.

SPECIFCIATIONS

Each time a user gains karma a record is created in the gamification karma
tracking model. Scheduled activity runs to consolidate the records into
monthly gain records to avoid having crowdy table and unnecessary noise
in karma gain.

This model is made private and only accessible through some dedicated
compute methods / controllers used in website profile.

In website profile module buttons are added to see users ranking based
on their total karma (like before) but also by last week and last month
gains (using the newly introduced tracking model).

LINKS

Task ID 2003505
PR #34594
2019-11-05 15:08:34 +00:00
mcm-odoo b29d0385ad [IMP] website_slides: add call to actions in user profile
Before this task, when the user arrived on his profile,
some empty sections didn't had any call to actions

task-2080615

closes odoo/odoo#38029

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-10-18 13:04:08 +00:00
c8c8eb3d56 [IMP] website_forum, *: revamp design
* web_editor, website_profile

Part of https://github.com/odoo/odoo/pull/35749
task-2024197

Co-authored-by: Jérémy Kersten <jke@odoo.com>
Co-authored-by: qsm-odoo <qsm@odoo.com>
Co-authored-by: fja-odoo <fja@odoo.com>
2019-10-01 16:52:20 +00:00
Debauche Stéphane 34791aa403 [IMP] website_slides: clean navigation and breadcrumb with profile / courses
SPECIFICATIONS

  * Remove the /home from the breadcrumb in user profile
  * Rename the Home (on a specific course) into "Courses"

Task 2062640

closes odoo/odoo#36900

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-09-24 11:23:25 +00:00
Sébastien Theys b6288e5446 [IMP] *: remove image_64 and clean views
There are too many image sizes. Since they are stored resized this takes time to
generate when saving a new image, it's more rows on the attachment table, more
files on the disk, ...

64px is close enough to 128px that it can be removed without a big impact on
download size.

It will even reduce download and number of requests when both images are
displayed because now only one has to be downloaded and then benefit from cache.

The difference between the two is typically around 1.5kB which is negligible
these days, especially when the request overhead is around 0.5kB already, not
even taking into account other factors such as latency.

If a 64px image must absolutely be returned, it is still possible to pass the
size parameters to the image route. But the current guideline is to handle
resizing in the views when necessary.

Views
=====

- remove width and height attributes when existing CSS rules are overriding them
  (eg. `.oe_kanban_avatar` in the right context)
- add CSS rules instead of width and height attributes when possible
- use `object-fit: cover;` where width and height are forced to avoid distortion
  of non-square images
- for products, use `object-fit: contain;` instead, keep ratio but without crop
- add new CSS rules where the expected size was max 64px*64px before due to the
  image size itself
- remove `img-fluid` where using size classes to avoid conflicting rules

task-2060865

closes odoo/odoo#36147

Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2019-09-19 10:23:39 +00:00
Thibault Delavallée 98f847be3a [FIX] website_{slides, profile}: fix display of not square user image
When having not square images for user avatar several issues appear

  * website_slides: heroes of the week banner is broken as circles are not
    circles anymore. They look more like UFOs or funny snowmen;
  * website_slides: my user status / leaderboard / achievements card display
    is broken as image may take much more width than planned;
  * website_slides: channel page view displays user avatar when having joined
    it, and it is broken;
  * website_profile: user avatars in top 3 of users karma ranking is broken.

In this commit we apply strict rules on width / height combined to an object
fit in order to always have a bioutifoul displayed circled image.

Task 2065425 (avatar ratio badly displayed)
PR #36756
2019-09-13 10:05:15 +00:00
qsm-odoo 8025205bb4 [IMP] web_editor, *: introduce wysiwyg frontend loader
* website_forum, website_profile

- Share some code between website_forum and website_profile by exposing
  a function in web_editor to instantiate a wysiwyg instance on a
  textarea

- Use no-lazy loaded JS to add a visual loading effect while the
  wysiwyg is not yet available.

This is made in preparation of task-2024197
(see https://github.com/odoo/odoo/pull/35749)

Thanks to @stefanorigano

closes odoo/odoo#36581

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2019-09-10 12:12:28 +00:00
Christophe Simonis 140ee6b8f0 [MERGE] forward port branch saas-12.4 up to 98a55917a6 2019-08-14 16:48:10 +02:00
David Beguin b091014686 [FIX] elearning : show only website_published badges in profile
Before, we were adding a card slot for each badge but displaying information on this
slot only if the badge was website_published. This led to empty slots.

Now, we add only the section if the badge is website_published.

Also, the badge count should only display the number of website_published
received badge of the user. As the profile page is only displayed the information
about 'frontend' achievements (elearning and forum) of the user.

Task ID:2045192
PR #35321

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-07-31 09:08:44 +00:00
fja-odoo 736353b169 [IMP] website, *: improve published smart button
* = web, website_blog, website_crm_partner_assign, website_event,
website_event_track, website_forum, website_hr_recruitment,
website_livechat, website_partner, website_profile, website_sale,
website_sale_delivery, website_slides

The published button name is a bit ambiguous, now it will clearly state
what it does with a new title : "Go to Website". The "Published",
"Unpublished" state is shown with the globe icon changing color
(green and red) and a title on the button.

Badge and Delivery don't have a website page, the button will then be
a publish/unpublish button in the backend.

task-2002435

closes odoo/odoo#34261

Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
2019-08-08 16:05:33 +00:00
fja-odoo 5dac8f8f29 [REF] website, *: remove hardcoded image urls
* = website_forum, website_profile, website_sale,
website_sale_comparison, website_slides, website_slides_survey

Some image links were hard coded in the xml views of website, now they
are replaced with website.image_url(model, field).

Part of https://github.com/odoo/odoo/pull/34149
task-2007400

closes odoo/odoo#34149

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2019-08-05 13:24:22 +00:00
Sébastien Theys 1e9772889b [IMP] *: use image.mixin when appropriate
The following models are already using big images, or they might need big images
in the future:

- partner
- hr employee
- shop category
- lunch product
- gamification badge and karma rank

PR: #34925
2019-08-02 16:47:58 +00:00
Sébastien Theys 58a2ffa26f [IMP] *: rename image fields
image_original => image_1920 (now resized to 1920)
image_big => image_1024
image_large => image_256
image_medium => image_128
image_small  => image_64
image replaced by image_1920 (when writing) or by image_1024 (when displaying
	what was previously the big size)

+ add new intermediate format:
image_512

PR: #34925
2019-08-02 16:47:58 +00:00
Thibault Delavallée cd039b64d4 [FIX] gamification, website_{profile, slides}: correctly display next rank
This fix correctly displayed motivational of next rank to achieve depending
on current karma. Indeed description_motivational field is not the
motivational to reach next rank but to reach the current rank, taken from
previous rank point of view. That way a given rank is configured by modifying
only 1 data.

When not having any karma points (newly created user) the next rank is computed
as being the first available rank. Motivational phrases and badges are updated
accordingly. This commit partially reverts 489c8623e2.

Result

  * new user with no karma: next rank is the first rank;
  * user with karma and next rank: as currently;
  * user being at final rank: next rank is just current rank with a 100%
    circle;

Linked to task 2005840
Related to PR #34220
2019-06-28 13:45:33 +00:00
Thibault Delavallée f66453a0f5 [FIX] website_profile: correctly display rank position image in top 3 users
As user is a loop variable we can directly use its index instead of a rank
position that is not always correctly computed when not being logged due
to access rights issues.

Linked to task 2005840
Related to PR #34220
2019-06-28 13:43:19 +00:00
mgh-odoo 798aa51a00 [FIX] website_{profile, forum}: migrate events from forum to profile
After this commit  https://github.com/odoo/odoo/commit/ff870099c588e56 some of the events are left
in website_forum, that caused some buttons to be inactive. In order to fix that
events moved to website_profile.

Note: code is moved as it is. Cleaning class / namespace will be done in master
to avoid issues due to stable version.

Related to task 2006045

closes odoo/odoo#34138

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-06-28 05:02:45 +00:00
sri-odoo d334313125 [FIX] website_profile: fix ranks' imgs alignment
task-2025167

closes odoo/odoo#34238

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2019-06-27 10:24:50 +00:00
mgh-odoo 75fb46d848 [FIX] website_profile: use wysiwyg editor instead of textarea for biography
Currently, while editing user profile from frontend, biography is displayed in
textarea despite of being an HTML field.

This commit fixes the behavior by providing users with wysiwyg ediotr to
update their biography while editing profile from frondend.

task-2007731

closes odoo/odoo#34207

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-06-21 12:48:04 +00:00
Aurélien Warnon 489c8623e2 [IMP] website_[profile,slides]: improve karma rank layout
This commit improves the karma rank layout displayed on the courses home page
and on the user profile.

Task #2003222
2019-06-13 06:39:32 +00:00
Patrick Hoste 94c332b499 [FIX] website_profile: changes the display of the users search error message
The error message now display a message containing the term of
the search and it is also not always displayed as it was before

Task ID : 2036652

closes odoo/odoo#35052

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-07-22 07:38:23 +00:00
David Beguin 3e5d2e7942 [FIX] website_profile : fix text wrap for badge card in user profile
Task ID : 1935136
Closes PR #31486
2019-07-15 08:16:43 +00:00
Jeremy Kersten 9f56353b79 [FIX] w_profile: don't call _get_users_karma_position without users
Before this commit, if you was searching something that return no results,
you will call the sql query generating an error syntax:

Traceback:
ERROR: syntax error at or near ")"
LINE 8:             WHERE sub.id IN ()

Now, we don't make more useless query if we know that there are no users.
+ preventive fix the call of this method without user_ids

This commit is related to #14667

closes odoo/odoo#33715

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2019-05-28 09:51:38 +00:00
Jeremy Kersten 45e1d196f9 [FIX] website_profile: use company from the partner
This commit closes #14667 again

closes odoo/odoo#33697

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2019-05-27 10:14:23 +00:00
Quentin Mourier 369143c986 [FIX] website_profile: allow to edit its profile
Move code from website_forum allowing to edit its own profile. Otherwise
fields to update are not white listed. Also add an unpublished flag when
seeing unpublished users in order to know it if you have access to
depending on ACLs.

Linked to task 1978530
Related to PR #33559
2019-05-22 09:16:30 +00:00
Goffin Simon 9fe9715e99 [FIX] website_profile: Impossible to edit website profile
Steps to reproduce the bug:

- Create a new profile P with "free signup"
- Log with P
- Go to website profile of P
- Send an email to valide the email of P
- Click on the generated link in the verfification email
- P is able to edit his profile
- Open a new session with P

Bug:

P was not able to edit his profile because the variable "validation_email_done" is
reset to False. Now the karma on the user is checked (inspired from website_profile
in template "email_validation_banner")

opw:1984576

closes odoo/odoo#33335

Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
2019-05-13 13:10:43 +00:00
qmo-odoo f4b5b709a1 [FIX] website_profile: allow administrators to update profiles
Before this commit, only the users who validated their email could change
their own profile. In addition to that behavior we let administrators update
all profiles.

Commit linked to task ID 1978530 (fixes linked to internal testing).
2019-05-03 09:43:12 +00:00
sri-odoo e621e728e4 [IMP] website_profile: reduce bootstrap customization and improve circular progress design
Purpose: reduce some customization and ease eLearning link with themes. For
that purpose use the body class name propagation recently added.

Also mask the initial part of the circular progress, removing the border
radius effect.

Linked to task 1958372
Related to PR #32648
2019-04-23 09:34:41 +00:00
qmo-odoo 7c8834459e [IMP] website_slides,_profile: Improve elearning UX
This commit changes:
  - In elearning homepage, change "Heroes of the week"
    to "leaderboard of the week"
  - In user profile, change "Rank: Master" to
    "Current Rank: Master"
  - In the "Edit Profile" view, remove the required
    on the description text area

Task: #1961116
PR: #32621

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-04-11 15:02:13 +00:00
David Beguin a515e21b6e [FIX] website_profile : set badge image instead of badge level icon in badge page
Set badge image if any instead of forcing badge level icon in badge page.
If badge has no image, use the badge level icon. And if no badge level, show default placeholder icon.

Task ID: 1961700
PR #32255

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-03-29 14:46:57 +00:00
Thibault Delavallée de139a8508 [REF] website_slides: cleanup scss ordering, remove unused classes, add placeholder images
Commit linked to task ID 1941250 and PR #31977
2019-03-21 11:39:20 +00:00
sri-odoo 7d0d49b4e3 [FIX] website_profile: improve top banner and navigation and apply various tweaks
Improve the email validation banner and allow adding custom classes when
calling its templates. Also improve top banner design as well as navigation
and tabs.

Finally perform some minor tweaks on design.

Commit linked to task ID 1941250 and PR #31977
2019-03-21 11:38:56 +00:00
David Beguin a13e33ddda [FIX] website_slide{_survey} : apply various fixes on elearning views
- Fix certification card in user's profile page

Since design review, certification card were not displaying well.
This commit applies the course card template on certification card
and modifies the way the certification get downloaded by calling directly the
controller instead of using class catched in javascript that calls afterward the
controller.

- Allow review button only if allow_comment in FS mode + redirect url

'write a review' button in fullscreen mode must not be displayed if the course
is not in allow_comment mode. Also, the url if this button was redirecting
to slide view in non fullscreen mode. As no review can be done from this point,
the url redirect now to the course view.

- Fix fullscreen slide height.

- Fix all slides view per category pager and page rendering

Since the introduction of categorized data dictionnary that is given to the template,
if a category is empty, it's rendered anyway, which is good for publisher,
to quickly see all existing categories.
But other users should not see those empty categories.

Also, if the slides from a course are filtered (with View all button) by category,
all the slides should be reachable, using the pager. This was not the case as
categorized slides dictionnary returned no slides if page <= 2.
(as bound of array was from offset to limit and offset and limit were equals)
The number of slides per category must be overwritten if search category is activated,
to see more than the 4 first slides of the category.

Finally, if search category is activated, only the target category should be displayed,
and not the others, for performance reason.

- Show 'not verified' next to user's name if user karma = 0

Instead of using the email_validation_done flag. As email validation is only used
to offer the user some karma in order to be able to interact in the forum or eLearning.
If the user already has karma, he is already considered as active and 'verified'

- Correct URL of certification in FS mode

Task ID : 1941250
Closes PR #31567

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-03-19 13:03:51 +00:00
sri-odoo@stefanorigano@dbeguin
8ecff655e0 [IMP] website_profile: merge ranks/badges pages
Merge ranks & badges pages. This commit adapt the final page
layout, controllers and templates.

Added the badge category filter. If used in url parameter, hide ranks and show
only the badge part of the page, filtered on matching badge_category.

Task ID : 1941250
PR #31567

Co-authored-by: @stefanorigano
Co-authored-by: @dbeguin
2019-03-19 13:03:40 +00:00
David Beguin d7cc1520f4 [IMP] website_profile, gamification, : add search bar in all users page
This commit adds the search bar in 'All users' page in order to filter on name or company name.
To be able to keep the position, a non stored computed field has been added on res_users
to get the position depending on the user's karma.

The podium (top 3 users) is now displayed only if there is no search applied and if the page = 1
because it has no sens anymore in other cases.

Special thanks to @jem-odoo who helped me finding smart solution for position computing.

Task ID : 1943788
PR #31321
2019-03-15 14:59:12 +00:00
David Beguin fb40c6bf60 [IMP] website(_profile,_forum,_slides): move validation email to profile and use in forum and elearning
Email validation was necessary on the forum to be able to begin to use the forum
(ask or answer questions, vote, etc..)

As the new elearning also uses karma since 705376a982,
the email validation is now also necessary in the eLearning platform.

This is why this commit is moving the email validation process to website_profile
and extend website_slides (eLearning) and website_forum to use this feature.

In function of where the user asked to send him the validation email,
the user is redirected on the forum or on the elearning when he clicks on
'Validate my account' in the received 'email validation' email.

Task ID : 1943788
PR #31321
2019-03-15 14:58:28 +00:00
David Beguin 6091062e66 [IMP] website_(profile, slides): add custom pager to show on all users / courses pages
If there are too much users to show on the page and to avoid performance
issues, a pager is now applied on the all users page.

A new pager based on website_pager is added in order to ease the navigation
through the potential high number of pages. 'Go to first page' and 'Go to last
page' buttons have been added and the design of the pager have been adapted
to be more integrated into the new eLearning platform.

Also add the pager on the slide page if search category is applied. The pager
was already computed in the controller but not displayed.

Task ID : 1946160
PR #31697
2019-03-08 11:14:45 +00:00
David Beguin 1949c796b5 [FIX] gamification, website_profile : re-fix division by zero if user has no karma
If a new user try to access the elearning platform or his porfile, if he has
no karma, has it is the case for new users, he won't get any rank. So that
the next rank karma minus current rank karma equals zero.

To avoid this, next_rank will always be first one existing if the user has no
karma. Also, the current rank will not be displayed if the user has no karma.
finally, next rank will not be displayed if the user reached the last existing
rank.

Task ID : 1941250
PR #31512
2019-03-06 14:08:24 +00:00
David Beguin c7cceaef79 [FIX] website_profile : hide badge if not website_published on user's profile page
Badges that should be displayed on user's profile page must be website
published. Badges that are website_published are typically forum badges or
others that will be configured for eLearning.

Task ID : 1941250
PR #31512
2019-03-06 14:06:27 +00:00
sri-odoo af41382fa1 [REF] website_profile and dependencies: improve global layout and design
Purpose is to perform a cleaning pass on website_profile templates. It
cleans the DOM, templates and CSS and proposes various improvements on
general design and layouting. This includes notably

 * lessen custom CSS and use bootstrap 4 classes;
 * simplify layout when possible;
 * make is responsive and mobile friendly;

No functional changes should occur with this commit.

Sub modules are impacted as profile is extended in various other
applications: eLearning, forum and certification.

Commit linked to task ID 1941250 and PR #31453
2019-03-04 16:13:52 +00:00
sri-odoo 4363598582 [REF] website_profile: improve rank progress template
Purpose is to make it better looking and responsive.

Commit linked to task ID 1941250 and PR #31453
2019-03-04 16:13:45 +00:00
sri-odoo 920a48b32f [REF] website_profile: add circular rank progress
Purpose of this commit is to add a circular progress around the rank of
a user when seing its profile. It allows to see at a glance advance for
next karma rank.

Commit linked to task ID 1941250 and PR #31317.
2019-02-21 16:37:58 +00:00
Fabrice Henrion 45bb68db0a [IMP] website_profile: improve wording and fix typos
Manual backport of commit done in master at 20e48b84f8. It is interesting
to have those fixes in 12.2.

Commit linked to task ID 1941250 and PR #31317.
2019-02-21 16:37:55 +00:00
David Beguin 2c01452d4b [IMP] website(_profile,_forum,_survey) : redesign website all_users page
As the eLearning (website_slides) is also using website_profile users,
the All Users page is moved from website_forum to website_profile, to be
useable in both forum and eLearning.

This page displays also the number of karma point, badges and certificates
of each user.

The users are sorted by their karma points and the first 3 users are
promoted on a podium.

Use span instead of b tag in profile page

Task ID : 1922159
PR #31109
2019-02-18 15:15:06 +00:00