summaryrefslogtreecommitdiff
path: root/addons/project/static/src
AgeCommit message (Collapse)Author
2020-08-21[FIX] project: rephrase franglishFabrice Henrion
Courtesy of the en_US police closes odoo/odoo#47148 Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2020-08-19[IMP] sale_timesheet: Billable projectjbm-odoo
Split completely 'non billable' from 'task rate' for more clarity. Simplify the task form view of non-billable projects. TaskID 2032048 closes odoo/odoo#55972 Related: odoo/enterprise#12441 Related: odoo/upgrade#1662 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-08-12[IMP] project: improve digest tipsAnousone Phaysomphot
PURPOSE Review the tips and digest layout design to make sure they have a WOW effect and increase trial conversion/retention. SPECIFICATION “Customize tasks and stages according to the project” See code for specifications. LINKS Task ID-2274264 COM PR: odoo/odoo#53580 ENT PR: odoo/enterprise#1139 X-original-commit: bd2cd2ca4e4fd1fa99d6a97b8af291363e4b1d84
2020-08-12[IMP] project: add recurring tasksKevin Baptiste
Some interventions are done on a regular basis (e.g. maintenance of fire alarms, safety inspections). Having tasks auto-generate would facilitate the process and would ensure that the next intervention isn't missed/forgotten. closes odoo/odoo#55517 Taskid: 2172156 Related: odoo/enterprise#12246 Related: odoo/upgrade#1604 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-06-23[IMP] project: improve calendar viewArnaud Joset
Before this commit, the calendar view showcases tasks by deadline. Because it is a simple date field, the day/week modes don't have much value and are even confusing to the users, who expect to be able to define timeframes. In addition, the quickcreate doesn't allow to select a project. This is problematic because it leads to "ghost" tasks. closes odoo/odoo#52478 Taskid: 2264594 Related: odoo/enterprise#10976 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-06-15[REF] mail, *: refactor messaging with OWLSébastien Theys
This commit is a significant rewriting of client-side discuss, chatter, chat window, and messaging menu using OWL. The behavior should be broadly the same, with some slight functional changes here and there. From a technical standpoint, the code of messaging is mainly organized in 2 main groups of modules: - models, which are logical entities that depict the client-side state of messaging as a whole. - components, which are in charge of displaying information from models. This refactoring also introduces new JS guidelines regarding folder structure (/static) and naming rules for JS modules. Community PR: https://github.com/odoo/odoo/pull/39023 Enterprise PR: https://github.com/odoo/enterprise/pull/6249 Task-1914207 This PR is a collaborative work by Alexandre, Julien, Sébastien and Xavier, with the precious help of Lucas to speed it up towards the end. closes odoo/odoo#39023 Related: odoo/enterprise#6249 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com> Co-authored-by: Alexandre Kühn <aku@odoo.com> Co-authored-by: Julien Giannone <jgi@odoo.com> Co-authored-by: Lucas Perais <lpe@odoo.com> Co-authored-by: Sébastien Theys <seb@odoo.com> Co-authored-by: Xavier Dubuc <xdu@odoo.com>
2020-06-02[IMP] project: Improve global UX (back2basics)Yannick Tivisse (yti)
Improve the onboarding of new users and clean a few screens. Task ID: 2237996 closes odoo/odoo#50284 Related: odoo/enterprise#10536 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com> Co-authored-by: dmonzonis <mod@odoo.com>
2020-05-28[FIX] project: Open tasks when clicking on kanban recordYannick Tivisse
Purpose ======= Reintroduce the horrible bidouille that was removed by mistake. closes odoo/odoo#52041 Note: Should be cleaned though. Taskid: 2266510 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-05-27[IMP] project: Improve onboarding tourdmonzonis
The onboarding tour of the project app has been improved by changing some messages and changing the flow to show users how to use the chatter features within tasks. Task ID: 2238624 closes odoo/odoo#49760 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-05-25[IMP] project,...: Improve list views with new widgetsYannick Tivisse
Purpose ======= Task 2195254 introduced many wonderful widgets to pimp the list view. This task aims at implemeting them into the Services apps: project, timesheets, helpdesk, expense, planning and field service. Remaining days: https://drive.google.com/file/d/1o4Wn47445GxLqBkw-ifH9MgtFU_437xz/view Avatar: https://drive.google.com/file/d/1yDwJWP0MZCUKZbqCa8hte1ziVTYRMMtb/view Activities: https://drive.google.com/file/d/1e_rXH50eZq4zY2HOzw7_pfgiD39SoRIl/view Field-specific decorations: https://drive.google.com/file/d/1WFnqJ-jkyDFftRHxWW4bgomoWrOpOuaY/view More control on buttons Specifications ============== You will find below a list of which widgets to apply to which fields by model. Some changes have to be done in the form/kanban views as well. 1) project.task remaining days -> date_deadline -> list + kanban + form views hide this field if is_closed is true avatar -> user_id -> list view activities -> 'next activity' field to be added -> list view field-specific decorations https://nimb.ws/ACewrY remove the current orange/red decorations we have if planned_hours > 0, display the remaining_hours field in (list view): red if progress is > 100% orange if progress is between 80% and 100% green if progress is <80% display unit_amount in red if > 24:00 -> form view 2) rating.rating display the rating in: green = satisfied orange = not_satisfied red = highly_dissatisfied list + form views 3) project.project avatar -> user_id -> list + form views 4) account.analytic.line avatar -> employee_id -> list view display unit_amount in red if > 24:00 -> list + kanban + form view https://nimb.ws/eIWa7E merge the timer and duration fields together 5) helpdesk.ticket avatar user_id -> list view employee_id under timesheet_ids -> form view remaining hours -> sla_deadline activities -> 'next activity' field to be added -> list view field specific decoration -> display unit_amount in red if > 24:00 -> form view 6) hr.expense avatar -> employee_id -> list view activities -> 'next activity' field to be added -> list view badge -> state -> list view draft = blue reported = green approved = green done = green refused = red combine the unit_amount and the currency_id fields (see the total_amount field for reference) -> list view (idem for the expense_line_ids one2many on hr.expense.sheet) display the total_amount in bold move 'company_id' before 'amount' 7) hr.expense.sheet avatar employee_id -> list view user_id -> list view activities -> 'next activity' field to be added -> list view badge -> state -> list view draft = blue submit = green approve = green post = green done = green cancel = red display the total_amount in bold move 'company_id' before 'amount' 8) planning.slot avatar -> employee_id -> list view decoration display the allocated_percentage field in red if > 100% -> list + form view display the forecast_hours field in red if > planned hours and if planned_hours > 0 -> form view display the effective_hours field in red if > forecast_hours and if forecast_hours > 0 -> form view 9) misc calendar.event -> avatar -> user_id -> form view mail.activity.type -> combine the delay_count and delay_unit fields together -> list view note.note -> 'next activity' field to be added -> list view crm.lead.mining.request combine the lead_number and lead_type fields together -> list view display the name in bold badge -> state draft = blue done = green error = red planning.slot.template -> display the duration field in red if it is = 0 closes odoo/odoo#51271 Taskid: 2248351 Related: odoo/enterprise#10605 Related: odoo/upgrade#1252 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-05-08[IMP] project: add closed stage in projectKevin Baptiste
closes odoo/odoo#46749 Taskid: 2205057 Related: odoo/enterprise#9119 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-04-30[IMP] web: Allow customization of text in button to apply kanban exampledmonzonis
Before this commit, the only module that allows for selecting and applying kanban column examples is the project module, for its tasks kanban, so the message in the button to apply the example is hardcoded as "Use This For My Project". After this commit, the text in this button can be customized to make this more generic, so a different module could use a different message like "Use This For My Campaigns". If no text is specified, a generic "Use This For My Kanban" is used instead. Usage ``` kanbanExamplesRegistry.add('utm_campaign', { applyExamplesText: _lt("Use This For My Campaigns"), ``` Task ID: 2047369 PR #48299
2020-04-22[IMP] project: ease stage deletionKevin Baptiste
Before this commit, deleting a stage with tasks, the user received an error. With this commit, when deleting a stage containing tasks, a wizard offers the choice to move the tasks to another stage. closes odoo/odoo#46410 Taskid: 1869030 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-04-08[IMP] project: improve usability (back2basics)Kevin Baptiste
* Reword tasks in the sample project * Add a "Create and Edit" button on the project creation modal * Open the file chooser in "Set a cover image" if there are no images set * Correclty display the kanban state button on archived task * Add a button to list the tasks when deleting a project * Open file chooser for cover image: Automatically open the file chooser when setting a cover image on a task if there are no attachments to chose from. closes odoo/odoo#47306 Taskid: 2209133 Related: odoo/enterprise#9141 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-03-31[IMP] project: add new kanban examplesKevin Baptiste
Add new Kanban examples and improve the usability of the dialog. closes odoo/odoo#48620 Taskid: 2210279 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-03-27[IMP] project: add sequence to project tourJulien Mougenot
Task 2191192 closes odoo/odoo#48230 Related: odoo/enterprise#9472 Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2020-03-11[REF] *: add tour steps utilsRomeo Fragomeli
This commit moves some step utils in a dedicated file and add new ones. These steps will be very useful for the Main Flow Tour to avoid duplicated code. To do this, we also had to transform it into functions to allow utils to call each other. Existing one are converted for standardization purpose. Note that 'WEBSITE_NEW_PAGE' wasn't considered as an util. This is a very simple step only used twice.
2020-01-09[FIX] project: translate kanban examplesMartin Trigaux
Using a lazy translator as this file is processed when loading the web client, no during rendering (the translation memory was not ready yet). Turn escFormat into a lazymethod to evaluate it only after translation resolution. Fixes odoo/odoo#36494 t push de# closes odoo/odoo#43038 X-original-commit: 05429ca9d09ad49f5f214b082ef524b74c25eeeb Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-12-09[IMP] project: display remaining hours on tasksKevin Baptiste
The remaining hours on a task are now displayed unless there are no planned hours defined. - Between 0 and 79%: green border - Between 80 and 100%: yellow border - Above 100%: red border closes odoo/odoo#41222 Taskid: 2150121 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-12-09[REV] web: reverts update to fontawesome 5.11.2Kevin Baptiste
This reverts commit ff1c35513aecef5fbc30f7c2f3834450e719714e. closes odoo/odoo#41480 X-original-commit: 116057b26e71db4692280463669f3e80d813ddcc Related: odoo/enterprise#7110 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-11-28[FIX] project: fix traceback in project public ratingVishnu Thuletiya
Purpose of the task is, clicking on rating from publicly rating project dashboard it will produce the traceback. so fix the traceback by fixing typo in portal rating. Task-2145507 closes odoo/odoo#41132 Closes: #41005 X-original-commit: 9587ccc716c3e6d6c0a73acd22155b545d1638b8 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-11-28[IMP] web: update to fontawesome 4.7.0 to 5.11.2Kevin Baptiste
FontAwesome 5 introduced new names for some icons as described on https://fontawesome.com/how-to-use/on-the-web/setup/upgrading-from-version-4#name-changes This commit replaces the old names to the new ones. closes odoo/odoo#35826 Taskid: 2050241 Related: odoo/enterprise#5180 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-07-30[IMP] project,_timesheet_holidays: improve source termsYenthe666
closes odoo/odoo#35227 Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-06-18[IMP] web, project: improve examples background on kanban quick create columnJinal Patel
This commit makes the use of the kanban more intuitive by changing the view's example background columns labels. kanbanExamplesRegistry will have object as a value instead of array, ghostColumns and examples will be the key where ghostColumns defines column titles for example background on column quick create and examples will be array of examples which will be displayed on click of See Examples link in quick create column If ghoseColumns are not defined then dynamically ghost columns will be generated with titles like Column 1, Column2... task- 1937198 closes odoo/odoo#30911 Signed-off-by: Jérome Maes (jem) <jem@openerp.com> Co-authored-by: Mohammed Shekha <msh@odoo.com>
2019-06-17[MERGE] forward port branch saas-12.3 up to 48a9f5a6335Christophe Simonis
2019-06-14[MERGE] forward port branch saas-12.2 up to 498b4b4350dChristophe Simonis
2019-06-05[IMP] *: move test and tour files to new folder hierarchy and assetRomain Derie
As we now have a new debug mode 'tests' which load a new asset bundle containing tour-test files, we moved those files to a new folder hierarchy. That will clean the .js files trees. Also, those files should be included in the new asset. Basically, the .js tour files (not test) should be inside /static/src/js/tours while .js tour test files (test=true) should be inside /static/tests/tours next to QUnit tests, inside a tours folder. + test_new_api: don't run the test in debug assets task-1934445 Comes with https://github.com/odoo/enterprise/pull/4281 Closes #33213
2019-06-03[FIX] web: form's title should take all width in edit modePierre Paridans
Form sheet's title (with class .oe_title) when in editable mode has a maximum width. The goal according to FP is to make a clear differentiation between the main title/name of a record and its other fields. An issue with the existing rule in the Project application is that the "title" row (with class .oe_title) not only contains the name of the task but also its priority and state. The aforementioned rule should then be applied only on the "name" part and not to the whole row to prevent the "state" from moving between read_only and editable modes. To do so the maximum width is "moved" from the row element to the task name's element. Sadly the current stylesheet in this project is still a regular CSS file, preventing us from using the SCSS expression coming from `addons/web/static/src/scss/form_view.scss`. Task ID: 1946570 closes odoo/odoo#33845 Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
2019-05-06[FIX] project: correctly align buttons on project kanbanHetal Dhanak
Previously, footer buttons on the project's kanban were not being shown properly due to improper CSS rules. This commit fixes the issue by removing fixed width and evenly distributing available space between the buttons. Task - 1948176 closes odoo/odoo#33039 Signed-off-by: Jérome Maes (jem) <jem@openerp.com>
2019-02-22[MERGE] forward port branch saas-12.1 up to 0f4abc5c228Christophe Simonis
2019-02-13[IMP] web, *: remove explicit references to `session_id`Martin Geubelle
Since rev. odoo/odoo@f4d541e the `session_id` cookie uses the `httponly` flag so it cannot be accessed through client side script. But before this rev. the `session_id` was still provided by the server to the webclient (in session_info, mostly) and was stored and accessible. This made XSS injection more dangerous than they should be as it was very easy to steal the `session_id`. As the browser automatically set the `session_id` on every request to the server, the webclient shouldn't need any explicit reference.
2019-02-15[FIX] project: remove duplicated step in tourAaron Bohy
closes odoo/odoo#31146
2019-02-26[REF] *: use 'frontend' system in non-website appsqsm-odoo
* account, auth_signup, payment, portal, project, sale, sale_management, web_unsplash, website, website_mail, website_rating, website_sale This commit does probably not do what is stated for all non-website apps but it is a first step. It also uses the system in apps which could have already used it but did not. Part of https://github.com/odoo/odoo/pull/29442 task-1932066
2019-01-16[IMP] web: make kanban example support state bulletsjem-odoo
2019-01-16[IMP] project: improve kanban example sentencesjem-odoo
This commit improves the sentences used in the kanban example modal in order to be more concrete and precised for the users Task-1893021
2019-04-18[MOV] web, project: make cover image generic in kanbanSuraj Shukla
Previously, we could only set cover image on the kanban view of project task. This commit makes the feature generic so now cover image can be added to any kanban view. Technical notes: - field used to display the cover image has to be set as 'data-field' attribute on the kanban dropdown's menu related to cover image - developer will have to take care while designing kanban views with cover image ability in such a way that it does not break the design Task 32108 closes odoo/odoo#31731 Signed-off-by: Martin Geubelle (mge) <mge@openerp.com>
2018-09-21[CHG] *: "family" names of admin & demo usersXavier Morel
avw/fp? request 58fc4e440952bde533c8aa1dc8b6fc2440a05337 changed various demo data, including putting more "realistic" names in for the administrator and demo users in demo mode. This is apparently inconvenient when actually demo-ing Odoo as it's harder to see at a glance whether the current user is the administrator or "regular" (demo) user of the db, though this should have less impact since the userification of the admin (2f7c03d9ca5809b65dc6eaa778064668d34fcd2e).
2018-09-17[FIX] *: adapt tours for the new community navbarAlexandre Kühn
*: crm, hr_expense, hr_recruitment, point_of_sale, project, sale, stock, web_tour, test_main_flows, test_new_api To sum up: - Click on "Apps Menu" then the app item. (previously: click on '+' then the app item). - Click on navbar section menu item. (previously: click on sidebar section menu item).
2018-08-18[IMP] project: reducing tour to avoid asking for invitationsFabien Pinckaers
We already ask to create a user when creating the first task, going to the Settings to invite more people is too much.
2018-07-27[REF] *: BS4, adapt col-related classesqsm-odoo
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[REF] *: BS4, review breadcrumb structureqsm-odoo
Now, the 'breadcrumb-item' class has to be put explicitely on breadcrumb items.
2018-07-27[REF] *: BS4, review color systemqsm-odoo
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.
2018-07-27[REF] *: BS4, adapt display classesqsm-odoo
The system completely changed. I also had to adapt classes to new screen breakpoints. hidden/hide -> d-none show -> d-block hidden-xs -> d-none d-md-(block/inline/...) hidden-sm -> d-md-none d-lg-(block/inline/...) hidden-md -> d-lg-none d-xl-(block/inline/...) hidden-lg -> d-xl-none visible-xs-* -> d-* d-md-none visible-sm-* -> d-none d-md-* d-lg-none visible-md-* -> d-none d-lg-* d-xl-none visible-lg-* -> d-none d-xl-* hidden-print -> d-print-none visible-print-* -> d-none d-print-* ... and all possible combination of those had to be handled too.
2018-07-27[REF] *: get rid of vendor prefixesqsm-odoo
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.
2018-07-26[IMP] project: Improve the onboarding tourShubham Johar
- improve tips text - project task quicky create "Title" changed to "Task Title" - Add steps to open task to add more information on task(edit task and then save task) - Remove step on "Assigned to" - Finish tour on Invite users in Settings - Add rainbow man on tour finish Related to task: #1825214
2018-07-25[IMP] base: Improve partners/employees demo dataYannick Tivisse
- Update all the pictures - Rename the partners with a name that is easy to say for an English speaker (No more 'Agwoleight') - Update all the addresses/phone numbers in the american format - Unify the demo data with the new theme (Wood shop/manufacture,...)
2018-07-09[FIX] *: fix some side-effects of ↵qsm-odoo
https://github.com/odoo/odoo/commit/9de1bc0eef6f5bfaa2a8d745431caa361ae91548 - JS Modals were not correctly built anymore, their .modal-body element was duplicated and many without-effect JS lines were introduced (as a side effect, the form view design was broken when inside modals) - Tests were changed to make bugs go unnoticed. For example, the media dialog functionnality was entirely broken because the .modal-dialog element was not receiving the correct class anymore. - The JS translation function is _t, not _ - Do not use the <title/> tag as a regular DOM element, it is meant to be unique, in the <head/> section - CSS rules were added to the utils.scss file, which is meant to contain functions and mixins, otherwise, the rule is duplicated in every asset - Some icons were still broken, as missed by https://github.com/odoo/odoo/commit/f90cf060a3cfeb37a67bec83264c0aaab8892b56 - Tests were changed to use [role="dialog"]/footer/header in their selectors without any reason, this commit restores some of that to avoid rebase conflicts with the BS4 work. - ... Note: other elements should still be discussed, like the direct use of the 'o_form_label' class in views definition... but those do not cause direct problems.
2018-06-22[IMP] Improve compatibility with screen readers (accessibility) (#24574)kujiu
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-04-18[REF] *: review scss variables handlingqsm-odoo
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[REF] *: convert less content to scss contentqsm-odoo
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