Commit Graph
67 Commits
Author SHA1 Message Date
Jeremy Kersten 32a2bca9eb [FIX] website_crm: remove useless thanks message
Informations are duplicate of the right column

task-1878245
2018-09-13 08:17:09 +02:00
Romain Derierde-odoojke-odoo
65d8177b55 [REF] website*: revamp res_config_settings for website
Reorder res.config.settings for website
Make website_id in no create in most view
Revamp res.configsetting and view Form simplified

Transform old 'useless' stored field for presentation by computed field.
We can consider that if there are not key, feature is disable.

Co-authored-by: rde-odoo
Co-authored-by: jke-odoo
2018-08-24 20:01:02 +02:00
Joren Van Onder 4f6ec1cd2a [IMP] website,*: support multiple websites
This implements support to administer multiple websites. Although the
core functionality already existed, managing multiple websites was
fairly technical.

In the interest of database updates and migration this attempts to
keep duplicated data to a minimum. To do this the usual generic
records are rendered unless some website-specific record exists that
replaces it. Copy-on-write (COW) is used to create these
website-specific records. Through this mechanism creating a
website-specific record is delayed until necessary. A COW mechanism
has been implemented on 4 models: ir.ui.view, website.page,
website.menu and ir.attachment. These COW mechanisms are activated
when editing data through the website (aka frontend). These frontend
edits (e.g. with web_editor) will be website-specific, possibly
creating a website-specific record when necessary. When editing data
in the backend nothing special will happen, even when editing a
generic record. Note that because of this mechanism also facilitates
the ability to create new, uncustomized websites because the generic
data is kept.

Support is provided for a website to have any theme. Themes are fairly
complex to handle. Standalone themes can depend on other standalone
themes (e.g. theme_beauty depends on theme_loftspace) and themes
usually modify some data of the themes they depend on. Because a theme
can be installed on multiple websites, using website_id m2o fields
does not work well. It would require duplicate data, making updates
and migration harder. Because of this, data for themes (ir.ui.view and
ir.attachment specifically) have a theme_id m2o. website has a
theme_ids m2m that identifies all theme modules currently installed on
it. Through these fields we figure out what to render. A theme is only
fully uninstalled when it's no longer active on any website. The
advantage of this approach is that upgrading or migrating theme data
is no different from the single-website case.

The website.published.mixin class was modified to handle multiple
websites. A wizard was added in the backend to easily manage this for
multiple website.

Although not used anywhere in this commit, a 'website_id' variable has
been added in the evaluation context of ir.rule. It allows to easily
make any model multi-website aware, all that's needed is a custom
website_id m2o field on a model and a custom record rule.
2018-08-13 19:51:10 +02:00
qsm-odoo 93b0001df6 [REF] *: BS4, adapt forms
The 'form-horizontal' class have been removed; the '.form-group'
elements must now use the 'row' class for an horizontal layout.

The 'control-label' class was renamed to 'col-form-label'.

The 'help-block' class was renamed to 'form-text'.

The 'has-error' and 'has-success' classes have been removed and
replaced by a new system using the :valid and :invalid pseudo-classes,
when a parent has the 'was-validated' class. While this system is great,
it is not straightforward to use it in Odoo. Fortunately, BS4 provides
the 'is-valid' and 'is-invalid' classes as fallback. This commit
replaces the 'has-error' and 'has-success' classes by 'o_has_error' and
'o_has_success' classes (for JS compatibility) and use the 'is-*'
fallback classes. (The 'has-warning' class has no equivalent but was
unused in Odoo anyway).
2018-07-27 12:36:54 +02:00
qsm-odoo ed1b18f103 [REF] *: BS4, adapt col-related classes
col-lg-* -> col-xl-*
col-md-* -> col-lg-*
col-sm-* -> col-md-*
col-xs-* -> col-*

col-lg-offset-* -> offset-xl-*
col-md-offset-* -> offset-lg-*
col-sm-offset-* -> offset-md-*
col-xs-offset-* -> offset-*

col-lg-pull-* -> order-xl-1
col-md-pull-* -> order-lg-1
col-sm-pull-* -> order-md-1
col-xs-pull-* -> order-1

