Commit Graph
111410 Commits
Author SHA1 Message Date
Baris Kocak d5bd5dbf66 [IMP] hr: warn user when home address is a company
* Add a warning on the employee form view when the home address has a
      company linked
    * Get email, phone number and mobile number from the application
      form when creating an employee from there
2017-08-09 13:37:03 +02:00
HIRAL BHAVSAR 4acec418ce [IMP] account: improve settings
* [IMP] account, account_accountant: Move 'tax_cash_basis_journal_id' field from 'account_accountant' to 'account' module.

* [IMP] account: Few improvements in accounting settings,
    - Set 'Invoicing' section as a last section.
    - Add checkbox 'Cash Basis' in settings and make it company dependent and add multi company's icon to it.
    - Disable the 'Tax Cash Basis Journal' field if 'Cash Basis' not active. Also add tooltip on 'Cash Basis'.
    - Visible/Invisible 'Use Cash Basis' field in 'Taxes' form view based on 'Cash Basis' settings from accounting settings.
    - Don't allow untick 'Cash Basis' settings if there are taxes using the configuration.
    - When any CoA is installed which is creating taxes with configuration 'Use Cash Basis' set then make the 'Cash Basis' option in accounting settings checked by default.

Was PR #16516
2017-08-09 10:45:57 +02:00
Mehta Kinjal 41d806eebf [IMP] account: Add stat button on taxes to archive them
+ set some taxes inactive for l10n_be

Was PR #18130
2017-08-09 10:19:45 +02:00
Haresh Shyara ea66192276 [REF] crm,sale: Split the applications into 2 separate apps
Purpose
=======

You install CRM but you don't see CRM icon (except in English, as long as sales is not installed) -> confusing
The dashboard with salesteam is not obvious & not useful for simple users: what are those channel boxes about? why don't I see all my activities?, etc.

Specifications
==============

Split CRM & Sales + land in business views straight away

Default Entry Views
~~~~~~~~~~~~~~~~~~~

- New default view for CRM: Pipeline kanban
- New default view for Sales: Quotation list

Dashboards
~~~~~~~~~~

- Move sales teams dashboard to Reporting: Sales Channels.
- Remove the upper part of the sales team dashboard

Menuitems Structure
~~~~~~~~~~~~~~~~~~~

- CRM menu

Pipeline:
	- Leads (optional)
	- Pipeline (default menu, default filter "My Pipeline")
	- Next Activities -> to remove (now there is an icon in top bar for next activities)
	- Quotations (If sale_management installed)
Customers
Phone Calls (if voip, if not yet removed because there is a BE task to use next activities instead)
Leads Management:
	- Scoring Rules
	- Leads Assignation
	- Team Assignation
Reporting:
	- Leads
	- Scoring page views
	- Opp. Assignement
	- Patnerships
	- Pipeline
	- Activities
	- Phonecalls
	- Sales Channels
Configuration:
	- Settings
	- Sales Channels
	- Activity Types
	- Leads & Opportunities:
		- Lead Tags
		- Lost Reasons
	- Resellers
		- Partner Level
		- Partner Activations
- Sales menu:

Orders:
	- Quotations
	- Orders
	- Customers
Invoicing:
	- Orders to Invoice
	- Orders to Upsell
Catalog:
	- Products
	- Promotion Programs
	- Coupon Programs
Reporting:
	- Sales
	- Sales Channels
	- All channels sales orders
Configuration:
	- Settings
	- Sales Channels
	- Sales Orders:
		- Quotation templates
		- Payment acquirers
		- Delivery Methods

Settings
~~~~~~~~

- Split settings form
- Remove recommended apps section
- Remove Timesheets section
- Remove Inventory Management and move shipping connectors to Shipping section
- Remove Integrations section
	- Move Docsaway option to "Quotations & Orders", right after proforma
	- Autocomplete and asterix: move to CRM section
- Restructure and rename sections this way:
	- Product Catalog
	- Pricing
	- Quotations & Orders
	- Shipping
	- Invoicing
	- eBay (if installed)
- Remove all the "Save this page and come back here" when checking a box that installs a new module

- restructure a bit the CRM settings, with 3 sections:

Pipeline
	- Leads
Contacts
	- Phone Validation
	- Customer Autocomplete
Integrations
	- Google Calendar / Synchronize your calendar with Google Calendar (copy from general settings but don't show message "Save this page and come back here...".
	- Asterisk (VOIP)
2017-08-09 10:03:08 +02:00
Haresh Shyara a2ca8b98d8 [IMP] contacts: Add more configuration information under the app
Specification
=============

- Contacts:
	- Contacts
	- Configuration:
		- Contact Tags
		- Contacts Titles
		- Sectors of Activity
		- Localizations:
			- Countries
			- Fed. States
			- Country Groups
		- Bank Accounts:
			- Banks
			- Bank Accounts
2017-08-09 10:02:55 +02:00
Thibault Delavallée c3c42658c5 [MERGE] (website_)portal: make customer portal independent from website
This merge make the customer portal available independently from website
module. This implies moving some routing features from website to a new
http_routing module. Customer portal is located in a new portal module.

Sale and account customer portal are moved directly into sale and account
module, and in sale_payment and account_payment for the online payment
part. Most of website_payment code is moved to payment as it holds
customer portal features related to payment.

This merge removes website_portal, website_portal_sale and website_account
module.

This closes #17100.
2017-08-08 16:43:09 +02:00
Thibault Delavallée 79f362d067 [MOV] (website_)payment: move customer portal for payments to payment
Customer portal controller and templates contained in website_payment
module are moved to payment. This module now uses the customer portal
defined in portal module and most of website_payment code is moved
to payment.

website_payment now contain code really related to website, such as
payment acquirers configuration for website.
2017-08-08 15:38:04 +02:00
Thibault Delavallée 9456c7b332 [MOV][ADD] account_payment: move account related payment code to account_payment
This commit adds a new bridge module between account and payment. This
module is used notably to display payment related information on account
customer portal. It currently holds only a template but future commit
will add new features related to invoice payment on customer portal.
2017-08-08 15:38:04 +02:00
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
Dhaval Panchal 31e467598c [IMP] account: allow to reorder payment terms 2017-08-08 14:37:11 +02:00
qsm-odoo 24c6e98685 [FIX] web: returns right deferred when loading same xml twice in a row
Since commit 417a664f16:
The `ajax.loadXML` function has been refactored and improved so that
multiple calls to the function with the same URL only loads it once
and so that the deferred which is returned really indicates the status
of loading this particular URL.

Unfortunately, there was a mistake: when loading the same URL twice,
the second call always returned an already resolved deferred if the
first call to `ajax.loadXML` was done with this URL.
2017-08-08 14:31:59 +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