Commit Graph
111400 Commits
Author SHA1 Message Date
Thibault Delavallée 39e0bcc617 [REM] website_account: remove the now void module 2017-08-08 15:36:32 +02:00
Thibault Delavallée 3836aac471 [MOV] account_*: move account customer portal to account
As already done for sale, customer portal for account is moved to account
module directly. Account now depends on portal module and website module
is not necessary anymore to display the account customer portal.
2017-08-08 15:36:32 +02:00
Thibault Delavallée 71587f8284 [REM] website_portal_sale: remove the now void module 2017-08-08 15:36:31 +02:00
Thibault Delavallée 8168b8aa0b [IMP] sale: add settings about B2B/B2C in sale settings
As the customer portal is now directly integrated within the sales app
it makes sense to have this settings directly in sale.
2017-08-08 15:36:31 +02:00
Thibault Delavallée 9381334f6e [MOV] sale_*: move sale customer portal to sale
Customer portal is now a feature coming directly with sale module. As
it uses a simple website renderer customization and advanced website
features are not available and depends on having website module
installed.
2017-08-08 15:36:25 +02:00
Thibault Delavallée 62c3ada851 [MOV] sale_*: move sale-related payment code to sale_payment
website_portal_sale contains code on sale.order and crm.team models
related to payments. This code is moved into the sale_payment module
that is the bridge between sale and payment and therefore is the
location where it belongs. First step toward removing content of
website_portal_sale module.
2017-08-08 15:18:00 +02:00
Thibault Delavallée 729561e6bd [REM] website_portal: remove the now void module 2017-08-08 15:05:22 +02:00
Thibault Delavallée ee4cf1eae3 [MOV] website_portal: move mail portal tests directly to mail
Those belong to mail, not website_portal.
2017-08-08 15:05:11 +02:00
Thibault Delavallée ea27c1b7a3 [MOV] website_portal, portal: move customer portal to portal module
This commit moves the whole customer portal to the portal module.
It now completely uses portal and http_routing features and is not
dependent on website anymore.

An override of web controller is added in portal in order to redirect
portal users to /my instead of /web. That way once having the customer
portal installed all share users are correctly redirected to their
account.

All modules defining customer portal templates and controllers are
updated accordingly.
2017-08-08 14:58:49 +02:00
Thibault Delavallée 86aa1b81bc [IMP] website: use templates defined in portal as base for website layout
website.layout is now based on portal.frontend_layout template. Using
inheritance it adds and replaces various nodes in the portal template
in order to have the same behavior in website as before.
2017-08-08 14:57:30 +02:00
Thibault Delavallée 50d302bc6c [MOV] website, auth_signup: support auth parameters in request directly in auth_signup module
Let us completely support auth_signup_token and auth_login in request
session and parameters in the auth_signup module instead of in various
separate places.
2017-08-08 14:56:29 +02:00
Thibault Delavallée b4b6ae44fd [MOV] website, portal: move pager support from website to portal
As customer portal will be moved to portal module support of pager
has to be moved previously to the various portal moves. This commit
moves the pager code and template to portal.

Compatibility using website-based pager is provided to avoid having
to update all website addons currently. Future commits will make
addons use the portal pager instead of website pager.
2017-08-08 14:53:50 +02:00
Thibault Delavallée 77d9179f7b [MOV] website, http_routing: move translation support in http_routing
Code managing language in URLs and redirection is moved from website
to http_routing. Override of _dispatch in website now consists in adding
website to the request.

url_for and is_multilang_url tools methods are also moved from website
to http_routing.ir_http as those are required for the moved code.

Some renaming is performed on request attributes previously added in
website. Indeed as website keyword may be misleading now a renaming
has been performed to better understand them :

 * request.website_enabled -> request.is_frontend
 * request.website_multilang -> request.is_frontend_multilang
 * request.httprequest.cookies.get('website_lang') -> ('frontend_lang')
 * first_pass variable in _dispatch is replaced by a new attribute of
   request, routing_iteration, that is the number of routing iterations
   currently done
2017-08-08 14:40:08 +02:00
Thibault Delavallée 3148925c43 [MOV] website, http_routing: compute language data in http_routing.ir_http instead of website
ir_http override in website manage languages through methods or attributes
directly defined on website model. Those methods are get_languages method
and default_lang_code attribute. In order to be able to have a translation
layer independent of website we have to have access to this data without
depending on website record.

This commit solves this by adding class methods on ir_http override
located in http_routing. Basic implementation comes directly from website
default methods _active_languages and _default_language. Website overrides
those methods in order to be based on website values defined through
language_ids and default_lang_id for available languages and default
language.

Website behavior is therefore untouched whereas http_routing implements
a basic default behavior. This commit updates ir_http code in website
to use those methods and ease next commits which will move parts of that
code.
2017-08-08 14:24:59 +02:00
Thibault Delavallée 014b5c9f7c [MOV] website, http_routing: move (un)slug support to http_routing
Slug and unslug API is now available in http_routing. Indeed there is no
link to any website or any reason to not support slufigied URLs when
website is not installed. A new unslug_url method is added as a tool
coming from an embedded method from website. Doing it allows to have all
slug related methods defined at the same point.

