Setting a black low-transparency filter on a parallax element was
leaving the text color black too as the filter did not act as a
background color. Now the filter is computed from the parallax
background color.
Same as it was done before for buttons, this commit adds an option in
the theme customize dialog to allow selecting the font for the navbar
elements.
Needed for themes migration.
Forcing website on session before navigating to the other website would not
work as expected if the other website has a different URL (hostname).
It would force the website on session on current website, then navigate to
second website which could still had another website in session.
Now, we force the website in session once we land on the website in the
dispatch() method.
Step to reproduce:
- Set website1 to 127.0.0.10
- Set website2 to 127.0.0.20
- From website1 click on website2 in website selector
- Website2 is forced on website1 session (wrong)
- You land correctly on website2 and see website2
- From there (website2) click on website1 in website selector
- Website1 is forced on website2 session (wrong)
- You land on website1 but see website2 since website2 was forced on
website1 session at steps 3/4.
This is even more trickier when there is a third website without a domain in
the equation (meaning this website can be seen from website1 and website2
without changing URL (hostname)).
This gives the user an overview of the possible actions,
including those he currently does not have installed.
It allows him to quickly install the missing applications
without having to go on the backend.
The commit also improves the existing actions:
- correct handling of the actions deferred
- add some translated terms
PR: #27110
task-1885419
Sometimes we try to append a query string to an url, but if there is a remaining anchor, the query string will not be added at the right place.
The title and description tags might not exist (translated page) so it would be displaying false instead of empty string.
PR: #27110
task-1885419
* web_editor, website_slides
Current system is styling all navbars with the user color. This was not
the expected behavior but it is in fact quite nice, so we decided to
keep it. There was however a problem: choosing the menu text color only
applied to the main navbar (as it was an xpath toggling the navbar-dark
class).
This commit solves the problem by forcing navbar-light to behave as
navbar-dark automatically if the menu background is dark, and this
without any JS or extra CSS rules. This allows to get rid of the menu
text color option.
This commit also reviews the light and dark colors which are used when
website is not installed.
- Remove theme specific parts and move them in theme_common
- Use IDs to ease theme overrides
- Use the same convention for all options: the default one is not bound
to any xml_id (that's just the default scss files)
Modal generic:
- Fix footer overflowing buttons by pushing them to a new line.
Page manager:
- Add an SEO column to easily see which pages have incomplete SEO.
- Add an edit SEO column to navigate to the SEO modal on said page.
- Hide "edit in backend" column as debug.
- Generally improve the whole view by adding appropriate titles on icons, etc.
SEO modal:
- Improve general style.
- Add description length alert.
- Restructure the keyword table/suggestions.
- Reset page meta to their initial value on Discard.
- Various small usability improvements.
PR: #26897
task-1850579
Before this commit, it was not possible to open systray menus in mobile.
This is due to popper.js that is wrongly dynamically positioning the
dropdown menu.
This commit fixes the issue by disabling dynamic positioning by popper.js
for the systray menus, so that it uses ou custom styles for dropdown menu.
Closes#26434
Before this commit, the message was always displayed.
Now we only show into the default homepage the message "Follow all the tooltip"
when there at least 1 tooltip in the current page.
task-1878245
Advanced user can do it from the backend by the way and it is not
obvious to understand the impact to set/unset this option.
Seems like I was the only guy to think that this feature was needed
task-1878245
Since the recent fixes on multi website, the customization modal
is restored but is a lot slower the first time we use it (around 20sec
to save an option on my machine). This was because when we change an
option, all the others options are sent to the server to be (re-)saved
and, on the first time, the multi-website system has to duplicate them
all to make them website-specific.
Now, we only enable/disable views which are modified by the user.
When the user chose a very wide logo for the website navbar, it
overflew over the menu items (making the "+" feature look broken).
This in fact occurs since commit https://github.com/odoo/odoo/commit/4bc79da943c71e762e1f6dedbe3a641042bfef3f.
Its goal was to avoid top menu flickering due to that "+" button
feature. To do that, menu items were hidden with an height of 0 during
loading, then, once the correct number of items needed for the "+"
feature was computed, they were made visible to the user. Another
problem was due to the logo image loading. When it is not loaded yet, we
cannot properly compute the number of items which is needed. To solve
that problem, we fixed the size of the image container instead of
setting the height of the image itself.
But fixing the size of the image container only created a new bug: very
wide logos overflow this container. This commit solves all the problems:
1) The height of the image is set to be equal to the navbar links.
2) The height of the navbar is not forced, meaning that if the user
decides to change the height of its logo to go against (1),
everything will be adapted accordingly.
3) During loading, the menu items are still 0px tall, hidden and made
visible once the "+" feature is enabled.
4) The "+" feature is only enabled once all the navbar images have been
successfully loaded.
task-1878245
With BS4, the website's font size was set to 16px instead of 14px as
before. We finally decided to force the 14px back. This commit also
moves some bootstrap variables extensions to portal as it should have
been done and reformat the files to match the bootstrap _variables.scss
file.
* website
```
$map: (
test: 1,
black: 2,
);
@debug map-get($map, 'test');
@debug map-get($map, test);
@debug map-get($map, 'black');
@debug map-get($map, black);
```
The above code leads to a:
1
1
null
2
This is because maps' keys can be *anything* in sass (even other maps).
In the example, the map is defined with unquoted `test` and `black` as
keys which are understood as the string 'test' and the *color* black.
When asking for the value for the 'black' string key... there isn't any.
This commit forces the use of quoted string as color maps' keys.
Make some changes which are needed for theme migration.
- Theme colors as user colors fallback only (not hard choice)
- Review option dependency system
[FIX] web_editor: adapt col size to avoid too small select
We should avoid col-md-3 in col-md-9 as the menu dialog is instanciated at 2
places:
- When creating a link in the editor
- When editing website navbar menu
In the second case, there is a hack in `content.js` to remove `modal-lg`
lowering the width of the modal and making the select too small.
[FIX] website: lower navbar font size
With BS4, font-size of navbar element went from 13px to ~17px (rem unit
computation).
14px seems better than previous 13px as the frontend content size is
higher than the backend one. Thus, 13px looks too small in contrast with the
frontend page content.
[FIX] website_crm_partner_assign, website_customer, website_membership: fix layout
This commit fixes multiple layout issues, mainly by aligning code of the 3
modules:
- Add margin right to avoid text to be against image
- Using image_medium everywhere
- Fixing search input width
publish toggle red + odoo primary is weird -> gray
navbar now has a background & float-right not working since flex
-> remove navbar class, use d-flex and ml-auto so the right element will be floating since using all available width
task-1878150
In some case, you can be on website 2 (where company_id = 2) with your user into the company 1.
In this case, you will not see the product on ecommerce from company 2 while you stay in company 1.
* web, website
- Introduce gray color palettes (needed for themes migration)
- Synchronize BS4 color maps with individual variables (see comments
about this in the code).
- Review alpha/primary, beta/secondary matching:
Before this commit, we decided that the common way to define a color
palette was defining primary, secondary, gamma, delta and epsilon.
alpha and beta were then forced to primary and secondary without other
possibility.
The new system makes more sense:
1) define alpha, beta, gamma, delta and epsilon
2) primary and secondary will automatically be set to your alpha and
beta (allowing to style the default UI with BS4-independant
variables)
3) if you are not happy with (2), you can define primary / secondary
in your color palette so that they are not automatically set to
alpha / beta
This commit also changes what classes the editor uses. Background colors
and text colors will now use alpha/beta/gamma/delta/epsilon (not primary
and secondary anymore). For buttons, all the possibilities are suggested
but color duplicates are hidden (so if your primary and alpha are equal,
only one button color is suggested).
`main_object_request` was added in the navbar widget.
It would not work with `PageManagement` widget as it is added in the
website_root widget and not the navbar.
Moving it to the website_root will make the event accessible when triggering up
the event.
The edition dropzones for the bottom of the main content and the top of
the footer content are at the exact same locations.
Until commit https://github.com/odoo/odoo/commit/514722d783d504151b6b835375de036eda88279f,
when trying to drop a snippet there, there were two cases:
- The user drops a snippet above/below the location -> the snippet
is added to the main content (as the code searches for the nearest
dropzone, and always return the first one in the DOM if several are
found).
- The user drops a snippet around the location, seeing a snippet preview
-> the snippet is added to the footer content
With the mentioned commit, the second case changed: the snippet is now
also dropped in the main content. While this is more logic, there is
no way to drop a snippet in the footer anymore. Adding a border on top
of the footer content solves the problem for now (as the dropzone will
now be at 1px different location).
-Some tests where moved without addapting the path to them:
path is now update and tests fixed.
-A picture was removed in commit 4dce6cc98b but
still referenced in template website_twitter_snippet.
-A test was missing a data leading to the wrong path to image beeing loaded
With this commit now user can set custom meta image from the seo dialog. If the
user sets such image then it will be displayed when the user shares that URL in
social sites.
By default, it will show the list of images used in the current page.
Alternatively, user can use media dialog to select/upload images. By default, it
will take the company logo as a meta-image.
We also improved how custom meta tags are handled for different pages, Now we can
set custom meta tags based on the model and we can override '_default_website_meta'
method in case you want to change default meta values from the specific model.
e.g. For products displayed on the shop, if we want to change the value of
og:image to product specific images instead of default logo
In future, it will be used to add model specific metas like og:price, og:currency
We passed 'website_company_id' in frontend session info because we display
company logo in dialog for all pages. We can't use /logo.png as it is not
updating in multicompany and multiwebsite.
task id: 1835370
Closes: #25430
Placing a list-group inside an element whose text color is forced is
buggy as the background of list-group items is forced to white and
the text color left untouched.
Before BS4 migration, Odoo was not very consistent and used mainly
btn-sm buttons and btn-xs buttons. We took advantage of the fact
BS4 removed the btn-xs class to convert our btn-sm to standard btn
and our btn-xs to standard btn-sm.
While this is perfect in theory, the new btn-sm class does not
generated small enough design for us. This commit changes the BS4
standard style for our website, making btn-sm smaller.
Set up env & tools for module website multiwebsite (blog, event, sale..)
website_id in modelConverter and ir_rule
add _compute_domain_keys to have a different cache per website
or rules would not be correctly website_dependant
eg: blog 1 on website 1, blog 2 on website 2
access blog 1 from website 1 => can access -> normal
access blog 1 from website 2 => can access -> should crash because (ir rule)
split mixing website.published.mixin and website.published.multi.mixin to have
website_id only on last one.
multi mixing will:
- override website_published compute to take current_website into account (not in backend)
- force website when clicking on published in backend
- website blog, website_sale, website_event, website_forum, website_slides are now multi website
Co-authored-by: Derie Romain <rde@odoo.com>
Co-authored-by: Kersten Jérémy <jke@odoo.com>
google analytics, google map api key, ... can be set by website
Remove useless duplicated label
Co-authored-by: Derie Romain <rde@odoo.com>
Co-authored-by: Kersten Jérémy <jke@odoo.com>
Fix bug from the initial poc of JOV
Fix menu creation
- creating a menu would create a 'container' menu in the DB (.create is call without website_id)
then writing on it would copy (if condition to cow) the menu with a website_id leaving the first
one as a menu container unused.
- website_menu should always have a website_id
we dont want to support the multiwebsite system that allow to have generic/specific menu
unlink/write is useless now since we always have a website_id
Make unique_path website dependent, 2 distinct website can have a page with same name
Make Sale report multiwebsite compliant
Make website_id on sale_order / account.invoice as a related stored from partner_id.
Co-authored-by: Derie Romain <rde@odoo.com>
Co-authored-by: Kersten Jérémy <jke@odoo.com>
Now we can see which specific page override wich page when page are sorted by url.
Co-authored-by: Derie Romain <rde@odoo.com>
Co-authored-by: Kersten Jérémy <jke@odoo.com>