Commit Graph
5487 Commits
Author SHA1 Message Date
Christophe Simonis a282d4ae7f [MERGE] forward port branch saas-14 up to be9dfb331f 2017-02-10 18:41:06 +01:00
mmo 33b09d0d5e [IMP] generic: Open external links in a new tab by default
Purpose
=======

External links in the data sometimes open in the same tab, the users loses times as he has to come back (and looses the context).

Specification
=============

Any external links in data (planners, settings) should open in new tabs.
2017-02-10 14:29:29 +01:00
Nicolas Martinelli d2b9e8aa03 [REF] base, mail: use new format_date method 2017-02-09 15:15:59 +01:00
Aaron Bohy 9fb68e6c96 [FIX] mail: Activity widget: undefined model
Former implementation tried to retrieve the model in the 'model' and
'res_model' attributes of the widget, but both of them were undefined.

The model being required for some of the RPCs performed by the widget,
there were bugs (e.g. the messages weren't refreshed after the creation
of a new activity).
2017-02-02 14:27:32 +01:00
Christophe Simonis 6a942a9e96 [MERGE] forward port branch 10.0 up to 8a0151b4bc 2017-02-02 12:42:51 +01:00
Nicolas Lempereur 8a0151b4bc [FIX] mail: unhide relevant "Odoo Session Expired"
With how the chat manager was currently started, the "Odoo Session
Expired" could cause an arcane js error which would overshadow it.

This is caused by doing an RPC request too soon which invalidate the
session too soon which disable web client `show_application`.

With this commit, we have the error message "Odoo Session Expired"
instead of:
 "Uncaught TypeError: Cannot read property '$el' of undefined"

closes #15313
opw-706346
2017-02-02 11:23:30 +01:00
Olivier Dony aca34baba8 [FIX] mail: fix cardinality issues in bounce processing
A couple of places in the processing of bounces only
accepted a single matching partner. But there could
be multiple partners matching an email address, and
we should handle them all.

There might also be no matching `bounced_thread_id`
matched by the regex, so we should guard against a
bounced_thread_id == None.
2017-01-31 19:21:56 +01:00
Odoo Translation Bot 6a7c05112b [I18N] Update translation terms from Transifex 2017-01-29 04:30:19 +01:00
Christophe Simonis dbbd7f1178 [MERGE] forward port branch saas-14 up to 7b2924253b 2017-01-25 16:36:28 +01:00
Christophe Simonis 7b2924253b [MERGE] forward port branch 10.0 up to 7427825790 2017-01-25 16:27:38 +01:00
Nicolas Lempereur 7427825790 [FIX] mail: don't linkify removed mention
If after inserting a mention (eg: `@Guy`) and we eg. backspace and
change it (eg: to `@GuyFawkes`) the `@Guy` mention will still be
linkified but the partner is not subscribed.

This happened because the linkifying was not requiring a space to follow
the mention, but when getting the used mentions (and commands, ...) in
the message they were required (unless the mention was exactly at the
end of the message).

With this commit, a space is always required after a mention for it to
be working.

opw-705267
2017-01-25 15:47:30 +01:00
Christophe Simonis 6a7db30508 [MERGE] forward port branch saas-11 up to f23394b83a 2017-01-25 15:01:29 +01:00
Christophe Simonis 74c6e895f6 [MERGE] forward port branch 9.0 up to 3e31dc0ba4 2017-01-25 13:14:38 +01:00
Christophe Simonis 3e31dc0ba4 [MERGE] forward port branch saas-6 up to 09f7916f48 2017-01-25 13:04:50 +01:00
Christophe Simonis 09f7916f48 [MERGE] forward port branch 8.0 up to 9d535ee2c7 2017-01-25 12:56:42 +01:00
Jairo Llopis 9d535ee2c7 [FIX] mail: check all parameters are set
Since `model` is not a required field, the invalidation may crash when one is
missing.
It should never happen than a mail.message has a res_id but not a model as it
makes no business sence.
However it is possible than a message temporarly misses one of the two, e.g:

```
self.model = False
self.res_id = False
```
will trigger two writes and will crash at the first.

Above code should probably be refactored to have only one write but this commit
fixes a regression introduced at 8f1c2bfc (the above code did not crash).

Closes #15199
2017-01-24 16:56:33 +01:00
Christophe Simonis d87ab049e2 [FIX] mail: require res_model_id on followers
The flag has been forgotten with 94d2b97da4
2017-01-24 16:55:51 +01:00
Nicolas Lempereur f519b98481 [FIX] mail: hidden chatter tooltip can cover content
With 72dfcae2a we have an envelope icon in the chatter with the
information on the sent mail.

When not displayed, the tooltip is hidden using opacity:0 so if
something is underneath it it becomes unclickable.

This commit makes the tooltip disappear in this instance.

opw-705205
2017-01-24 12:49:36 +01:00
Odoo Translation Bot b164b56ebf [I18N] Update translation terms from Transifex
Interrupted during pull API limit rate
2017-01-23 16:44:17 +01:00
Christophe Simonis fded0065ae [MERGE] forward port branch saas-14 up to 6c4389df41 2017-01-23 14:51:11 +01:00
Christophe Simonis 6c4389df41 [MERGE] forward port branch 10.0 up to 6804085b8c 2017-01-23 14:33:53 +01:00
Odoo Translation Bot c7679dde25 [I18N] Update translation terms from Transifex 2017-01-22 04:30:26 +01:00
Raphael Collet 4a18d5744e [FIX] base: restrict read access to ir.model and ir.model.fields to employees 2017-01-20 10:05:10 +01:00
Thibault Delavallée 3efc16e9a0 [FIX] mail: fix typo introduced at last forward port
Format all the dae
2017-01-18 11:36:27 +01:00
Christophe Simonis 44276dfdc3 [MERGE] forward port branch saas-11 up to a0aca47fef 2017-01-17 19:12:20 +01:00
Christophe Simonis 70f86ce4e8 [MERGE] forward port branch 9.0 up to 16fa61b34f 2017-01-17 18:04:57 +01:00
Raphael Collet 3649b7f359 [FIX] base: access rights of ir.model and ir.model.fields
This partially reverts commits 5d746d0ac6 and
73de86c768.

The tightening of access rights was too strong: regular users need to be able
to read models and fields (to create an email templace, for instance.)

[FIX] ir_values: in `get_actions`, exclude field `code`
2017-01-17 16:15:26 +01:00
Christophe Simonis 16fa61b34f [MERGE] forward port branch saas-6 up to 7cb977fc3c 2017-01-17 16:11:05 +01:00
Christophe Simonis ecd03bec8a [MERGE] forward port branch 8.0 up to 8f1c2bfc91 2017-01-17 14:17:56 +01:00
Christophe Simonis 8f1c2bfc91 [FIX] mail: force mail.message linked record invalidation 2017-01-17 14:14:16 +01:00
Nicolas Martinelli aa6c0ef907 [FIX] mail: missing translation 2017-01-16 15:49:05 +01:00
Nicolas Martinelli 1161951d96 [FIX] mail: notification authorization
When user user denies Odoo to display desktop notifications, the message
'Permission granted' is displayed.

opw-697985
2017-01-16 15:49:05 +01:00
Christophe Simonis 4d619c221f [MERGE] forward port branch 8.0 up to 082495240f 2017-01-16 12:30:53 +01:00
Odoo Translation Bot e26045a8e4 [I18N] Update translation terms from Transifex 2017-01-15 00:28:55 +01:00
Nicolas Martinelli 266ae2a26b [FIX] mail: trim '()' characters
In commit 07425d407f a trim of some special characters was introduced
to prevent a crash. This was necessary in v9, but it is not in v10.

