Commit Graph
41 Commits
Author SHA1 Message Date
Nirali SapraandDharmraj b2fefbd3c5 [IMP] portal, website, website_*: make footer content easy to customize
Previously, customizing the website footer was not very easy. This
commit will allow users to customize the footer like any other
snippet area.

There are several behavior changes, as mentioned below:

- Removed toggles 'Automatic Footer' and 'Payment Icons' from the
  Customize menu
- Language Selector was moved near the 'Copyright' section of the footer
  and features a dropdown (dropup technically) to select the language
- Moved some footer links from various modules to top menu
  List of the added menus / changed menus:
    (a) Resellers (new menu for previous footer link 'Resellers')
    (b) References (new menu for previous footer link 'Our References')
    (c) Forums (renamed from 'Forum', as a replacement of 'Forums'
        footer link, showing all the forums instead of 'Help', as there
        is no link available to all forums after this commit)
    (d) Live Support (new menu for previous footer link
        'Livechat Support')
    (e) Mailing Lists (new menu for previous footer link 'Mailing List')
    (f) Members (new menu for previous footer link 'Members')
- Links which were already available as a website menus (Presentations,
  Jobs, Events, News, Documentation, etc) are simply removed

Technical Notes:

- Introduced a new template called 'brand_promotion' in website.
  This will help to avoid adding redundant footer content (like
  copyright, language selector etc) from several modules (website_sale,
  website_event, website_quote, etc) while the only intention is to
  replace module page links.
- Removed summernote related fix in portal.less (caused by xpath)
  because footer is now customizable and added padding to structure
  instead of footer itself so that bg-color/img can be applied on
  whole footer.
- Few of the tours are improved to drag and drop snippets at proper
  places and not inside the footer.
- Used Flex in copyright portion of footer, so that text will always be
  horizontally centered (Some themes have different padding for buttons,
  etc, so if we don't align text dynamically, it has to be managed in
  particular theme and in particular layouts like full-screen / boxed.
  And if someone changes height of this portion, we have to re-design
  this portion again, etc).

task-38069
Closes https://github.com/odoo/odoo/pull/22298

Co-authored-by: Dharmraj <dja@odoo.com>
2018-05-29 11:13:28 +02:00
qsm-odoo 6e4db7d13a [REF] *: review scss variables handling
Unlike LESS, SCSS variables are not lazy loaded. Our system has thus
to be updated. This commit creates new templates which are t-called
in assets bundles (to replace the old less_helpers template):

- web._assets_utils: regroups the mixins and functions which *can*
  (and so should) be available in every asset bundle

- web._assets_primary_variables: regroups the variables (or mixins
  used as variables) which *can* (and so should) be available in
  every asset bundle

- web._assets_secondary_variables: same as above but provides an
  environnement where all the 'primary' ones are accessible. This is
  for example useful to handle the community/enterprise split:

  // Community primary variables
  $o-pink-color: pink; // enterprise color
  $o-brand-primary: blue;

  // Enterprise primary variables
  $o-brand-primary: $o-pink-color;

  // Community secondary variables
  $o-my-darker-primary: darken($o-brand-primary, 5%);

  => If there was only one variable template, enterprise edition would
     have been able to define its primary color at the end but the
     darker primary would not have been updated. Using the "!default"
     system and putting enterprise definition above would not have
     solved the problem as the $o-pink-color would not have been
     accessible.

- web._assets_backend_helpers: regroups the variables, mixins and
  functions which *can* (and so should) be available in the backend
  asset bundle only. This is especially (only?) useful for bootstrap
  variables overriddes.

- web._assets_frontend_helpers: regroups the variables, mixins and
  functions which *can* (and so should) be available in the frontend
  asset bundle only. This is especially (only?) useful for bootstrap
  variables overriddes.

Note: bootstrap variables are not accessible in any of those anymore.
If you have variables that should depend on bootstrap, you have 3
solutions:

- Find another way: your variable is probably useless, use bootstrap
  variables directly or create a variable that will influence the
  value of bootstrap variables. E.g. instead of declaring:
  `$myvar: $bootstrapvar * 3`
  and using $myvar alone, declare:
  `$myvar: 3` and use `$myvar * $bootstrapvar` where needed.

