Commit Graph
92 Commits
Author SHA1 Message Date
Christophe Simonis 72b2bab8c8 [MERGE] forward port branch 10.0 up to e6ca846c65 2018-09-13 10:54:06 +02:00
Nicolas Lempereur 72d7dd8994 [FIX] *mail_thread: don't modify modified help
The 'help' of window action is often fiddled with, adding thing before,
after or arround it.

For example in CRM leads, we add at the beginning "Click to add a new
opportunity" with an arrow towards the button, and after if there is a
mail alias: "All email incoming to * will automatically create new...".

But for crm.lead, hr.expense, sale.order this would not take into
account that the fiddled "help" can be edited, so if we edit 2 times
help in studio or backend action editing, we would get:

  Click to add a new opportunity
  Click to add a new opportunity
  Click to add a new opportunity
  [Original help content]
  All email incoming to * will automatically create new...
  All email incoming to * will automatically create new...
  All email incoming to * will automatically create new...

And see several "arrows" towards the button (in enterprise the
additional ones are on same color background).

With this commit we do what is done in "mail.thread" by default which is
not fiddling with the `help` if has been fiddled before (if it contains
"oe_view_nocontent_create" class).

note: for 10.0 up to not including 11.0 which is fixed by #26911

opw-1877663
closes #26912
2018-09-12 13:11:21 +02:00
Christophe Simonis aeb3391a2d [MERGE] forward port branch 10.0 up to b50958c40f 2018-08-24 11:42:33 +02:00
Lucas Perais (lpe) 350a4ff861 [FIX] crm: fix API merge, other spot
fix cc72b0c2fa did not go far enough

Sorry for it
2018-08-22 11:00:43 +02:00
Christophe Simonis aafa6e38c4 [MERGE] forward port branch 10.0 up to 342d037373 2018-08-21 11:33:53 +02:00
Lucas Perais (lpe) cc72b0c2fa [FIX] crm: fix API
Because of 2917b38f28 which appeared in v9.0 but has not been adapted to the new API
afterwards, the early return was out of sync with what a search returns in new API

in v9.0: search returns a list, so must our early return

in v10.0: search returns a recordset, hence the fix

OPW 1878192
closes #26474
2018-08-21 09:37:54 +02:00
Christophe Simonis d4ee30b4fa [MERGE] forward port branch 10.0 up to a487d7d397 2018-08-14 17:09:32 +02:00
Christophe Simonis c0f147173e [MERGE] forward port branch 9.0 up to 2917b38f28 2018-08-14 14:15:13 +02:00
Christophe Simonis 1926b40212 [MERGE] forward port branch 10.0 up to 718a5b76b8 2018-07-12 11:29:22 +02:00
len-odoo ddb68eb1bb [FIX] crm: handle selection fields correctly while merging leads
When merging two or more leads, a traceback was generated when attempting
to merge some selection field, if any.

closes https://github.com/odoo/odoo/issues/25644

opw 1864870
2018-07-10 15:05:56 +02:00
Christophe Simonis ac89023155 [MERGE] forward port branch 10.0 up to 5e6bb745e8 2018-03-06 12:28:30 +01:00
Christophe Simonis 5e6bb745e8 [MERGE] forward port branch 9.0 up to 4aea19d9e8 2018-03-06 11:56:50 +01:00
Christophe Simonis 7f153c021a [MERGE] forward port branch 9.0 up to 80f88ad63b 2018-02-07 12:32:32 +01:00
Martin Trigaux 34d2765faa [FIX] crm: allow to unlink multiple records
Closes #22647
2018-02-06 20:12:37 +05:30
Christophe Simonis 9c634b5b30 [MERGE] forward port branch 10.0 up to a63ecee47a 2017-11-09 15:16:57 +01:00
Nicolas Martinelli 3b43ddd21b [FIX] crm: default user when copy
- Create a user A
- Create a lead, assign to A
- Deactivate user A
- Duplicate the lead

