LESS rules (enterprise compatibility) :
* .oe_avatar is float:left by default
* .oe_title is placed between oe_avatar/oe_button_box if any
without the need to make it float
* listing of modules in website already bypassed session user
* altered authenticated endpoint so it does the same
* sudoed a few read accesses & name_get in groups
* other accesses are list/form views, menu only accessible to
system_user
* new-API-ified some calls & unified listing of installed modules
Main changes :
- mail.notification model is removed. People do not receive notifications
anymore. Instead two ways of following documents exist
- using a channel; messages will be displayed on the channel itself
in a near future commit
- following with its partner; messages will all be considered as
needaction, using a new m2m table. People should receive less
needaction messages by following less records by themselves.
There is no more read / unread state anymore. Instead only needaction
messages are considered. Todo (Favorites) messages still exist, and are
stores on a new m2m table instead of using decorated notifciations.
- the main filter for documents is not message_unread anymore, but
message_needaction. A lot of views and filters have been updated
accordingly.
- the vote feature has been removed
Some features from live_chat have been moved to the mail module :
- channels now have members, replacing followers;
- a decorated m2m is used to link channels and members. It stores the last
seen message on the channel for a specific partner;
- channels do not create menu entries anymore, because the
NewChatter will have its own display and use of channels;
- access rights have been updated accordingly, using members instead of
followers
Followers can now be partners or channels. Partners following a document
will receive needaction, as previously. However people can follow documents
through channels. Members of a channel are able to listen to a stream
of messages using the channel. Those messages do not create needaction
messages. It is therefore possible to follow documents without receiving
too much notifications. For interesting documents subscribing with its
partner will create notification.
message_follower_ids fields is udpated. It is now a many2many to
mail.followers, not to res.partner anymore. A subscription can be either
a partner (partner_id) or a channel (channel_id).
Some access rules have been updated accordingly.
Move the notification management from mail.notification to res.partner model.
Those methods belong more to the partner model, as they work on partners.
Moreover with the upcoming new model for NewChatter notification will be
heavily refactored.
crm:
- Move crm.lead.tag data to demo
- Rename Folded in Kanban view to Folded in Pipeline
hr_equipment:
- Rename Folded in Kanban View to Folded in Recruitment Pipe
hr_recruitment:
- Rename Folded in Kanban View to Folded in Recruitment Pipe
l10n_gr:
- Jump back to accounting dashboard after install
Project:
- Rename Folded in Kanban View to Folded in Tasks Pipeline
Sale_crm:
- Create a quote from an opportunity sets the right sales team automatically
Base:
- Move the tags
- Add a 'Quotations' button on the sales team kanban dashboard
- Add default stages for crm.lead objects
- Add a pivot view for the opportunities
- Modify a menutip
- Add a few tips
* Remove use of flex for kanban record layout (text overflow ellipsis
could not work in row wrap flex layout as flex would prefer to wrap its
elements than add an ellipsis inside its content)
* Fix xml templates (double use of o_kanban_image + non-existing class)
Should not be necessary for the correct working of odoo (normal cron
lookup & processing is performed using raw SQL anyway).
* fixed a few ref calls just in case
* also cleaned up a few unused imports
Setting an editable field as invisible when it's empty is not a very good idea
as it will disapear if you try to modify it's value.
Fully remove the attrs until something making more sense comes up.
This is only a model in case third parties need to override stuff, it
has no field and no reason to be a "concrete" model.
Also
* remove corresponding access rule giving CRUD to every user
* remove unnecessary import
* replace set() call by set literal
* replace dict(generator_expr) by dict comprehensions
Checks that the provided user (or user in the provided dataset):
* is the superadmin
* or is a member of group_erp_manager
There are a number of hand-rolled "is_admin" checks in the codebase some
of which are fairly gnarly. The shortcut provides a single point of
contact, avoids forgetting about cases (e.g. SUPERUSER_ID) and is
relatively convenient when checking a user which is not the "current"
user.
closes#8146
for some fields, the value is an array with the value and a description. In that
case, we need to only take the value in account to set the id of the group.