- Declare a copy of the bootstrap variable and use that one. In that
  case, you should also force-set the real bootstrap one to be sure
  they match (this should be done in appropriate templates mentioned
  above). E.g.
  ```
  $o-boostrapvar: 5;
  ...
  $boostrapvar: $o-bootstrapvar;
  ```

- Set your variable to null and set it to your bootstrap expression
  in the file you will need it (where bootstrap variables are accessible)
  without forgetting to add the !default flag to allow overriddes.
  ```
  $myvar: null;
  ...
  $myvar: $bootstrapvar * 5 !default;
  ```

This commit also partly changes the variable names to follow the
convention:
$o-<app_id>-<name> where 'app_id' is the current's app name or a
meaningful unique identifier ("theme" for all themes for example, as
no multiple themes can be installed).
2018-04-18 15:59:19 +02:00
qsm-odoo 97aa0a8dec [REF] *: convert less content to scss content
Convert content so that the assets compile on app installation. The
style is still broken after this as the variables/mixins/... are not
defined in the right order (as it did not matter in LESS but does in
SCSS).

This commit basically changes:
- Variables: @​var_hello -> $var-hello
- Mixins: .mixin_world() {} -> @​mixin mixin-world {}
- Classes used as mixin: .my_class() -> @​extend .my_class
    - Here there were no other solution than to convert the use of
      a mixin call by the use of an extend as a first approximation
- LESS functions -> SCSS functions (e.g. fade -> rgba)
- Move first variable definition before the variable is used
    - Still need to make sure last variable definition is at the
      right place
2018-04-18 15:59:16 +02:00
qsm-odoo b04dec4025 [REF] *: rename all LESS files to SCSS
This is a simple renaming without adaptation.
2018-04-18 15:59:15 +02:00
Alexandre Kühn 8b9e854be4 [FIX] im_livechat: livechat button not rely on JS services
Revision of https://github.com/odoo/odoo/commit/02ec09cb1c3e2d7bc7968f40c18f2208d7f3f498

One of the purposes of the previous commit was to test discuss.
There was an attempt to test im_livechat, but it has been aborted due to the possibility
to use livechat on an external website.