opw-703465
2017-01-13 13:28:22 +01:00
Denis Ledoux 94da369231 [FIX] mail: template, format date to customer language
Up to now, there was no possibility to format a date
within a specific language, such as the customer
language. The date was always displayed with the format
YYYY-mm-dd.
(There was for the datetime, thanks to format_tz, but
not for a simple date without time)

This revision adds this possibility, but doesn't change
the according email templates
(such as the invoice date on the invoice email template)
as it would require to update all translations, in
the .po files and on transifex.

If a user absolutely want this, he has to add
the call to `format_date` himself, manually.

opw-704260
2017-01-12 18:48:02 +01:00
Thibault Delavallée 3bc580f9f9 [IMP] mail: uniformize deadline naming in activities, let us use deadline everywhere 2017-01-12 12:53:11 +01:00
Raphael Collet a1be7ca551 [FIX] mail, purchase: avoid full cache invalidation when possible (#14934)
* [FIX] mail: avoid full cache invalidation when possible

* [FIX] purchase: avoid full cache invalidation when possible
2017-01-12 11:31:58 +01:00
Jeremy Kersten 9ac974548e [FIX] mail: don't check read access if user not connected.
In the worst case, user is not logged in and he will really have no access and
will have a perm read error after login. We cannot check if an unknow user has
access or not.

In most cases, user will be logged in and will see the document directly if
he has access or will be redirected to messaging if no access.

In the best case, he will be redirected to login page before to see the message.

task-22505
2017-01-11 11:12:47 +01:00
Yannick Tivisse 4895c9fbad [IMP] mail: Allow to upload multiple files in the mail composer 2017-01-09 16:37:16 +01:00
Odoo Translation Bot 5f6e3f4686 [I18N] Update translation terms from Transifex 2017-01-09 12:00:30 +01:00
Odoo Translation Bot 854ab68902 [I18N] Update translation terms from Transifex 2017-01-08 04:43:31 +01:00
Odoo Translation Bot d995739241 [I18N] Update translation terms from Transifex 2017-01-08 00:29:28 +01:00
Martin Trigaux b7bad9dbc4 [I18N] followup of 5284c43be5
Previous commit was cleaning the orphan and fuzzy translations of all main translations.
This commit does the same for all regional languages (that are not on Transifex).
To keep these files small, keep only the translated strings.
Fixes #14937
2017-01-06 10:40:39 +01:00
Martin Trigaux 5284c43be5 [I18N] generate and clean orphan translations
Some languages were published on Transifex in v9 but no longer in v10.
These languages were still using the outdated .po files
In some of these po, there were some fuzzy translations that were incorrect
(e.g. 'POS Order %s' - 'Kassa ostud', missing '%s')
These were not erased as still using the old translations.
Regenerate a correct .po file based on the new .pot and remove fuzzy
translations.

Fixes similar issue than raised at #14937
2017-01-05 12:01:27 +01:00
Thibault Delavallée 1c79c5ee30 [REF] ir_cron: make scheduled actions inherits from server actions
The purpose of this commit is to handle code execution only in server
action and delegate schedule management to ir_cron model.

ir.cron model now inherits from ir.actions.server. Fields model, function
and args are removed as well as the logic to handle them. There is no
more code manipulation and evaluation in ir_cron, only a call to the run
method of ir.actions.server.

Cron form view use server action form view as primary view. This way
automated actions use the same base form as server actions with
cron details added.

Thanks to @fpodoo for the original idea and preliminary work. Thanks to
@jpr-odoo for first developments. Thanks to @jem-odoo for reviewing.
2017-01-03 19:11:07 +01:00
Thibault Delavallée 870974effe [IMP] ir_actions, mail: add add_followers server action
Add a server action allowing to add followers, either partners or
channels, to documents.
2017-01-03 19:11:07 +01:00
Yannick Tivisse 8fa9f7d6d4 [REF] ir_actions: refactor and simplify ir.actions.server
Main idea of this commit is to simplify the various options of
ir.actions.server model. Purpose is to make it a simple tool to
execute some actions or python code. This has two main consequences

 * create and update server actions are simplified to update only the
   current record. Complex options can always be achieved by python code
   instead of error-prone option building mechanism;
 * condition of server actions is removed. If a condition is necessary it
   can either be included in a code server action, or integrated in an
   automated action;

This commit features :

 * remove 'client_action' server action type. Indeed this can be achieved
   with a code server action returning an action;
 * remove 'condition' on ir_actions_server model. From now on conditions
   and triggers are managed in server action code or using automated
   or scheduled action;
 * clean 'create and copy a record'. Create and link are the proposed
   options. Copy of the record or of a selected record is removed. Link
   is simplified by removing the parsed expression that allowed complex
   path update. It is simpler to write code than write python-like
   expression in char fields;
 * remove 'use_write' options. It now simply updates a record;
 * remove 'write_expression' as it is replaced by code actions;
 * remove 'ref_object' not used anymore with the removal of "choose
   a record";
 * remove helper to build an expression not used anymore with the removal
   of "write expression";
 * remove object ID finder;
 * removed template display when choosing an email template; just go
   on the template if you want more details;
 * refactor server action form view to reflect changes. It will be used
   in future commits as base view for automated and scheduled actions;
 * add 'sequence' in list view;
 * add new 'usage' selection field allowing to distinguish which model
   uses the server action. Indeed as server action will soon be used
   in scheduled or automated actions having a clue about the usage
   is always helpful;

Thanks to @fpodoo for the original idea and preliminary work. Thanks to
@jpr-odoo for first developments. Thanks to @jem-odoo and @rco-odoo
for reviewing.
2017-01-03 19:11:06 +01:00
Thibault Delavallée bcc0212bfb [IMP] ir_actions: perform small code cleaning
* use selection and selection_add to replace old indirection for state
   field and ease code understanding
 * update various strings and helps
 * update Python code helper to match new API changes, notably model,
   record and records being recordsets
2017-01-03 19:10:28 +01:00
Denis Vermylen (dve) eed8a34686 [IMP] crm_*, sale_*: sales channel dashboard
Functional
        ==========

Sales teams become sales channels. Their dashboard cards now include a graph
displaying customizable data for managers (comparable to those in accounting).

By default, you now have the following sales channels (non-demo):

      Direct Sales      (with installation of crm or sale)

  Sales Channel type: Sales
  Works same as before, what's changed is:
    - their cards display one big button directing to the start of their
      workflow
    - the links on the right-hand side have been reworked, and are only
      displayed when there is at least one item requiring attention.
    - 'More' tab remains unchanged.

      Website           (with installation of website_sale)

  Sales Channel type: Website
  Differences lies in the links displayed in the dashboard card:
    - it displays abandoned carts, awaiting payments and payments to capture
  Default Channel linked to all sales made from the eCommerce.

      Point of Sale     (with installation of sale and point_of_sale
                                              -> auto-installs pos_sale)

  Sales Channel type: Point of Sale
  Linked to pos.configs and their pos.sessions and pos.orders.
    - only links to their linked pos.config dashboard and open sessions
    - can't use opportunities, lead or invoicing and can only display
      pos.order data in the graph.
  Default Channel linked to the default pos.config.

        Technical
        =========

- Add a channel type: sales, pos, website that have different actions/settings
- Add a graphs to the kanban cards in the sales/crm dashboard, configurable in
  the form view in the new dashboard page.
- Rename sales teams to sales channels, rename and add default and demo sales
  channels
- Change dashboard links depending on the channel type and add a related
  computed fields on crm.team
- Rename strings and improve channel form view.
- Leads are now checked by default once activated for 'sales' type channels
- Disable checking "leads" without using "opportunities".
- Hide invoicing and invoicing target depending on channel type.
- Move currency_id to sales_team
2017-01-03 19:04:34 +01:00