Skip to content
Snippets Groups Projects
  1. Feb 11, 2020
  2. Dec 09, 2019
  3. Nov 28, 2019
  4. Oct 10, 2019
  5. Sep 12, 2019
  6. Feb 14, 2019
  7. Nov 14, 2018
    • qsm-odoo's avatar
      [FIX] website, *: enforce correct UI text-muted color · 6b9625e0
      qsm-odoo authored
      * web_editor
      
      - Restore the preservation of Odoo text-muted color (the rule became
        !important with BS4 and had thus to become !important in the
        preservation mixin).
      - Preserve base design in the "new content" menu (which now uses
        text-muted). Indeed, in some themes, the "new content" links were not
        even visible anymore.
      
      closes odoo/odoo#28666
      6b9625e0
  8. Jan 16, 2019
    • Anshuman Sharma's avatar
      [IMP] website: improve onboarding flow · 1bb6d739
      Anshuman Sharma authored
      - Improve the website tour (typo, tip positions, etc) and added new
        steps to publish a new page
      - Make close button of 'Mobile Preview' more visible
      - Fix the overflow for long menu names in menu editor dialog
      - Change the menu string from 'Affix Top Menu' to 'Fixed Top Menu'
      - Change theme customization dialog's title to 'Customize Theme'
        from 'Customize this theme'
      - Improve strings for Google Analytics
      
      task-1895287
      
      closes odoo/odoo#28199
      1bb6d739
  9. Apr 10, 2019
    • Sapan Zaveri's avatar
      [IMP] website: properly show navbar on iPad · 98d4b214
      Sapan Zaveri authored
      
      Currently, when we open the website on iPad, the navbar is not displayed
      properly (systray items are overlapping on the website menu). This
      commit fixes the issue by using '+' icon on the navbar top menus if
      there is not ample space. This commit also converts multi company
      selector with 'fa-building' and multi website selector with 'fa-globe'
      icons on smaller screens.
      
      task-1945020
      
      closes odoo/odoo#32321
      
      Signed-off-by: default avatarQuentin Smetz (qsm) <qsm@odoo.com>
      98d4b214
  10. Nov 06, 2018
    • Nicolas Lempereur's avatar
      [FIX] website: rtl on frontend when logged out · a403155d
      Nicolas Lempereur authored
      Before this commit, RTL on frontend was only enabled for connected user.
      
      To have RTL, we add the direction on the element, and the RTL version of
      the stylesheet for the applicable languages are generated thanks to rtlcss.
      
      opw-1892757
      closes #28434
      a403155d
  11. Oct 30, 2018
    • qsm-odoo's avatar
      [FIX] website: fix ace editor interactions with other widgets · 2768da5c
      qsm-odoo authored
      - The affix navbar went over the ace editor, preventing to save/close
      - The ace editor went always under the new content menu
      
      Now:
      - The affix navbar is always under the ace editor
      - The ace editor closes when the new content menu opens
      - The new content menu closes when the ace editor opens
      
      closes odoo/odoo#28251
      2768da5c
  12. Sep 25, 2018
    • Sébastien Theys's avatar
      [IMP] website: add quick install from "new content" · 2ab6ce80
      Sébastien Theys authored
      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
      2ab6ce80
  13. Sep 13, 2018
    • Sébastien Theys's avatar
      [IMP] website: improve Optimize SEO and Page Manager · a670f092
      Sébastien Theys authored
      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
      a670f092
    • Hiral Bhavsar's avatar
      [FIX] mail, web: open systray menu dropdown in mobile. · 5373db14
      Hiral Bhavsar authored
      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
      5373db14
  14. Aug 31, 2018
    • Romain Derie's avatar
      [FIX] web_editor, website(_*): fix bs4 · 6bfb0810
      Romain Derie authored
      [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
      6bfb0810
  15. Aug 22, 2018
    • Kishan Gajjar's avatar
      [ADD] website: Added a feature to set opengraph/twitter meta image from SEO dialog. · 156955de
      Kishan Gajjar authored
      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
      156955de
  16. Aug 13, 2018
  17. Aug 10, 2018
    • qsm-odoo's avatar
      [IMP] *: make customize dialog generic and improve options · 22c4311e
      qsm-odoo authored
      * web, web_editor, website, website_theme_install, portal,
        theme_default, theme_bootswatch
      
      The purpose of this task is to make the customize dialog as generic as
      possible, that is theme-independant:
      
      1) The design is now totally generic (Odoo visuals)
      2) The XML definition is form-view like. This allows themes to extend
         the dialog without any risk of breaking the style and also allows to
         not care about lots of technical details.
      3) New options have been included. Those were themes options that are
         now generic and which themes can simply adapt without touching the
         customize modal (navbar colors, footer color, navbar layout, fonts,
         body background, ...).
      
      The color palette can now also be customized with user colors.
      
      Using sass functionnalities, color palettes and fonts integration is now
      a lot better.
      
      Thanks to @qha-odoo for the original design.
      
      task-31677
      22c4311e
    • Martin Trigaux's avatar
      [REF] *: add support for RTL languages · f7130556
      Martin Trigaux authored
      מזל טוב
      
      The direction parameter will now have a real impact on the web interface and
      completly switch the direction of the interface.
      Add the dependency rtlcss to switch the direction with a css postprocessor.
      
      Two different assets will be generated for ltr or rtl
      /web/content/<...>/web.assets_backend.0.css
      and
      /web/content/<...>/rtl/web.assets_backend.0.css
      to be able to differentiate it easily
      
      Adapt the css and views to be easier to switch direction
      
      Render graph as it is, do not move y-axis right side, as per mathematical rule
      value goes left from origin are considered negative, so keep graph as it is
      for right to left language
      
      add test cases for language direction specific assets bundle
      if language direction is rtl then we also store css files in assets bundle
      now we store two assets bundle, one for ltr and one for rtl language direction
      test two assets bundles generated, also test two assets bundle generated for en_US and ar_SY
      f7130556
  18. Jul 27, 2018
    • qsm-odoo's avatar
      70249943
    • qsm-odoo's avatar
      d9801c1a
    • qsm-odoo's avatar
      [REF] *: BS4, review color system · d8c217a6
      qsm-odoo authored
      Odoo used to declare two main colors: primary and optional (which are
      purple and turquoise in enterprise). Those were respectively assigned
      to the 'primary' bootstrap variable and the 'btn-primary' bootstrap
      variable.
      
      BS4, however, does not allow to have a different primary color for
      buttons. Instead, the 'primary' color is used for all 'primary' related
      components and utility classes, same as for all other colors. So, if we
      want to keep our enterprise buttons green, our 'optional' colors had to
      become our 'primary' color. The old odoo primary is then renamed to the
      'odoo' color.
      
      The palette of grays is now larger by default and is numbered from 100 to
      900 alongside the $black and $white variables. The equivalence for older
      variables and the way we used them is:
      
      $gray-darker          ->  gray 900 (unused before)
      $gray-dark            ->  gray 900
      $gray                 ->  gray 700
      $gray-light           ->  gray 600
      $gray-lighter-darker  ->  gray 400 (the old variable was created by us)
      $gray-lighter-dark    ->  gray 300 (the old variable was created by us)
      $gray-lighter         ->  gray 200
      
      Fortunately, the 'lighter' variations we created fit well in the default
      BS4 system ! Unfortunately, our $gray-lighter which carried the same
      function as $gray-200 (see above) is very close to the new default
      $gray-100 and quite distant from the new $gray-200. This will be handled
      in the next commit.
      d8c217a6
    • qsm-odoo's avatar
      ea7c3f4a
    • qsm-odoo's avatar
      [REF] *: BS4, adapt media queries · 0ca6d397
      qsm-odoo authored
      media queries that target a specific screen size handled by bootstrap
      have now a more convenient way to be defined:
      
      ```
      @​media (min-width: $screen-sm-min) { ... }
      ->
      @​include media-breakpoint-up(sm) { ... }
      ```
      
      ```
      @​media (max-width: $screen-sm-max) { ... }
      ->
      @​include media-breakpoint-down(sm) { ... }
      ```
      
      ```
      @​media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) { ... }
      ->
      @​include media-breakpoint-only(sm) { ... }
      ```
      
      ```
      @​media (min-width: $screen-sm-min) and (max-width: $screen-md-max) { ... }
      ->
      @​include media-breakpoint-between(sm, md) { ... }
      ```
      
      Also, bootstrap has changed the values for its default screen sizes:
      
      ------------------
           | BS3 | BS4 |
      ------------------
      0    | XS  | XS  | -> Portrait Mobile
      576  | /   | SM  | -> Landscape Mobile
      768  | SM  | MD  | -> Portrait Tablet
      992  | MD  | LG  | -> Landscape Tablet / Small Desktop
      1200 | LG  | XL  | -> Desktop
      ------------------
      
      While it is possible to configure BS variables to behave as BS3, we took
      the decision to keep the BS4 variables untouched. BS4 system seems
      indeed better and having the purest bootstrap possible is better for
      Odoo to be used as a framework.
      0ca6d397
    • qsm-odoo's avatar
      [REF] *: get rid of vendor prefixes · 770aec39
      qsm-odoo authored
      BS4 do not provide vendor prefixes scss mixins anymore as it is meant
      to be used with the 'autoprefixer' library. As we only support the last
      version of every major browsers in Odoo, we took the decision to not
      use the library as it was also complex to integrate in Odoo. We decided
      to do the library's work by hand if it ever become necessary.
      770aec39
  19. Jul 12, 2018
  20. Apr 18, 2018
    • qsm-odoo's avatar
      [REF] *: review scss variables handling · 6e4db7d1
      qsm-odoo authored
      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).
      6e4db7d1
    • qsm-odoo's avatar
      [REF] *: convert less content to scss content · 97aa0a8d
      qsm-odoo authored
      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
      97aa0a8d
    • qsm-odoo's avatar
      [REF] *: rename all LESS files to SCSS · b04dec40
      qsm-odoo authored
      This is a simple renaming without adaptation.
      b04dec40
  21. Apr 04, 2018
    • Jeremy Kersten's avatar
      [FIX] web, website: fix font path for bootstrap · 5ba05f2b
      Jeremy Kersten authored
      Before this commit, if you or a lib uses Glyphicons, the font was loaded from
      /web/content/fonts/ (or /web/static/src/less/fonts/ in debug=assets)
      
      It is because bootstrap is imported from /web/static/src/less/import_boostrap.less
      not directly from /web/static/lib/bootstrap/less/bootstrap.less
      
      Now, we use absolute path to load font, overriding the variable define in
      variables.less from bootstrap.
      5ba05f2b
  22. Jan 10, 2018
  23. Oct 27, 2017
  24. Sep 29, 2017
    • qsm-odoo's avatar
      [FIX] web, portal: checkbox rendering · a2da1df7
      qsm-odoo authored
      This reverts commit b9493937.
      The commit was breaking most of the backend checkboxes trying to fix a
      frontend one.
      
      On top of the revert, this commit adds frontend-only style to fix the
      frontend checkboxes.
      a2da1df7
  25. Sep 15, 2017
    • rde's avatar
      [ADD] website: add new page management · 4ecbacaf
      rde authored
      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/...)
      4ecbacaf
Loading