A notification email is sent to A (user assigned to the lead).

Since the user is archived, he should not receive any email since it
might contain sensitive information.

opw-778825
2017-11-07 14:47:31 +01:00
Christophe Simonis a01e76efa7 [MERGE] forward port branch 10.0 up to 2198220947 2017-10-18 14:34:32 +02:00
alexkuhn a48b5c45aa [FIX] crm: stage auto-probability not taken into account when creating an opportunity from kanban view (#20209)
1. on CRM module -> Select Pipeline -> Create a column (e.g. 'Test')
2. Edit this Stage
3. Toggle on the field 'Change Probability Automatically'
4. Set a stage probability (e.g. 50%)
5. Create an opportunity on this stage, using the quick create widget of the kanban view
=> The probability of the newly created opportunity is not 50%, as it should be expected

It takes the default_probability, using a default_stage_id, which is the 'New' column having initially a probability of 10%. The stage_id is correctly assigned to the newly created opportunity thanks to environment variable 'default_stage_id', but not the probability.

We solved this bug by updating the probability of the opportunity, after creating the object. We cannot do it at the same time, because BaseObject.create parse the missing fields in an order where probability comes before stage_id.

This fix is limited to the quick creation of opportunity by means of its name only. In particular, it doesn't overwrite the input of the user in the form view.

opw-772310
2017-10-17 14:20:30 +02:00
Christophe Simonis 99426b95b5 [MERGE] forward port branch 10.0 up to c5df78f38b 2017-09-04 16:15:28 +02:00
Nicolas Martinelli abea8d3513 [FIX] crm: expected closing
Complement of commit 9d2f48dc7f

opw-724375
2017-09-04 10:13:12 +02:00
Christophe Simonis 3bac72ba74 [MERGE] forward port branch 10.0 up to aaadb232b2 2017-06-26 13:00:18 +02:00
Christophe Simonis aaadb232b2 [MERGE] forward port branch saas-11 up to 459ea4ab4d 2017-06-26 11:38:54 +02:00
Christophe Simonis c0e7f9b0b1 [MERGE] forward port branch 10.0 up to a85790be5c 2017-06-06 18:49:36 +02:00
Christophe Simonis 460cb3ba9e [MERGE] forward port branch saas-11 up to 7d7a45a921 2017-06-06 17:28:59 +02:00
Olivier Dony b9e2207267 [MERGE] Forward-port 10.0 up to 7e44444878 2017-06-01 00:15:27 +02:00
Olivier Dony 7e44444878 [MERGE] Forward-port saas-11 up to 156e9d0016 2017-05-31 20:09:51 +02:00
Nicolas Lempereur 3fd0bdbd40 [FIX] crm: setting alias_prefix easy reinited
The previous code when "Manually Assignation of Incoming Emails" sale
config was set always set the alias prefix to "info" even if another
value had been previously saved.

opw-745174
closes #17305
2017-05-30 15:08:03 +02:00
Nicolas Martinelli 9d2f48dc7f [FIX] crm: expected closing
The "exp. closing" dashboard button takes into account the won
opportunities. It shouldn't.

opw-744940
2017-05-29 09:14:43 +02:00
Goffin Simon c0a71bf26a [FIX] crm: default vale for date_open
The default value for the date_open must be up to date.

opw:741748
2017-05-19 00:39:28 +02:00
Goffin Simon 9553355660 [FIX] crm: quick create in crm.lead
When making a quick create for a crm.lead record, the field user_id is set
with its default value (introduced by aa44700dcc)
But the date_open('Assigned') was not set.

When creating a challenge with goal="New opportunities", the new opportinities
are counted with date_open. But when creating an opportunity with the quick create,
it was not counted as date_open was empty.

opw:742751
2017-05-18 16:32:52 +02:00
Laurent Smet 31b37b8abf [FIX] crm: bad computation of 'Won in opportunities'
The filter on activity_date_deadline has been added during a fix, see
28c158cd13
It's incorrect for the computation of the 'Won in opportunities'
because it excludes opportunities not having activity_ids.

Furthermore, the way to compute the 'won' amount is not equals to the
filters when clicking on the button. Then, we need to keep only
opportunities standing in a kanban column having a probability of 100%.

opw-742489
2017-05-17 13:37:06 +02:00
Christophe Simonis 64b7d4e8a8 [MERGE] forward port branch 10.0 up to 3f6e573c67 2017-04-24 12:53:34 +02:00
Xavier Morel aab90cc5bd [FIX] crm: recompute mail.alias defaults when *unsetting* use_leads on teams
Default mail.alias for crm.team are currently recomputed/modified
when *setting* use_leads on the team (type changes from opportunity to
leads), but not the other way around (*unsetting* use_leads doesn't
rollback type to opportunity).

Fix this issue.

Leaves over the issue that *disabling* the global setting doesn't
recompute aliases, which it probably should.

OPW-728690
2017-04-24 10:10:33 +02:00
Nicolas Martinelli 28c158cd13 [FIX] crm, sales_team: dashboard shortcuts
Partially an incorrect forward port of 27b6451. Moreover, the shortcuts
"exp. closing" and "overdue" use the action
`crm_lead_action_activities`, which filters by default
`activity_date_deadline != False`. This should be used as well when
counting.

opw-725666
2017-04-06 16:56:44 +02:00
Olivier Dony ca989b6548 [FIX] mass_mailing: prevent duplicates and sending to opted-out
The mass-mailing App suffered from severe issues due to its inability
to detect and handle duplicates "at the email level", and the absence
of any global blacklist system, leading to lack of user trust.

Mailing-lists typically include multiple records with the same email,
and it is critical to avoid sending them the same email several times.
A related problem is the unsubscription of an email that is present
in other records (duplicates). Opting out the first email should
automatically blacklist it for other records as well.

Ideally we should have a global blacklist table in order to
share the unsubscription requests globally across models (Leads,
Partners, Mailing-list contacts). It would also allow importing
it from other blacklist systems. (TODO for master)

This commit introduces a partial solution, made of several
small changes:

- In mail.mail: double-check that an outgoing email has the
correct status (`outgoing`) before sending it. This allows
adding emails in the queue and cancelling them before they
actually get sent.
- In crm.lead: force predictable recipients for mass-mailing,
by always using the email of the lead rather than the email
of the linked partner when there is one. This simplifies the
computation of the blacklist and seen list. Other areas in
the codebase already assume as much.
- In mass.mailing:

 + Before sending out a mailing-list batch, compute the
   blacklist (all opted-out emails) and the seen_list
   (emails who previously received this mail) to make
   sure we only ever target valid recipients.
 + While delivering the mass-mailing, any email targeting
   an address that is in the blacklist or "seen list" is
   canceled before being sent. The corresponding statistics
   entry is considered "not delivered".
   Also updates the "seen list" continuously.
 + When a mass-mail belongs to a campaign with the
   "unique AB/B testing" flag, the "seen list" is
   common to the whole campaign, as an extra safety.
 + Auto-delete mass-mailing test messages sent with the
   test wizard, to avoid polluting the mail_mail table

Note: this fix uses a simple regex for efficiently extracting
the blacklist in pure SQL from different models, and doing so,
assumes that each record only holds a single email
(no comma-separated adresses). This should be sufficient for
most cases. The regex:

                   ([^ ,;<@]+@[^> ,;]+)
2017-03-27 18:47:59 +02:00
Thibault Delavallée ff0053b416 [FIX] crm: fix behavior of 'Emails' checkbox in settings
Currently there are several issues with this configuration box

 * default_<field> does not generate automatically ir.values anymore.
   Defining default_model does not work since it is not linked to an
   existing <field> in current model sale.config.settings. Checkbox
   value is therefore not saved and lost at reload;
 * box label is not clear as user may understand unchecking it drops
   all aliases or email support. This is not the case as it is only used
   to define an alias creating unassigned leads. This is a rare use case
   where leads assignation is done manually;
 * checking / unchecking the 'Emails' box does not have any effect on
   default info alias. This is counter-intuitive as user asks to remove
   the feature but it still works in background;

This commit fixes those issues by

 * correctly setting the checkbox value in an ir.config_parameter so that
   it is not lost anymore at reload;
 * inactivating info alias by default;
 * adding onchanges so that values are reset when unchecking checkboxes;
 * updating string and displayed label and helps for the 'Emails' section;
 * putting that Emails checkbox in advanced mode as it is a rare use case;
2017-03-21 17:20:50 +01:00
Christophe Simonis b2fa9f2ad1 [MERGE] forward port branch 10.0 up to 31ebb07773 2017-03-17 17:57:52 +01:00
Martin Trigaux 2c1257fe88 wow 2017-03-17 14:40:45 +01:00
Martin Trigaux 13bfc8ee50 [FIX] crm: remove unused field from fields to merge
The field email is no longer present on the crm.lead object

opw-725112
2017-03-17 14:33:44 +01:00
Yannick Tivisse 6027e9370d [FIX] account, base_setup, sale, crm: do not create ir.values for unknown fields 2017-03-15 10:49:53 +01:00
Christophe Simonis 777a87cde8 [MERGE] forward port branch 10.0 up to 2ef43281c2 2017-03-13 16:22:57 +01:00
Nicolas Martinelli c0f1f27dbd [FIX] crm: translation in merge message
- Install a language different from English, set it to your user
- Merge two opportunities

The merge message which summarizes the operation contains the name of
the fields in English.

opw-708381
2017-03-07 12:09:45 +01:00
Denis Vermylen bcc1efac48 [IMP] sale*: improve dashboard computation time
This commit improves crm.team compute methods and adds auto_join on:
payment.transaction: field sale_order_id
sale.order: field order_line

Also move the dashboard_graph_type field in invisible in the kanban view to
avoid triggering the computation of the graph when it's not needed.

DO NOT FORWARD-PORT: a different patch will be made for the master branch
2017-02-10 19:15:35 +01:00
Rohan Patel 3fbaa6c409 [FIX] sale,crm: correct model name, 'sale.config.settings' instead of 'sales.config.settings' 2017-02-07 13:15:23 +01:00
Denis Vermylen e83a40f38b [FIX] sales_team,*: improve dashboard graph layout
Remove graph title, lower padding, bigger bar charts.

odoo task:
https://www.odoo.com/web#id=30866&view_type=form&model=project.task&menu_id=
2017-01-23 10:55:41 +01:00
Denis Vermylen 8509db6485 [IMP] sale,crm: improve sales channel options tooltips 2017-01-04 16:01:10 +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
Raphael Collet 7543afb070 [IMP] base, *: tighten ir.config_parameter access rights
Add `base.group_system` on existing parameters:
 - `auth_signup.allow_uninvited`,
 - `auth_signup.reset_password`,
 - `auth_signup.template_user_id`,
 - `google_redirect_uri`,
 - `mail.bounce.alias`,
 - `mail.catchall.alias`,
 - `mail.catchall.domain`.
2017-01-03 16:52:49 +01:00
mdi-odoo 33a413eb29 [IMP] sale*: Improve the settings form view 2016-12-30 17:05:08 +01:00
qdp-odoo 4dd27bba34 [REF] base: enhance inheritability
split fields_view_get() and used an abstact mixin class in place of of FormatAddress

[IMP] base: added a m2o field (ir.ui.view) on res.country to decide the layout of the form view to input addresses.
2016-12-28 11:20:47 +01:00