However, some bits remain from this attempt, such as LivechatButton becoming a JS service
provider in order to use those services with the external lib. LivechatButton was not working
for the following reasons:

    - ServiceProviderMixin.init was not called (so it couldn't load any service);
    - On website, there are two service providers (LivechatButton & websiteRootInstance).

This fix ensures that LivechatButton does not rely on JS services, such as the bus_service.
2018-02-15 13:24:37 +01:00
Aaron Bohy 02ec09cb1c [REF][IMP] *: mail js refactoring
This commit improves the JS code of the mail module,
which comes maily from the new coding guidelines
and the addition of "JS services".

JS services are important objects that do not fit
well in the component tree, such as chat_manager
or ajax.

The benefits of JS services are improved readability
of the code, reduced coupling, and more testable
modules. In particular, discuss was hard to

Summary of the changes:

- ClientAction has been renamed into Discuss
- Clear instantiation of chatManager
- New coding guidelines in most mail modules
- JS Services can interact with each other
- Chat Manager and Window Manager are services
- Window Manager renamed to Chat Window Manager
- bus.bus is now encapsulated in Bus Service (a service)
- The test infrastructure has been tweaked with JS Services
- Chat Mixin has been removed

A future improvement would be to translate some 'trigger' into 'trigger_up'.
2018-02-01 14:51:58 +01:00
Yannick Tivisse 1df6f4c741 [FIX] ir_actions_report: Render correctly the base64 images in P3
Purpose
=======

In python2 a binary field value is retrieved as a string. Example: company_id.logo = u'xyz'

In python3 a binary field value is retrieved as a binary. Example: company_id.logo = b'xyz'

When trying to render an image on a template, we should pass a stringified version of it.

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

Pass the method to_text in the template rendering context and use it.
2017-10-10 10:39:43 +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
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
jpr-odoo 46699c5214 [IMP] mail: Add a preview popup for attachments
Purpose
=======

The goal is that when you click on an attachment, you should get a preview of it and then you get the possibility to download it.
2017-09-05 15:52:15 +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
Yannick Tivisse a38a3e93c2 [MOV] *: Reorganize configuration files according to guidelines 2017-06-19 17:37:38 +02: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
Christophe Simonis ea675d8b76 [MERGE] forward port branch saas-12 up to ff7f3d6 2016-11-18 18:03:47 +01:00
Christophe Simonis ff7f3d6f7e [MERGE] forward port branch saas-11 up to 4e7eda8 2016-11-18 16:50:20 +01:00
Richard Mathot 07de6ad491 [FIX] website_livechat: don't crash if user has no image set 2016-11-18 14:58:45 +01:00
Danimar Ribeiro 11c11dc684 [FIX] website_livechat: verify if image_small is set
image_small is not required and may fail if empty
TypeError: cannot concatenate 'str' and 'bool' objects

Closes #13726
2016-10-12 10:18:18 +02:00
qsm-odoo b4a159d261 [IMP] web, website(_*): use web.layout for every web page
The web modules defines a "layout" template which is only used by the
login default page. Now the backend template "web.webclient_bootstrap"
and the frontend template "website.layout" both use the "web.layout"
template as base.

Some parameters can be passed to customize the default "web.layout"
template:
- "head": content will be placed at the end of the <head> tag of the
page
- "title": to set the title of the page (the <title> tag should not be
placed "by hand")
- "x_icon": the url for the page icon
- "html_data": dictionnary whose key-value pairs will be placed as
attribute-value for the <html> tag
- "body_classname": the classname to set on the <body> tag

Note: xpath expression on the website.layout template can now only find
the #wrapwrap element and its children. An expression "//body" will not
have any result. If something has to be added in the body element but
not in the #wrapwrap element, simply change the xpath
<xpath expr="//body" position="inside"> with
<xpath expr="//div[@​id='wrapwrap']" position="after">
2016-08-30 13:57:32 +02:00
Thibault Delavallée efd55ab8a5 [REF] various: rename openerp node to odoo in xml files 2016-08-10 15:48:10 +02:00
jat-odoo 0b1a27a3c7 [REF,IMP] project,project_issue,rating: Handle ratings more efficiently
Purpose:

For our internal project management, we would like to track the customer
satisfaction on the open projects. We send them an email every one or 2
weeks allowing them to give a feedback by clicking on one of 3
smileys: Happy, Average, Angry. They can also put a additional explanation.

We already have something similar which is working on livechat with a
unusable reporting, and on issues but unusable. Our project are managed by tasks.

Specification:
- On the project : Selection fields : (Periodical Rating or Rating on Stage)
  + Fields to choose the period if periodical
- On the stage : email_template_id field.
- IF :
---> Periodical : Send an email to all the customers for the tasks on this stage periodically
---> On Stage : Send an email to the customer's tasks when the task reaches the stage
- That way, it's impossible to send a satisfaction request both periodically and sequentially.
  FP request
- Who is the customer : The customer on the task OR the customer on the related sales order
  OR the customer on the projet OR nobody
- The last feedback is displayed on the task kanban card (Thumb up, down, or neutral)
- On the project kanban card, the customer satisfaction is displayed. This is the simple
  mean of all the previous ratings.
2016-07-01 14:05:03 +02:00
Nicolas Martinelli 4bb5110926 [FIX] website_livechat: prevent traceback
If no image is defined for the channel, the template rendering will
crash since it will concatenate a string and a boolean.

opw-680938
2016-06-17 10:05:44 +02:00
Fabien Pinckaers 2f19fdc3c0 [FIX] Misc livechat fixes: bugfix in search view, history accessible, better form view 2015-12-11 02:53:15 +01:00
Géry Debongnie 9b44754bd5 [FIX] website_livechat: update assets due to refactoring of mail 2015-10-01 14:00:19 +02:00
Géry Debongnie e4d1f6a07f [FIX] website_livechat: include correct file in frontend bundle
The css was lessified previously, and this file was not updated accordingly.
2015-09-01 21:04:32 +02:00
Jérome Maes 132e96accb [IMP] im_livechat : refactoring + improving performance by removing rpc call 2015-09-01 20:58:11 +02:00
Raphael Collet cd925255b7 [FIX] addons: view extensions are no longer based on attribute string
In view inheritance, selecting an element based on the attribute `string` is
broken, since this attribute may be translated before the inheritance is
applied.  This fixes existing views to avoid such selections.
2015-07-06 16:58:04 +02:00
Christophe Simonis a304194936 [MERGE] forward port of branch saas-6 up to 81b5c60 2015-06-25 00:26:31 +02:00
Julien Legros b4d66099ca [IMP] website_*: website publish button
When clicking on the publish/unpublish button in a form view, if the
user does not belong to the `base.group_website_publisher` group,
fallback to a simple toggling behavior.
2015-06-19 12:22:46 +02:00
Nicolas Lempereur e765875700 [FIX] form_views: fix button box for new design
Now there should be only one button box per page, and the name should be
"button_box".

Conflicts:
	addons/crm/crm_tip_data.xml
	addons/event/event_tip_data.xml
	addons/fleet/fleet_view.xml
	addons/hr/hr_view.xml
	addons/hr_recruitment/hr_recruitment_view.xml
	addons/project/project_tip_data.xml
	addons/purchase/purchase_tip_data.xml
	addons/sale_crm/sale_crm_view.xml
	addons/website_quote/views/website_quotation_backend.xml
	openerp/addons/base/res/res_partner_view.xml

Conflicts:
	addons/account_reports/views/partner_view.xml

Conflicts:
	addons/claim_from_delivery/claim_delivery_view.xml
	addons/stock/stock_view.xml
2015-06-15 16:30:37 +02:00
Jérome Maes a80219e292 [MIG] bus, im_chat, im_livechat, website_livechat : migration to new API.
Migrate the models and controller to new API. Renaming xml id according to convention, renaming openerp tag into odoo tag. Add comment strings and documentations.
2015-04-28 17:04:16 +02:00
Jérome Maes e30dda9828 [IMP] website_livechat : use the correct publish button. To do so, a better security (with public and website_publish) was required. The inherit of ir_ui_view allow to display the default website channel by passing the fact that it can be website unpublished 2015-02-12 14:29:07 +01:00
Jérome Maes abcb165d97 [IMP] website_livechat : make it depend on rating_livechat. It now propose to display livechat channel on website pages, with its ratings and description. 2015-01-08 12:28:22 +01:00
Fabien Meghazi 5c87e7297d [WIP] Testing javascripts in the bottom of the page 2014-09-16 19:54:59 +02:00
Simon Lejeune eff2c4fd91 [MERGE] upstream 2014-06-29 13:57:58 +02:00
Antony Lesuisse c60798d3b0 MERGE] odoo bus, im_chat and im_livechat
Add a generic bus for instant communication based on postgres LISTEN/NOTIFY and HTTP comet.
Both threaded and gevent greenlet mode are supported. Chat should now work on every platform.

im_chat improvements
- proper support for multiple windows
- present, away and offline status
- improved data model for multi user chat session

im_livechat improvements
- standard css js assets are now used
- qweb templates are now used instead of jinnja
2014-06-29 04:01:13 +02:00
Simon Lejeune fc8592adf2 [FIX] Report: translation fixed, use of 'primary clone' of web.layout and website.layout, minimal template is now a QWeb template 2014-06-27 12:00:49 +02:00
Christophe Matthieu 1f21989bbb [FIX] website_livechat: add res_config file for configuration of the channel
bzr revid: chm@openerp.com-20140210164113-41vl0ftlk9eybnlw
2014-02-10 17:41:13 +01:00
ddm@openerp.com edaf96d283 [IMP] add livechat snippet
bzr revid: ddm@openerp.com-20140124130557-1rmrtbabrz0mt1ed
2014-01-24 14:05:57 +01:00
ddm@openerp.com fb49ef287c [IMP] new module for integrating livechat into website
bzr revid: ddm@openerp.com-20140124125140-pr9h42j6p6kp31qt
2014-01-24 13:51:40 +01:00