This merge eases the signin / signup process by rellabelling / adding
options / cleaning support of auth tokens. It also improves customer
portal by cleaning the breadcrumb now using a simple bootstrap menu.
Finally people can now see their sale orders using an access token
without having to rely on website_quote.
Closes 17022.
We make the breadcrumbs of the portal uniform and remove them when we
access the document with an access token without being logged in
(for sales orders).
* allow new signup on invalid token
* relabel signup buttons
* send a welcome email upon signup with a signup token.
This way, should the token somehow be usurped by someone else,
the original partner's email address will be notified.
(before the usurper can change the email)
Mail now can handles a generic access_token in /mail/view route. Mail does
not do anything with it. Addons can override the controller and add their
specific management of this token according to some specific business
logic.
Sale order emails now contains the access token to grant access from the
notification email url without logging in. Sale portal now allow customers
to log in using an access token without having to use Online Quote. If
the user doesn't have an account yet and signup is allowed (B2C) an extra
parameter is added to the url to link the correct partner to the user upon
signup. If the user already has an account an extra parameter is added to
auto-fill the user's login if he wants to login from that session.
Account is also updated to prepare accepting access tokens. However the
complete implementation of accounting customer portal will be done in
another task coming soon.
In order to be able to identify what action to return based on the
access_user.
Typically portal users will need to be redirected to the front-end,
while internal users will need to be redirected to the back-end.
When you receive an url with parameters
* auth_signup_token: uuid
* auth_login: login
those will be stored in the session and used
* when the user will want to sign up in order to be linked to the right
partner;
* when he logs in so he's sure to log in with the right account +
autofill is nice
This commit only adds the support, future commits will support its use.
Since 5425316eff errors when signing up will only display two
messages:
* "Another user is already registered using this email address." or
* "Could not create a new account."
While Odoo creates a multitude of other comprehensible error messages
such as
* "Passwords do not match; please retype them."
* "Signup token '%s' is no longer valid"
This commit now separate UserError and AssertionError from SignupErrors.
Those are still hidden in a general message (see 5425316eff for reasons) while
the other ones are fully displayed.
This commit also improves translations of messages.
This commit duplicates the General settings' User Signup options in
the Website configuration, with a clear description of the options.
We also remove the unnecessary usage of safe_eval in auth_signup's
res_config.py. As stored values are repr values of a boolean field
just comparing the string values is sufficient. There is no need to
use safe_eval as it should be used only when necessary.
In some situations, it would be desirable to be able to attempt a drag
and drop, without actually triggering the dropping action. As an
example, we would like to see whether dragging a new field in studio
ensures that a class 'o_web_studio_nearest_hook' be assigned. This can
only be tested *before* the new field is dropped.
This commit adds an optional argument 'disableDrop' to the
dragAndDrop method, and sets it by default to false. The dropping action
will then only be triggered if the aforementioned parameter is set to
false.
Before this revision, if the user did not re-order
the sequence of its attribute values manually,
the attributes in the variant name were ordered
randomly.
e.g. On the ipod, one time it could be the color before
the GB, one time the other way around.
Besides, this could lead to an issue in the pivot table,
as mentioned in the revision
834b38a84d.
However, on the contrary on what is done in the above revision,
these attributes must not be ordered on their value name,
but rather on their sequence, and if they have the same,
on their attribute, so the order is always deterministic.
This commit improves the use of activities through various applications
by adding a counter of activities displaying next activities grouped by
application. For each application activities are divided into late, today
and future activities in order to achieve a better management.
This commit also merges Inbox and Messaging icons in topbar to keep only
one displaying All / Chat / Channels messages.
* emphasize on important search criteria: on partners, accounts, journal
* search on move name is important as well but there is a menuitem dedicated for that
* search on taxes is less important
* mail_channel, mass_mailing, twitter, event
- t-install attribute holds the technical name of the module that
needs to be install to use a particular snippet.
- Disable the drag & drop feature for these dummy snippets.
- Move some images to website module.
- Installed snippets display at the top of the list.
- Hide not-installed module snippets if user don't have rights to install module.
If the 'reload' action is triggered right after a view change, the
latter will only be effective if we refresh the page at the browser
level. To overcome this, we clear the cache every time the 'reload'
action is triggered.
Before this commit, at each partner creation (including data import,
RPC import and tests) Gravatar server was polled, slowing down partner
batch import.
We then enable this feature only where it is needed: when creating a
partner from a view.
Following commit 828c7c3da9:
the kanban record animation when a theme is hovered was blurry with
chrome and laggy with firefox (with linux at least). This commit
removes the scale part of the animation which was the cause of this.
* add Sphinx 1.6 compatibility (use app.set_translator when
available as in that case programmatically setting
html_translator_class is broken)
* fix a bunch of code block lexers to avoid warnings & get better
coloration
* add a few options which were referred to without being actually
defined
* fix some rST formatting
- Handle vertical screenshots
- If a theme is installed, show it first, hide buttons and use a
specific design
- If no screenshot has been defined, show the cover (or the icon if no
covers has been defined neither)
- Show theme's name and category
- Allow to filter by category
- Design grouped layout
This commit brings a new frontend chatter.
The old one displayed all message on the website
page, and that could be very slow when many many
messages are posted on a document.
The new chatter is more dynamic: we introduce
a pager, to fetch and display only a few messages.
It also still support to post a message if you are
not logged in, using a token mecanism (see
website_quote).
Moreover, a better integration with rating: in the
eshop, when posting a comment, the visitor can add
a rating value (stars).
Slide provided a chatter where you can post message as
public user. We decided to drop that feature in order
to avoid spamming.
Like for all other document, you must at least, be portal
user to post a comment.
Reusing the standart chatter highly simplify the code.