Support of slug and unslug in qweb rendering is also moved directly in
http_routing version of ir_ui_view instead of website inheritance. This
is done in order to keep things coherent.

Some code from website about ModelConverter is also moved. Indeed both
versions of ir_http uses some kind of placeholder to store the uid
when converting urls to python. This commit unifies it by using the
website one directly in base to simplify the override.

This commit also updates all module importing slug. Enterprise modules
will have to be updated, see related commit.
2017-08-08 14:23:58 +02:00
Thibault Delavallée da8d418ff0 [ADD] portal: add module for customer portal and sharing features
This module adds required base code for a fully integrated customer
portal. It contains the base controller class and base templates.
Business addons will add their specific templates and controllers
to extend the customer portal.

This module contains most code coming from odoo v10 website_portal.
Purpose of this module is to allow the display of a customer portal
without having a dependency towards website edition and customization
capabilities.

Some CSS files used in frontend assets are already moved to have a
working portal skeleton. A is_public method on users is also added
as it will be used in various portal code soon.
2017-08-08 14:23:58 +02:00
Thibault Delavallée 471b049811 [ADD] http_routing: add module skeleton for advanced http routing
This module will contain http routing capabilities that are not
necessarily linked to a website. This covers for example code related
to language management in URLs or slugify support.

Advanced http routing are not moved in base in order to keep the core
simple. It is not moved in web because this module should contain only
interface and not http / routing code. http_routing module will therefore
be used to hold those features.

This commit only adds a void module, future commits will gradually add
the various features through dedicated MOV commits.
2017-08-08 14:23:57 +02:00
dip-odoo cfdc76d758 [IMP] base_vat: clearer labels for VIES check 2017-08-08 13:58:39 +02:00
Thibault Delavallée ff47130bc4 [IMP] sale: sudo ir.config_parameter only once in settings 2017-08-08 13:53:00 +02:00
Thibault Delavallée 44af9e7a35 [FIX] account: crash in vat portal management
Correctly check 'vat' key is in the dict of data the user gives to
the controller and not in a browse record.
2017-08-08 13:53:00 +02:00
Richard Mathot 159975ba42 [IMP] l10n_be_hr_payroll: English wording 2017-08-08 12:02:27 +02:00
Dipali Tank 00f90a70ed [IMP] *: holidays -> leaves
The meaning of "holidays" may vary in the UK/US.
2017-08-08 11:53:03 +02:00
Haresh Shyara 4e6d3132ac [IMP] point_of_sale: display session state on PoS dashboard
Avoid that users attempt to start a session on a PoS that is already
open by showing visual badges on PoS dashboards
2017-08-08 11:00:14 +02:00
Christophe Simonis 2b7179380a [FIX] tools: avoid defining unused variable using python2 only syntax 2017-08-07 15:02:56 +02:00
Christophe Simonis c955c3051c [IMP] test_pylint: do not load default config file
This will avoid useless warning when the file does not exists and
possible false positive errors in case of invalid config in this file.

Also strip output
2017-08-07 15:02:56 +02:00
Christophe Simonis 0ebe59f5d0 [IMP] test_pylint: check for badly written try/except 2017-08-07 15:02:56 +02:00
Christophe Simonis 9882f24313 [IMP] test_pylint: check for python3 incompatibilities 2017-08-07 15:02:56 +02:00
Jaykishan Solanki af6fee0b11 [ADD] l10n_fr: register SIRET number on partners 2017-08-07 14:42:26 +02:00
Mansi Gandhi 80e89c7a11 [IMP] point_of_sale: Add new settings form per POS
Purpose: Replace POS APP settings with a clean POS Form settings,
         one per POS

    - add state button for (active/inactive) archive/unarchive and remove boolean field.
    - remove 'Reprint Receipt' field from pos_reprint module and related code.
    - remove 'Multi-currencies' field and related code.
    - put 'Company' field under the 'Taxes' block and 'Sales Channel' under the 'Pricing' block.
    - add 'save' buttons to install needed modules manually.
    - removed constrains and set default fiscal value on fiscal position ids even if that not selected.
    - change the skip Receipt Screen label to a more appropriate one.
    - Tax help only appears when Tax-included is selected.

    * [IMP] point_of_sale: Removing multiple prices prod

    Purpose: The choice of the method for "Multiple price per product" was
    not appropriate for the Point Of Sale. Only the choice of the Pricelist
    make sense. So, only the Pricelist can be choosen in the POS config.

    * [IMP] point_of_sale, pos_discount, pos_restaurant:
            Generic module install

    Purpose: Before this improvement, some fields were used in pos.config to
             automatically install some modules.
             This fix tries to mimic the ResConfigSettings transient so that
             when a field starts with 'module_', it's automaticaly
             installed.
2017-08-07 14:24:45 +02:00
Baris Kocak bbcebcc123 [IMP] fleet: Improve dashboard, vehicule form and contracts
Purpose: Improve fleet for a better usability

