The background example is a set of random fake column and card,
directly inspired from the kanban example modal.
We want to toggle this background depending on the kanban state;
the background will be displayed when there is no column yet,
and the quick create column is shown.
To do so, we need to update the state of the kanban when deleting
a column to (re)display the background in case of removal of the
last column. Now, on column deletion, the entire kanban is updated
and so entirely rerender (with aab's benediction).
Task-1893021
Prevent user to create project on the fly when
editing task. This will avoid user to create bad
project (typo, ...) and will force then to be more
organized: create a project first, then populate
it with tasks.
Task-1893021
This commit makes the create button of a kanban view
jumping when the user click on some zone on the kanban
background.
The purpose here is to educate the user, so he can learn
how to create its first kanban card.
Task-1893021
- 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
closesodoo/odoo#28199
Purpose
=======
In order to be able to manage payroll, we need to know if a resource calendar
is a full time or a part time. For instance, in belgium, 23h a week is a full
time for a teacher but in cp 200 it is 38h. In belgium every employee can take a
parental leave in part time but he cannot take it in part time if they are not full time.
Having a field indicating if the contract is full time or not is useful for computing
salary rules.
Specification
=============
On the calendar model
- Display a computed field with the number of hours in the calendar
- Display a field with the required number of hours to be full time
- Display a computed checkbox, ticked if full time or not
On the contract model
- Add a related on these fields, to ease the access on the salary rules computation.
closesodoo/odoo#30034
Purpose of this commit is to remove test entries from statistics and reports
in survey. Indeed they are not real results and should not be taken into
account. We also display a warning on portal page of surveys when user is
in test mode.
This commit is linked to task ID 1865453 and PR #29316.
Purpose of this merge is to refactor, clarify and fix surveys access rights
and rules. Indeed currently surveys access rights and rules are not very
clear. This application is currently used mainly for external and public
surveys.
In this merge we clean access on survey models. Basically only surveys officers
and managers have access to the models. Other people including employees,
portal users and anonymous people users have to use the portal view and
dedicated routes instead of accessing data through the backend.
In this merge we also expand the access options of surveys. Surveys can be
public, limited to authenticated people, limited to employees or on invitation
only. Invite wizard has been redone to simplify it and better support those
options.
For more details about the content please have a look at each subcommits.
This merge is linked to task ID 1911586 and PR #28986.
Otherwise you might change the survey used on the job without knowing it.
Survey on applicant is just there for information / action purpose, not
configure the job itself.
This commit is linked to task ID 1911586 and PR #28986.
Purpose of this commit is to add a new survey category for applicants. That
way surveys created and/or used through recruitment process are correctly
set in their own category allowing to filter them. When creating a new
recruitment only surveys linked to recruitment process are shown. Moreover
default values are propagated when creating new surveys so that they are
correctly configured by default as recruitment and invite-only surveys.
This commit is linked to task ID 1911586 and PR #28986.
Purpose of this commit is to add a category selection field on surveys. It
will allow to filter / select surveys according to their category and their
main use.
This commit is linked to task ID 1911586 and PR #28986.
Recent community commit updated survey ACLs. Notably survey access groups
officer and manager have been updated to really give access to survey models
management. Other people cannot access survey models as they are considered
technical. Controllers give a way to take and complete surveys.
In this commit we update recruitment bridge module with survey to remove
custom rights and rules definition for survey models. As recruitment groups
already imply survey groups access defined in base survey should be sufficient.
Being a recruitment officer or manager automatically makes the user a survey
officer.
This commit is linked to task ID 1911586 and PR #28986.
Purpose of this merge is to remove the ugly __URL__ hack of survey templates.
It is solved by making template rendered on user_input model. This means each
invitation recipient will received its own rendered mail. Small jinja code
allows therefore to include the url in a clean odoo-style way.
Subject and body in survey invite wizard are not rendered anymore. It means
jinja could be displayed. This is necessary as this wizard will work in batch
mode, rendering the body on each recipient.
This commit is linked to task ID 1911586 and PR #28986.
Purpose is to clean and simplify invite wizard on surveys. Main purpose is
to simplify options.
Public link is displayed for public surveys, allowing to quickly share
it. When sending emails a token is now generated for each recipient. There is
no "batch public link" sending option anymore as it is not really necessary.
Check is done on recipients and emails to match the access mode option. Having
a restricted survey gives the same limitations on people to invite (users,
employees, ...).
Code is cleaned to ease its understanding and prepare future evolution notably
with appraisals.
An existing mode field is added on invite model. All options are currently
not used but it prepares future addition to survey, notably for certifications.
Its purpose is to know what to do with existing tokens when inviting new
recipients. It is used notably to resend tokens through the user_input form
view instead of relying on a custom context key.
This commit is linked to task ID 1911586 and PR #28986.
Survey has several side pages related to corner cases: closed surveys, void
surveys, ... those templates need a bit of polishing. Other main templates
are left untouched and will probably be improved in other tasks.
This commit is linked to task ID 1911586 and PR #28986.
In this commit we extend access option on survey model. Access mode is now
defined as
* public: everyone can access this survey. People having a link to the survey
can create answers and fill survey. Those are used for example as
satisfaction surveys;
* login required: only users can access this survey. Depending on auth
signup configuration this either limits survey access or forces people
to create an account;
* employees only: only users belonging to base.group_user can access this
survey. Those are used for example for internal polls;
* on invitation only: only people receiving a token can access this survey.
They do not need to be an user, having a token is sufficient. Those are
used for example for appraisals;
Note that survey officers and managers can always create and update answers
according to their ACLs.
In this commit we also improve a bit survey form view while changing the
access field. Surveys users now have access to all buttons and some labels
have been updated to better fit current Odoo style. Archive button is now
always displayed as it is considered as a standard way of managing surveys.
This commit is linked to task ID 1911586 and PR #28986.
Purpose of this commit is to improve test coverage of survey module. This
commit adds tests related to current access and serve as a base for future
modification. Some tests are commented as access will evolve for this
application.
This commit is linked to task ID 1911586 and PR #28986.
Purpose of this commit is to adapt controllers and routes to new ACLs. As
survey access is now controlled routes have to use survey ID and browse
records as sudo when access is granted.
This commit is linked to task ID 1911586 and PR #28986.
Otherwise having this value coming from a view triggers a write on the
survey stage model. This write is unnecessary ad is_closed should really
be readonly. It may also causes access rights issues notably for survey
users that cannot update stages.
This commit is linked to task ID 1911586 and PR #28986.
Purpose of this commit is to allow to unlink surveys even if answers have
been given. Currently an ondelete restrict on answers exists that prevent
from unlinking surveys. As unlink rights are now given to survey users
only they should be able to completely remove surveys if necessary.
This commit is linked to task ID 1911586 and PR #28986.
Purpose of this commit is to rewrite all access rights and rules of survey
models. Indeed this module is quite old and rules may give some strange
permissions to some people and does not enforce the use of real survey
user groups.
Specifications
* survey manager: can CRUD everything;
* survey users: can CRUD their own surveys, read all;
* regular users: cannot access anything and will use dedicated controllers
and routes;
* portal, public: cannot access anything and will use dedicated controllers
and routes;
This commit alone breaks some use of survey, notably its embedded portal.
Future commit will update code to use those new ACLs. It is done in several
commits in order to have smaller diff and avoid having too large diff in a
single commit.
This commit is linked to task ID 1911586 and PR #28986.
This commit holds several improvements on survey models.
[IMP] re-order fields in survey models and update strings / helps
Purpose is to ease understanding and future modifications of survey models
by reordering fields in survey, question and user input models. Those are the
main models we want to clean in future updates.
Some comments have been moved into help and some labels and helps have been
updated to clarify a bit the use of various fields, notably in question model.
No functional or technical change occur with this commit. It is just pure
code move. Reordering them allow to already understand a bit more the logic
of this module.
[REF] survey: remove unnecessary/unused fields on answer models
Purpose of this commit is to remove unnecessary and/or unused fields on survey
answer line model. In this commit we
* remove useless date_create field on answer and answer lines models. This
field is basically a renamed create_date. Let us remove this dummy field
as it adds nothing to the answer and answer lines models;
* remove useless URL-related fields and actions on answer and answer lines
models. Having those fields actually bloats the model without really helping
understanding survey models. As changing routes should not occur frequently
hiding routes in fields does not really help. Templates are update to
directly include links instead of fields;
We also remove a button on user input that redirects to the survey global
results. Surveys results are available on survey kanban and form views. It
makes no sense to have that kind of button on a specific answer.
[REF] survey: remove unnecessary/unused fields on survey models
Purpose of this commit is to remove unnecessary and/or unused fields on survey
model. In this commit we
* remove useless is_designed field on survey model. We remove is_designed
field that is based on having page and/or questions. It is just used to
make some links inactive in kanban view. Having fields just for that
purpose bloats the model and is not necessary. Testing void surveys will
just lead to a void page;
* remove useless email_template_id field on survey model. This field is
completely not used anywhere in survey codebase;
* remove useless urls field in survey model. In this commit we remove support
of both relative and global urls computation. It was used only in invite
wizard but was actually not really necessary as knowing the survey access
url is the only really necessary thing to display;
* Print and results URLs are removed from survey model. Having them inlined
directly in code is simpler that actually hiding them behind field. As
changing routes should not occur often it is not a big deal to write them
when necessary. We therefore remove public_url_html, print_url and
result_url fields;
This commit is linked to task ID 1911586 and PR #28986.
Purpose of this commit is to ease understanding or routes. In this commit
we make token a parameter where it is optional and force is where it is
not; we remove unnecessary list on routes; we rename some controller methods
to ease understanding;
Code calling those URLs is adapted accordingly. No functional change should
occur with this commit.
Some routes are json-http-mixed as a result of old implementation. Those
will be updated in future tasks when cleaning the templates and routes.
This commit is linked to task ID 1911586 and PR #28986.
Setting the working calendar on a project should
be done in debug mode for now. This is annoying as
it is not a "so delicate" feature and project
manager should be able to do it.
This commit makes the field always visible to ease
project configuration.
Task-1827986
closesodoo/odoo#30193
Through the HR setting, you can set the default
calendar for employee in the company. This field
is not required, and not setting it can be annoying
on employee creation.
This commit makes the field required only on the UI,
as default calendar is generated on company creation,
we can not set the required flag on the model.
Task-1827986
If two customers have same barcode -
Current functionality : To select customer in POS, if we scan barcode, only the newly created customer will be selected.
To resolve this: Created the unique sql constraint for customer per company.
This commit is related to task# 1877329.
closesodoo/odoo#28316
[REF] link_tracker: strengthen ACLs and add tests
Purpose of this merge is to clean ACLs of link tracker models. Those are rather
technical and should not be accessed as it is by external people. Let us
delegate control to controllers and lessen a bit model accessibility.
Some code is cleaned and code field is made required on link.tracker.code
model to ensure database integritry.
See commits for more details.
This merge is linked to task ID 1904277 and closes PR #28242.
Purpose of this commit is to remove some unnecessary code in link tracker.
* remove unnecessary code / parameters:
* remove unused field click_date on click as create_date is already used for
that purpose;
This commit is linked to task ID 1904277 and PR #28242.
In this commit we rewrite a bit add_click in order to remove the inlined sudo
and ease inheritance and parameter management inside the method.
Access through controllers is sudo-ed as the main API method is now done
with current user access rights.
This commit is linked to task ID 1904277 and PR #28242.
Link tracker models are rather technical and should not be accessed as it is
by external people. Let us delegate control to controllers and lessen a bit
model accessibility.
Currently everyone can use add_click method and generate statistics. Now
statistics will be generated only through dedicated routes. It will make
statistics more reliable and ensure technical data remain private.
Next commit will update code from controllers and main methods in order to be
have a more readable click API and avoid link between non dependent modules.
This commit is linked to task ID 1904277 and PR #28242.
- added unaccent search on POS customer/partner and product
- moved unaccent from "mail.utils" to "web.utils"
- added more character to make function accurate
We might use str.normalize(from ES6) but the problem is str.normalize method can not consider some double characters i.e. accented character when normalized it returns 2 normal characters and normalize method returns single character, so here custom unaccent method is used to normalize the string
What we can improve here: We can use str.normalize method and check if string is still have unaccented charaters that we can call our unaccent method but this unaccent method is also working and performing well
closesodoo/odoo#27671
The activity create_user_id field is now replaced by magic create_uid field.
Since most of the search are done on this field, create_uid should be indexed as
create_user_id was.
closesodoo/odoo#30061
Bootstrap just released a brand new version with new components and new possibilities, which are great to integrate in master.
Note: Unfortunately, this also comes with some bug fixes they did not add in a 4.1.4 version, so there is no clean way to backport them in Odoo 12.0 (so if any is required at some point, we will have to use bootstrap_review.scss or anything else to bug fix).
closesodoo/odoo#29949
The current implementatipon of write on mail.activity will
send a notification to the user every time a write is made
on user_id.
To avoid to send notification / mail if the user_id is given
but doesn't change, we can simply filter the records. This
will also avoid to check assignation rights in this case.
Task: 1905086
closesodoo/odoo#30055
With the current test_main_flows dependencies, the tour does not pass in community.
Since rev. odoo/odoo@32db86e the `extra_trigger` waiting for `payment_method_id` is
never reached because the onchange who is supposed to display this field hides it
because there is only one payment method on the journal.
The second payment method is added by the module account_check_printing but we don't
want to add it in the dependencies because this module is not very common.
Note that this `extra_trigger` was meant to wait for the onchange triggered by the journal
modification on the 'Register Payment' modal but this modification is not useful as the
journal is already 'Bank (USD)' by default.
closesodoo/odoo#30023
Currently, res.partner has:
1. `website_id` field hardcoded in website module
2. `website_published` field from website `website.published.mixin` in
website_partner module.
At the end, the res.partner model has all the field of the mixin
`website.published.multi.mixin` without having the mixin.
As a result, we have all the multi-website fields but we don't have access to
the mixins methods & computes.
Now, we use the `website.published.multi.mixin` on res.partner in website
module even if `website_published` is not needed if website_partner is not
installed.
+ add tooltip to `website` field to prevent warning since 2 fields would have
the same label
closesodoo/odoo#29711