col-lg-push-* -> order-xl-2
col-md-push-* -> order-lg-2
col-sm-push-* -> order-md-2
col-xs-push-* -> order-2
2018-07-27 12:36:54 +02:00
lejeune quentin 384647e583 [IMP] all_module : Modify "Sales Channel" by "Sales Teams" 2018-07-25 15:41:31 +02:00
lejeune quentin 06bbd88e9f [IMP] website_crm : In setting add specific message to tell user to set a default sale channel for website 2018-07-25 15:41:30 +02:00
kujiu 9de1bc0eef [IMP] Improve compatibility with screen readers (accessibility) (#24574)
Today, Odoo is really tricky to use without seeing the screen, it must be improved to be usable.

This PR forbid to use labels without a "for" attribute, add some title, rule and aria attributes in HTML. With that, Odoo will be fully usable with a screen reader.


* [IMP] Labels must have a for attribute. Improve accessibility.
* [IMP] Better error message when trying to read a missing cached value
* [FIX] Add some aria-label and title attributes for screen readers.
* [FIX] Template name is not included in the error message in case of SyntaxError in QWeb
* [FIX] Improve the Tour failed at step error message to be more explicit.
* [IMP] Add aria-labels
* [FIX] Add missing aria-label on failing test
* [IMP] aria-hidden means hidden. Fix all bad aria-hidden and hide aria-hidden for all.
* [IMP] Color names on kanban views and many2many tags
* [IMP] Add some checks on views for accessibility.
* [IMP] Add `alt` attribute on `img` tags.
* [IMP] Add aria-label and title on non-described icons
* [IMP] Add button role to widgets with btn class
* [IMP] Translate aria and formatted attributes.
* [IMP] Remove wrong aria-labelledby
* [IMP] Add menu role on dropdowns
* [IMP] Buttons must be focusable
* [IMP] Add aria attributes on progress bars
* [IMP] Improve accessibility of basic widgets
* [IMP] Change main layout to more semantic tags
* [IMP] Add menuitem role when missing
* [IMP] Remove wrong role='presentation'
* [IMP] Improve accessibility of tab panels
* [IMP] Add aria-invalid on invalid fields
* [IMP] Add aria-sort on ordered columns
* [IMP] Add role on alerts
* [IMP] Use dialog role, header, main and footer tags for modals
* [IMP] Add labels on o_status
* [IMP] Improve accessibility of kanban view with feeds and articles
* [IMP] Add alerts in case of new messages
* [IMP] Add widget, navigation or img role to aria-labelled items
2018-06-22 21:22:21 +02:00
rde 8baabfb6be [FIX] website_*: convert old ir.ui.view page=True into website.page in 1 record
Before this commit, website.page xml record were created in 2 steps:
	1. Create an ir.ui.view record with <template> tag
	2. Create a website.page record with <record model="website.page">
But this is useless since website.page inheritS ir.ui.view, you can create both
records just in one <record> tag.

Note: This is NOT TRUE in every case:
Odoo's ORM will suffix external_id of inherited records (in this case the
ir.ui.view created through the website.page record) with its model's name.
This can be a problem in some case (this is an example):
	website_crm_template.xml create an ir.ui.view inheriting the
	ir.ui.view 'website.contactus'.
	But if we didn't keep website.page & ir.ui.view records split for that
	specific case, the ir.ui.view would inherit a website.page record
	causing an error. (website.contactus would be the id of the page record
	while the ir.ui.view's id would be website.contactus_ir_ui_view)

In short: when migrating an ir.ui.view (<record> xml) to a website.page:
	* If there is record inheriting the ir.ui.view ID, then split
	  website.page & ir.ui.view
	* if not, you can create the website.page and its ir.ui.view both in one
	  record (<record model="website.page").

This commit also removed remaining page="True" from xml template since we
removed the 'page' attribute from ir.ui.view model overrided in website module.
2017-09-26 16:08:14 +02:00
rde 0426849de1 [IMP] website, website_crm, website_hr_recruitment: remove useless name field from website.page
Before this commit, website.page had a 'name' field which was useless because
website.page inheritS from ir.ui.view which has its own 'name field.
At the end, we were duplicating/synchronizing 'name' field between
website.page and its ir.ui.view for no reason because we were always using the
one from ir.ui.view.

Now, getting website.page's name will always retrieve the one from its
ir.ui.view and there is no redundant information.
2017-09-26 16:07:16 +02:00
rde 4ecbacaf59 [ADD] website: add new page management
website.page = old ir.ui.view with page=True
website.redirect is a new mechanism to replace in the futur the ir.attachment
mechanism of redirect.

From now, we don't have a specific /page controller to serve 'page'.

We use a new model website.page which is rendered if none route matches the url
 and that the field 'url' on website.page matches the request.httprequest.path.

The order to serve a path is:
    - Routes defines in controllers (/shop, /blog, ...)
    - ir.attachment with name matching the path
    - website.page with url matching the path
    - website.redirect with url_from matching the path
    - 404

To improve:
    - allow regexp in website.redirect model
    - allow to edit the view_arch from the page.management via redirect backend
      (needed when traceback in the page, or when modifying a js/css/less/...)
2017-09-15 15:29:37 +02:00
Mahendra barad e38e251588 [IMP] website: Clean and simplify res_config view
Purpose
=======

- Settings are too complex: too long + too many options that shouldn't be suggested with checkboxes

e.g. twitter roller is now suggested as a new snippet to install from website editor
google maps, slides, forum, etc. should show up in the apps store

- When saving the page I expect to stay in the settings -> no redirection to homepage anymore!

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

See task 33620
2017-09-06 15:21:25 +02:00
Yannick Tivisse 781a03b2bc [IMP] res_config: Update file names, xmlids, class names according to guidelines
Now that we only have one model (res.config.settings). Uniformize everything according to the guidelines.
2017-09-01 13:03:18 +02:00
Deep Patel 898224f110 [IMP] web,account,...: Regroup settings, add a nav and search bar
Purpose
=======

Settings are often way too long and hard to scan and sometimes you don't know where to find the settings you're looking for.
By adding a left navigation, you can already have an overview of the settings, and switch easily between them.

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

- Add a search bar on all the apps that have settings which can search results from all the installed apps.
  (If i'm on sales settings,and I search anything then it shows results from sales settings and also shows
  all the other matching results from all the other apps such as, Inventory...etc) with app name.
- Able to activate feature from the current page results (no matter if the searched result is from another apps).
- Highlight searched word in results
- Delete the sheet, have a full white background
- Add left navigation bar on setting
- Left navigation bar fixed
- List displayed based on installed apps
- On right panel, by default display current app setting and change accordingly
- [Mobile] Left navigation bar displayed on top
- Add Breadcrumb on top of the page: have the name "Settings" + Save / discard CTA + Search
- Add General Settings on the nav bar
- remove "save this page..." notif in all settings
- Delete all recommanded apps section + all checkbox that install app should disappear:
	payroll: https://drive.google.com/a/odoo.com/file/d/0B1uIL9E_zXrrSkMzWVpuZ0ZoaFE/view?usp=drivesdk
	Events: https://drive.google.com/a/odoo.com/file/d/0B1uIL9E_zXrrYXlHMHd2NTM2blE/view?usp=drivesdk
	Manufacturing: Delete Repair - Quality Control - Maintenance - Product Lifecycle Management [LAP][ok]
	Timesheets: https://drive.google.com/a/odoo.com/file/d/0B1uIL9E_zXrrdFg5XzNydkd2TlU/view?usp=drivesdk
	project: https://drive.google.com/a/odoo.com/file/d/0B1uIL9E_zXrraWo3NE04TktwcTQ/view?usp=drivesdk
	inventory: https://drive.google.com/a/odoo.com/file/d/0B1uIL9E_zXrrQkRaVUR5ekFQYTQ/view?usp=drivesdk
	recruitment: https://drive.google.com/a/odoo.com/file/d/0B1uIL9E_zXrrbDdqLWQweF80UkE/view?usp=drivesdk
	purchase: https://drive.google.com/a/odoo.com/file/d/0B1uIL9E_zXrrRlAyUDBnb0trQWs/view?usp=drivesdk
	email marketing: https://drive.google.com/a/odoo.com/file/d/0B1uIL9E_zXrrOUZONjhvX2k3Y2s/view?usp=drivesdk
	expenses: https://drive.google.com/a/odoo.com/file/d/0B1uIL9E_zXrrR0JpN1ZpQmtxU3M/view?usp=drivesdk
	attendances: https://drive.google.com/a/odoo.com/file/d/0B1uIL9E_zXrralpjZ1VJclNpMWs/view?usp=drivesdk
- About duplicate settings:
	Docsaway: Delete from Sales + delete Default Print Provider
	Attributs & Variants: Delete from Purchases - Manufacturing
	Multi-currencies: delete from Sales
	Unit Of Measures: Delete from Purchase & Expenses
- Add a scroll bar on the left bar when there's too many apps
- Keep the navbar visible even when you search
- Move General Settings to the bottom of the list
- Update on Settings:
    - Accounting:
        - rename automatic rates
        - Anglo Saxon Account: Should be in technical feature
        - Place Accounting Reports section before Taxes section
    - CRM:
        - Phone Validation: Enforce international format becomes
        - Local Numbers: (2 radio buttons proposals) Add international prefix / No prefix
    - Fleet: typo " ... a new car if ..." + text is too long <br>
    - project: fix tooltip for colab pads
2017-09-01 13:02:54 +02:00
Rohan Patel 27357ac566 [REM] website_crm: remove addition in website dashboard
Managing CRM should be done in CRM. Diziz da rule (tudududu ...
du dudududu). FGI rulez teh word.
2017-03-03 16:57:06 +01:00
fwi-odoo 3739453449 [FIX] website_crm: set form as uneditable
With the introduction of website_studio, some forms need to be set as
uneditable in order to not be displayed in studio.
2017-03-03 15:44:36 +01:00
Yannick Tivisse 700d6c7160 [FIX] website: Hide configuration fields when the option is unchecked 2017-01-05 15:46:44 +01:00
kujiu (@angua.kujiu.org) 65a7531c8b [IMP] website*: Improve the settings form view 2016-12-27 17:09:33 +01:00
Mansi Gandhi ba6a5ddc8d [IMP] website_crm: add 'Default Sales Team' and 'Default Salesperson'
To leads created from the 'contact_us' form from the website.
2016-10-25 13:56:00 +02:00
Christophe Simonis 856476d441 [MERGE] forward port branch saas-12 up to b1b700a 2016-09-22 15:23:45 +02:00
Christophe Simonis 6854887ade [MERGE] forward port branch saas-10 up to 477482e 2016-09-22 13:41:33 +02:00
Jeremy Kersten e72b852015 [FIX] website_crm, website_hr_recruitment: remove useless token
This token will be added automatically at posting (by ajax.js from framework)
2016-09-21 21:34:11 +02:00
Jérome Maes 53b65a51d2 [MIG] website_crm : migration to new api 2016-07-12 11:43:47 +02:00
Jérome Maes 68b5cf0721 [MOV] website_crm : reorganize module directory 2016-07-12 11:43:47 +02:00
Christophe Simonis 0fbc92e0c4 [MERGE] forward port of branch saas-10 up to 1e86774 2016-05-04 17:09:51 +02:00
David Monjoie 02fd74a3fa [FIX] website_form: prevent users from crazy clicking
If the feedback of a form is too slow, people might be tempted to
click a second time, trigerring a second request. If, after that,
the result has not been received yet, the user might be tempted
to click a lot of time because he is angry at such slowness. This
behavior would trigger a record creation each time the user clicked
the submit button. This fix disables the button once it has been
clicked once, and re-enable it if the record could not be created,
which means that there was an error in the input and the user needs
to change the values and try again.

The button has been changed to a span to avoid the default browser
behavior to post the form when no function is bound on the send button.
2016-04-26 12:07:30 +02:00
David Monjoie 6e3389ca73 [FIX] website_form: prevent users from crazy clicking
If the feedback of a form is too slow, people might be tempted to
click a second time, trigerring a second request. If, after that,
the result has not been received yet, the user might be tempted
to click a lot of time because he is angry at such slowness. This
behavior would trigger a record creation each time the user clicked
the submit button. This fix disables the button once it has been
clicked once, and re-enable it if the record could not be created,
which means that there was an error in the input and the user needs
to change the values and try again.

The button has been changed to a span to avoid the default browser
behavior to post the form when no function is bound on the send button.
2016-04-26 11:21:20 +02:00
Martin Geubelle 42c82d57de [ADD] website, website_sale, website_crm: new dashboard 2016-03-10 13:41:10 +01:00
Jeremy Kersten 73c4c727d2 [FIX] website_crm: allow to prefill data from get params
Allow to arrive on the form with fields prefilled with params in url
2015-12-18 17:38:02 +01:00
Christophe Simonis 7636b510a2 [ADD] *: CSRF protection in forms and routes
* make CSRF protection the default on all non-SAFE methods
  note: there currently is no way to call a CSRF-protected endpoint
  without a form-encoded entity-body as that's the only place we get the
  CSRF token from.
* simple CSRF token generation: just use the HMAC'd session id, no
  generating a new random token per session then HMAC it
* use constant-time equal function to avoid timing attacks
* assert that a database secret is configured before hashing/validating
  the CSRF token
* opt-out database manager from CSRF: The super-admin password serves
  the purpose of a CSRF token in the database manager screens.
  There is no request database to obtain the
  secret and generate a CSRF token.
2015-10-01 01:36:50 +02:00
David Monjoie a77f5cf42f [ADD] website_form: generic form controller
Contains a new ajax post function that comes from mdo's
original code and that I was not able to get rid of.
2015-08-26 16:01:19 +02:00
Yannick Tivisse 82acdbaa49 [FIX] Several fixed due to some of the demo data removal
NB : Some tests have been modified.
One assert statement in orderpoint_calendar.yml has been modified,
but the change is legit has no python method has been modified at all
2015-08-25 19:27:24 +02:00
Christophe Simonis 2cf91d16a5 [MERGE] forward port of branch saas-6 up to 63e92cb 2015-07-22 16:17:54 +02:00
Jeremy Kersten f07be4b675 [REF] base, wesbite_crm: remove placeholder for phone
Some people visiting website doesn't understand that it's a
placeholder and call to Odoo because they see the number on the website.
2015-07-02 15:53:36 +02:00
Dharmraj Jhala bc43417b18 [IMP] website_* Post button improved : Prevented posting to server multiple times 2015-06-17 12:51:47 +02:00
Jeremy Kersten ab7b5d7732 [FIX] website_crm: move the input hidden generated with kwargs at bottom of the form. Else, if the args is a field displayed later, form never look about the new value and error remains. When we post a form with 2 fields with the same name, we got only the first one into kwargs from controller. 2014-10-03 22:26:26 +02:00
Antony Lesuisse 2d296cb779 [MERGE] ir-ui-view split active and show_customize
Split the ternary field application in active and show_customize, all four
possible value are now needed for the customize theme popup.
2014-08-31 16:56:44 +02:00
Xavier Morel e06f5b414b [IMP] inherit_option_id -> application 2014-05-27 12:13:51 +02:00
chm@openerp.com 0e062e61b2 [IMP] website_crm: designer can add input type file in form view. All files create an ir.attachment linked with the created lead
bzr revid: chm@openerp.com-20140408144110-4j9aljn2kgjt0adk
2014-04-08 16:41:10 +02:00
chm@openerp.com 697b72befc [IMP] website_crm: prefill form with query strig value
bzr revid: chm@openerp.com-20140311102946-l4razug7j701mska
2014-03-11 11:29:46 +01:00
chm@openerp.com 9aa0baf7dd website_crm: contact form improvement
get argument are processed and set into input fields + hidden fields
save some datas from http headers
controller should save all the submitted vars

bzr revid: chm@openerp.com-20140310162626-libizyxlycvuwo7h
2014-03-10 17:26:26 +01:00
Christophe Matthieu 8d26804796 [FIX] website_crm: contact-us form
bzr revid: chm@openerp.com-20140107145400-32j6hgx8176llwxw
2014-01-07 15:54:00 +01:00
Christophe Matthieu ee370a837c [IMP] website: Removing unnecessary spaces at beginning of line
bzr revid: chm@openerp.com-20131212105821-mqvxb7yc04cj5k2s
2013-12-12 11:58:21 +01:00
Fabien Meghazi 6745bb3fed [FIX] font-awesome icons migration to v4
bzr revid: fme@openerp.com-20131203141632-ubc35ca7d4l80s7m
2013-12-03 15:16:32 +01:00
Fabien Meghazi 557d887496 [IMP] preprocess static @href|src|action, static url doesn't need t-href anymore
you need to pull server branch

bzr revid: fme@openerp.com-20131112144442-y9bw5q6kkoym8o1i
2013-11-12 15:44:42 +01:00
Xavier Morel 5ce1bfdddf [FIX] more templates which aren't actually pages
bzr revid: xmo@openerp.com-20131105151404-olp8wvdqx9yxuxj9
2013-11-05 16:14:04 +01:00
Fabien Meghazi 6a37c2fb82 [IMP] Use view 'name' as title for main_object of type ir.ui.view
bzr revid: fme@openerp.com-20131010145525-417zbwltyqzbjolz
2013-10-10 16:55:25 +02:00
Fabien Meghazi 9b40e849d6 [WIP] new title managment in templates. expose main_object for seo
bzr revid: fme@openerp.com-20131010132907-xxmg96qmcw9j5f2d
2013-10-10 15:29:07 +02:00
Thibault Delavallée fabe8d7208 [IMP] website_crm
- added error management in contact us form, using a new error argument in the view;
- improved thanks template, to display more like contactus with company description;
- extracted company description in website to be able to re-use it in thanks template
- added optional company_name in contactus form, used to flil partner_name in lead

bzr revid: tde@openerp.com-20131002114818-y369gu6u32uxry1m
2013-10-02 13:48:18 +02:00
Fabien Meghazi ad42063349 [IMP] website_crm multilang
bzr revid: fme@openerp.com-20130926145845-pym8hr4atb6el9kn
2013-09-26 16:58:45 +02:00