Dashboard:
  - Replace 'leasing' button by a contract status icon in kanban tiles
  - Add a link to contract
  - Link to vehicule form when clicking on the tile

Vehicle form:
  - Track contract status in a chatter
  - Add a model_year

Contracts:
  - Imporve the states names
  - Split service types in two list views service/contracts
  - Execute a cron once a day to upgrade contract status
  - Add a new contract status is introduced 'Expiring Soon' to help
    spot contracts that will expire until 15 days with a filter.
  - Add a 'group by vehicle' to improve list usability

Fuel logs view: Add an an odometer column
2017-08-07 14:05:16 +02:00
Jaykishan Solanki b79c2a773c [IMP] stock_account: log product name in journal entries
When using perpetual valuation (for stock), automatic entries that are
created when product cost changes do log product name.
2017-08-07 13:38:54 +02:00
Fabien Meghazi a867cce406 [IMP] sql: harvest less information from pg's information_schema (Fixes #18490)
Avoid `SELECT *` on `information_schema.columns` because specific access
right restrictions in the context of shared hosting (Heroku, OVH, ...)
might prevent a postgres user to read this field.
2017-08-07 12:59:34 +02:00
Yannick Tivisse 623ea43268 [IMP] project: Merge tasks and issues
Purpose
=======

Advantages :
~~~~~~~~~~~~
 - using tasks and issues in a project is not easy. Indeed stages are shared but the process is rarely exactly the same. That's why we have a project for master bugs in our prod.
 - having tasks and issues causes issues with email templates (it is easy to put a task-related template on an issue-related stage and that may cause crashes) and rating (same here)
 - views are globally the same
 - using tasks and issues causes issues with mail alias, as you can create only one of them. We have some strange onchange to ensure the alias creates the right model but I don't think it is really user friendly
 - code is globally the same between task and issue and therefore will cut the code in half for those models
 - timesheeting on issues is not as complete as timesheeting on tasks, and merging them makes sure we have only one way of working with timesheets in project
 - customer portal can be simplified as we have only one menu item for project, leading to code reduction and portal simplification
2017-08-07 12:34:55 +02:00
Yannick Tivisse f8a1e9f6e7 [IMP] pad_project: Allow to activate or not pads on a project 2017-08-07 12:21:26 +02:00
Yannick Tivisse 6b49f7b194 [IMP] project: Enable Timesheets option if Time Billing is enabled 2017-08-07 12:21:26 +02:00
Yannick Tivisse 89921c040a [IMP] project: Improve the ux due the project.issue model removal 2017-08-07 12:20:17 +02:00
Yannick Tivisse c3e9a08810 [IMP] project: Remove contraint between start and end dates
It doesn't make sense.

- The end date is set on a task when it's moved into a folded stage.
- The start date is the last date on which the task as been assigned to a user.

It's possible that an unassigned task is moved into a folded stage, and it shouldn't raise a ValidationError
2017-08-07 12:19:31 +02:00
Yannick Tivisse a9268af140 [IMP] project: Compute correclty the working days on reports 2017-08-07 12:19:31 +02:00
Yannick Tivisse c5080fa6fc [IMP] project: Remove res_config field related to unexisting module 2017-08-07 12:19:31 +02:00
Yannick Tivisse 9bbb115af2 [IMP] mail: Modify comment reference to unexisting model 2017-08-07 12:19:30 +02:00
Yannick Tivisse 308358c49b [IMP] project: Update planner to remove references to issues 2017-08-07 12:19:30 +02:00
Yannick Tivisse 5c8779c61d [IMP] translation: Update .tx/config for modified modules 2017-08-07 12:19:30 +02:00
Yannick Tivisse d669b39db6 [IMP] website_rating_project: remove useless argument in method 2017-08-07 12:19:29 +02:00
Yannick Tivisse ef2ce8d682 [IMP] website_project: Improve the display of a task description 2017-08-07 12:19:01 +02:00
Yannick Tivisse e0d888fb3c [IMP] website_project: Show more attachments on my/task/
Show the attachements that don't come from the mail_messages on the my/task/ page (Like in old website_project_issue module)
2017-08-07 12:17:10 +02:00
Yannick Tivisse 095b0adc2e [IMP] rating_project: Remove _send_rating_mail method 2017-08-07 12:17:10 +02:00
Yannick Tivisse a926015dcc [IMP] project: Remove alias_model field on a project
This field was needed because a rating could be sent to a customer for a task or an issue.

This was buggy, because if a template was set on a shared stage between tasks and issues, the rendering could crash, generate an email with wrong piece of information, and so on.

By removing this field, we can also remove some ugly code that was needed to make that distinction.
2017-08-07 12:17:10 +02:00
Yannick Tivisse 1148d553f6 [IMP] project: Add _message_post_after_hook to set partner on a task 2017-08-07 12:15:38 +02:00
Yannick Tivisse 642e6a5314 [IMP] project: Remove default author when going through the mail gateway 2017-08-07 12:15:38 +02:00
Yannick Tivisse afd982116b [IMP] project: Set a default value for generated tasks when no subject in email 2017-08-07 12:15:29 +02:00