Commit Graph
69 Commits
Author SHA1 Message Date
Aurélien (avd) ba3d3455ab [IMP]: hr_timesheet: Improve global UX (back2basics)
Back2Basics of the timesheet module. Add helpers/dummy data to improve
the onboarding of the module.

Rename some roles/menus.

Add a QR Code client action when clicking on the timesheet app icons in
settings to allow users to directly download the app on their phone.

closes odoo/odoo#55565

Taskid: 2303955
Related: odoo/enterprise#12273
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-08-19 15:15:53 +00:00
Yannick Tivisse 4c291e3f70 [IMP] base: Display searchpanel on ir.module.module views
Purpose
=======

The current kanban view is messy. It is difficult to identify which
apps are installed or not. The user can completely miss a module
that might have interested him. A search panel would make things way
more readable.

closes odoo/odoo#44401

Taskid: 2181557
Related: odoo/enterprise#8144
Related: odoo/upgrade#879
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-03-05 14:03:45 +00:00
Martin Trigaux 65530dfd6a [ADD] *: add ir.model.access on all transient models
Following changes needing ir.model.access on transient models too.
Remove groups declaration on the action to move it to ir.model.access
when possible.
Rules are strict by default with no unlink access by default and high
priviledge asked. Adaptations may be needed later.
Write access is given as a wizard may need to be modified in case the
action triggers an error and the user has to correct a value

account*: use account.group_account_user for all transient by default
	  remove account.print.journal relic
stock*: use stock.group_stock_user by default
survey: survey user can send invitations
mail: allow any employee to execute wizards
      additional verifications are made to ensure they are executed
      only on the documents the user has access to you
      give portal access to mail.compose.message as portal still does
      some actions like posting messages on the forum
      add ir.rule to avoid reading somebody else messages
      increase the query count because of undeterminist count
crm: saleman for lead2opp, manager for massmailing
     partner manager for actions linked to partners
     avoid a write in test_lead_lost
sms: any employee can send sms
mrp: mrp user can execute wizards
     give unlink access as making write during do_produce operation
base_import: employees can import files
delivery: stock user can deliver
event_sale: sale user can configure the wizards
	    event user inherit from  sale rights
gamification: employee can give badge
google_service: resolve FIXME
hr: add specific rights
    manager can set a plan according to group on button
    anyone who can write on an employee can register a departure
hr_expense: set rights based on buttons
hr_holidays: an approver can make a summary report
hr_recruitment: recruiter can refuse a candidate
hr_timesheet: can use the wizard if can create a timesheet
l10n_eu_service: managers can create fiscal positions
mass_mailing: same group as on mass.mailing.list
membership: accountant can create invoice from membership
payment: accountant can create a link
	 as the source is an account.move
	 keep the payment.acquirer.onboarding.wizard to system user
	 only as it is called during company configuration
point_of_sale: PoS manager only can use wizards
	       never create closing_balance_confirm_wizard records
product_expiry: stock user has rights on stock.picking
product_margin: access from accounting menus
repair: same rules as for above models
sale: set ir.rule for self wizard only
      add rule from model introduced in payment to add salesman group
sale_crm: saleman can create a quotation from a lead
sale_coupon: any saleman can generate coupon
	     add self ir.rule
sale_product_configurator: salesman can select product variants
snailmail: employee can send letters
website: designers can write on website
website_crm_partner_assign: same rule as group on action
website_sale: sale ACL as for payment.acquirer.onboarding.wizard
website_slides: anyone can send invitation

base: base.language.*: allow employee (cf lang_install)
      change.password.user: can not read change password wizard of
      other users
      test.*: no access is needed

Courtesy of Damien Bouvy, William Andre and Antoine Prieëls for review
of acl
2020-02-04 17:54:18 +01:00
Lucas Lefèvre 7059b177ee [IMP] project: Following a private project no longer required
=======
Purpose
=======

Currently for a user to be allowed to see a private project they must follow the
project. This means that they will be added as a follower of all new tasks in the
project which causes them to receive 1000000 notifications, especially if there are a
lot of tasks in a project.

==============
Specifications
==============

1) Add an Employee m2m field on project next to 'Invited Employees'
    - only visible if the 'Invited Employees' option is selected
    - the project should only be visible to employees selected there (regardless if they
      are followers or not)
2) Add an Employee m2m field on tasks below the 'Email cc' one in debug mode
    - only visible if the 'Invited Employees' option is selected on the related project
    - should be pre-filled with what is set on the project
    - the task should be visible to employees selected there (regardless if they are
      followers or not)
3) Add a Portal users m2m field on project next to 'Portal users and all employees'
    - only visible if the 'Portal users and all employees' option is selected
    - the project should only be visible to portal users selected there (regardless if
      they are followers or not)
    - rename the option into 'Invited portal users and all employees'
4) Add a Portal users m2m field on tasks below the 'Email cc' one in debug mode
    - only visible if the 'Portal users and all employees' option is selected
    - should be pre-filled with what is set on the project
    - the task should be visible to portal users selected there (regardless if they are
      followers or not)
5) Following a project/task should not grant the user/employee the ability to see the
   project/task

Task 2031527

closes odoo/odoo#40505

Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-01-14 16:26:32 +00:00
Yannick Tivisse 1bf2bfd2a1 [IMP] hr_timesheet: Small cleaning and linting 2019-12-19 17:21:17 +01:00
Xavier Bol (xbo) c9da157149 [IMP] hr_timesheet: add timer into list and kanban views for timesheets
TaskID: 2088586

Timer in the list and kanban views :
----------------------------------
In kanban and list views, It's possible to update the 'unit_amount'
field with a timer. The user can easily launch the timer in these views
for one of his timesheets.
One timesheet can be launched at the same time, when the user start a
timer for a timesheet and start another timer for another timesheet, the
first timer stop and the new timer start.

The timer is usable only if the encoding unit is 'Hours' and the
timesheet is not validated. To do this : a new computed field 'display_timer'
is created in account.analytic.line, this field is set to True is the
encoding unit is 'Hours'. With this field, we can easily hide and display
the timer in different views.

The user can only use the timer for his timesheets. Because the user
with the access rights to see all timesheets might launch and/or stop a timer of a
timesheet of other user. That is the timer must be accessed only in 'My Timesheets' menu.

Add pivot view for 'All timesheets' menu.

Creation a timer_mixin :
----------------------
With this timer mixin, we can have a generic timer to use in other
models that they need to use a timer like account.analytic.line and
project.task models
The timer in account.analytic.line model has changed to use the timer
mixin.

Specific behaviour of the timer :
-------------------------------
When the user use the timer and the minutes spent with the timer is less
than 1 minute, we don't add in unit_amount of timesheet. If the
unit_amount is equals to 0 and minutes spent of timer is less than 0.
Then the timesheet created by the timer is deleted because it is useless to
have a timesheet with unit_amount set on 0.

Misc :
----
Add some styles for the timer button and for the 'unit_amount' field when the
timer is running.

remove duplicated fields in tree view (record
id='timesheet_view_tree_user')
2019-12-19 10:20:27 +01:00
Xavier Bol (xbo) 2f20b9437a [IMP] hr_timesheet: Improve access rights
TaskID: 2088586

The low level access right is now "See my timesheets".
This access disallow to a user to view and manage the timesheets of others users.

When the visibility of a project is set on "Invited employees",
the users with the access rules : 'See my timesheet' and
'See all timesheets' can show the timesheets, if these users
follow the project.
2019-12-19 10:20:27 +01:00
Priyanka Kakadiya 562997b2bc [IMP] hr_timesheet: remove timesheet rule and access right for portal
Purpose of the commit is to clean the current portal right of
timesheet(analytic account line) and analytic account(no more ir.rule).

the idea is to remove ir.rule since the domain will be difficult with ir.rule
extension mecanism. Moreover, as this is "technical" data, we will use 'sudo' controller.
as we don't want to customize what is shown in portal.
End user is free to create its own ir.rule to connect odoo in xmlrpc
he will be the only responsible for that.

task-1932488
2019-06-14 04:49:21 +00:00
jem-odoo db92ca5fce [IMP] project,hr_timesheet: move analytic account business to project
When we remove the inheritS between project and analytic account, we move the
analytic_accound_id field in timesheet because it was the only use case for
a project to be linked to an analytic account.
This commit prepares new cost origin for a project (other that timesheet).
Register costs on project will required an analytic account to keep analytic
costs tracking. The analytic account management is now moved to project, like
it was in 10.0, but without the inheritS.

Task-1911581
2019-05-24 09:20:06 +00:00
jbm-odoo ec07e72845 [IMP] base,*: Reorganize access rights groups
Purpose
=======

Access group terminology is missleading. Yous have to be manager to administrate
an application. This task consists to rename groups to be understandable for everyone.

Groups should be reorganised on the users form to be more explicit.

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

1/ Rename 'Manager' to 'Administrator' in users groups.
2/ Define a hierarchy on access groups by using the category_id in the manifests
   A category 'Operations/Project' will create a category Project with a parent
   category 'Operations', and something smart is already developed (in modules/db.py)
   to avoid duplicating categories.
3/ Add a group in expenses to be able to approve expenses reports for my team.
4/ Add a group in timesheets to be able to approve timesheets for my team.
5/ Remove partially the useless crap in ir_module_category_data.xml
6/ Sort access rights groups on users form according to its parent category

closes odoo/odoo#29362

Signed-off-by: "Yannick Tivisse (yti)" <yti@odoo.com>
2019-03-05 09:08:12 +00:00
Raphael Collet 2f7c03d9ca [IMP] base: add regular user admin as uid 2
User 1 simply becomes a technical user (inactive, no password).
2018-08-23 21:38:57 +02:00
jem-odoo 6b4062ea63 [IMP] project,hr_timesheet: module dependencies
For historical reason, project depended on product. Probably to use
UoM. Now, UoM is extracted in 'uom' module, and project does not
use UoM anymore (only with timesheet). Removing the 'product'
dependency requires to make hr_timesheet depending of uom, since
this one really use UoM mecanism.

Task #39079
2018-08-13 14:33:48 +02:00
jem-odoo 3dd3e26483 [IMP] project: a project is not an analytic account anymore !
This commit removes the inheritS between account.analytic.account and
project.project. This means :
- When a project is created, an analytic account is not necessarily
genareted
- project has now its own name, company_id and partner_id fields
- an analytic account can be linked to several project
- project module does not depend anymore of analytic, but hr_timesheet
does.

This change implied
- an analytic account is required on project to timesheet on
its tasks. So, when checking 'allow_timsheets', if an AA is not
provided at project creation, an AA will be generated.
- to timesheet on project, an active AA is required. We don't want
timesheeting on project linked to unused AA to avoid bad analytic
entries.

This prepare the fact a sale order can create multiple project, sharing
the same analytic account (the one from the SO).
2018-04-06 14:30:47 +02:00
XavierDo 2966d4faed [IMP] product: rename product.uom into uom.uom
Also rename product.uom.categ into uom.category to
 give it a decent name.
2018-02-26 14:27:26 +01:00
XavierDo 6a378e3839 [IMP] product: move uom in a new addon
Moves UoM models, test and data to a new addon in
order to be able to use uom without product.
A simple example is be to be able to use UoM for
timesheets.

This commit only move code, and adapt xml ids
without chaging any feature or functionnal
behavior.
Note: 'product' module now depends on new
'uom' module.
2018-02-26 14:27:26 +01:00
Nicolas Martinelli fdb585caf5 [FIX] hr_timesheet: access to analytic lines
- Create an invoice with an analytic account on a line
- Validate it

A read access error occurs.

The rule is too restrictive: reading should be allowed for users.

opw-805533
2018-01-19 10:31:45 +01:00
Christophe Simonis d5382abeaa [MERGE] forward port branch saas-17 up to b8dd34fcbb 2017-09-06 17:40:59 +02:00
Denis Ledoux cdbe2f0ed4 [FIX] hr_timesheet: security, do not require all timesheets user to be HR officer.
Regular employees are added to the timesheets user group
so they can access to the Timesheets modules.

Requiring timesheets users to be HR Officer would almost mean to
require all employees to be HR officer, which is not the case.

The above is the result of the revision
a806f96fa2

Before, the timesheets user group was the
timesheets officer group, and it was the only
group for the module timesheets. There
were no timesheets manager or user group.
This group implied the HR Officer groups,
but it made sense as it was the Timesheets
Officer group.

Now that it is the timesheets user group,
it doesn't make sense to imply
the HR Officer group.
2017-09-01 11:39:17 +02:00
Jérome Maes 71d56cc398 [REM] website_project_timesheet: move to hr_timesheet
Since project depends on portal, this module can be removed.
2017-08-16 14:56:42 +02:00
Jérome Maes a806f96fa2 [IMP] hr_timesheet: ease time tracking use of timesheets
Purpose of timesheet module is to track user time. This commit applies
various improvements and tweaking to better reflect this purpose.

This commit provides some UI improvements

 * improve views : user_id field is not displayed on 'My Timesheet'
   action, since it will always be the same user;
 * simplify menus : 'My timesheet' only for current user's timesheets
   and 'All timesheet' for everyone's. The latter one allows creating
   timesheets for someone else, if you have the required access rights;
 * add calendar views for timesheets
 * some filters are added to ease time-based filtering of timesheets

This commit also reorganizes user groups. Groups are now

 * new 'timesheet user' group (different from base.group_employee). Users
   can record their own timesheet. New access rights were added to perform
   the same operations as before.
 * 'timesheet manager' (hr_timesheet.group_manager). Users can record
   timesheets for other users, access to settings and reporting tools.
2017-04-27 10:34:51 +02:00
Christophe Simonis f308b09a9a [MERGE] forward port branch saas-13 up to 856476d 2016-09-22 15:27:35 +02:00
Yannick Tivisse a090cbea73 [FIX] hr_timesheet: merge hr_timesheet Officer and Manager access right
There's no real difference between the 2 access rights
2016-09-22 14:42:06 +02:00
Foram Shah 9b589ad8c5 [REM] hr_timesheet: removed invoicing dependency from timesheet 2016-09-16 14:46:40 +02:00
Yannick Tivisse 7fa2691175 [IMP] hr_*: Split the HR access rights by application
PURPOSE
=======

For each and every Hr application there should be one user category (One app = one category).

SPECIFICATION
=============

HR remains as it is : Employee, Officer, Manager

Each Application should have 2 access rights: User and Manager. Example for Recruitment:
- The user has access to the recruitment process
- The manager has access to the job position configuration

Each Application should grant the employee user access right (Namely the 'HR Officer')
2016-09-06 14:35:09 +02:00
Martin Trigaux 11812b0b9e [FIX] all: remove external ids fakely from base
Several modules defines records with the external ID `base.foo_bar` while it is
created inside this module (typically menus and groups).
While there is no technical reasons to do so but this may introduce issues:

- these records will not be deleted during uninstall
- if a language is loaded before the installation of the module, it won't be
  translated

The uninstallation will only remove the records with an external id linked to
this module (these would only be removed when removing base).

Installing a language before the module will drop the translations not linked
to an existing external id (as it can not be resolved).

This commit correct all the external ids tagged as from base or other incorrect
modules.
2016-09-02 16:14:26 +02:00
Xavier Morel 037e61af32 [REM] hr_timesheet: hr.timesheet.report
* removed hr.timesheet.report as it's mostly redundant with regular
  views on analytic lines
* moved "detailed activities" to reporting, renamed it, added a pivot
  view
* redirected timesheet link from HR dashboard to the detailed activities
  action

  - added department_id to analytic lines as that link is filtered by
    department
  - fixed bug in kanban view: button context wasn't evaluated in the
    correct context
2016-05-02 19:20:14 +02:00
Tanguy Charlier 16bf40f7c4 [IMP] hr_timesheet: Timesheet entries are now related to projects
- Hide account_id field and add a required project_id field on timesheet entries
- Remove is_timesheet field: as project_id is only required for timesheet entries and not for other analytic lines, it can be used to determine wether a line is a timeheet entry or not.
- Remove project_timesheet module as all its functionalities are moved to hr_timesheet
- Replace timesheets on contract option on products by timesheets on project
- Small fixes and improvements in timesheets and projects views and groups
2016-02-18 01:25:55 +01:00
Nicolas Martinelli e021a08b30 [IMP] hr*: adaptation due to the new Sale module
Major changes:
- No use of UoS anymore
- No journal since invoicing is managed in Sale
- No invoicing from timesheet

Reason: complete rewrite of the Sale module.

Responsible: fp, dbo, nim
2015-08-27 18:10:18 +02:00
qdp-odoo c04065abd8 [IMP] accounting v9. Yeeeeaah 2015-05-05 17:28:04 +02:00
odoo-tac 14183ba2be [REF] Refactored hr_timesheet: Refactored the "timesheet" model in several modules. hr.analytic.timesheet is removed, and account.analytic.line is used directly to represent timesheets.
Also removed worklogs on tasks and replaced them by generic timesheets, i.e. account.analytic.line(s)
2015-04-28 10:31:18 +02:00
Christophe Simonis d64fe8279b [MERGE] forward port of branch 8.0 up to c92e70b 2014-11-17 17:31:12 +01:00
Martin Trigaux ef55d19e34 [FIX] hr_timehseet: restrict access right
Fix error while moving it at ca209eb
2014-11-13 11:26:44 +01:00
Rucha Dave ca209eb184 [FIX] hr_timesheet(_sheet): access rights on report
hr.timesheet.report was moved from hr_timesheet_sheet to hr_timesheet but not the ir.model.access
Avoid warning "The model hr.timesheet.report has no access rules, consider adding one."
Fixes #3319
2014-11-13 11:03:22 +01:00
cod-odoo a301b4c7fc [MOVE] account: moved account/project files to analytic or account, depending on which module the moved code belongs to. This allows to remove references to project in account module. Also added some improvements in project when deleting a project (delete account if void) or when deleting an account (delete project if void). 2014-08-04 13:23:46 +02:00
Xavier Morel 7a2d912964 [REM] bunch of nonsensical @model + @ref
bzr revid: xmo@openerp.com-20130429124333-p1h11fpy04y3sljy
2013-04-29 14:43:33 +02:00
Olivier Dony 3fe6987ce7 [MERGE] Harmonization of noupdate flag on security XML data, courtesy of Alexis de Lattre (Akretion)
ir.rule records are in noupdate data blocks to let the admin
alter them without fear of them being reset at next update.
Other records such as groups are in normal mode, so they
can be updated whenever necessary

bzr revid: odo@openerp.com-20121218232001-t425t4hi7qbmsip2
2012-12-19 00:20:01 +01:00
Denis Ledoux dle@openerp.com 7e1ffaf613 [REM]Remove all account.journal.view and account.journal.column references
bzr revid: dle@openerp.com-20121122104504-ezgj2666zkhgybpj
2012-11-22 11:45:04 +01:00
Alexis de Lattre 5101771cd9 Harmonize the noupdate flag on security XML files :
- ir.rule objects are noupdate="1"
- all other objects are noupdate="0"

bzr revid: alexis@via.ecp.fr-20120713170838-pjsysliyt6twazrc
2012-07-13 19:08:38 +02:00
Amit (OpenERP) 7cc6d92d16 [FIX] hr_timesheet : user allow to delete his own timesheet line
lp bug: https://launchpad.net/bugs/939294 fixed

bzr revid: amp@tinyerp.com-20120430100828-fxpbkij4igmi36io
2012-04-30 15:38:28 +05:30
Fabien Pinckaers f27318c8af [IMP] Security Rule: removed duplicates due to inheritancies of groups
bzr revid: fp@tinyerp.com-20111212181113-mhnnbps3ip8ls6pp
2011-12-12 19:11:13 +01:00
Ujjvala Collins (OpenERP) 060b488478 [FIX] hr_xxx: Improved record rules for HR Officer to give him rights to see timesheet, attendance, expense and holidays of other users.
lp bug: https://launchpad.net/bugs/856422 fixed

bzr revid: uco@tinyerp.com-20110929092802-ohpa8xt6at02h449
2011-09-29 14:58:02 +05:30
Fabien Pinckaers 696b7100be fix
bzr revid: fp@tinyerp.com-20110917145407-qp45yk4ma7mo6pp3
2011-09-17 16:54:07 +02:00
Hardik Ansodariy (OpenERP) 2296b52568 [IMP]:improved hr module
bzr revid: han@tinyerp.com-20110711112329-72h3rbgs0n06pzs1
2011-07-11 16:53:29 +05:30
mtr eee73abb9d [FIX] hr_timesheet: changed the access rights for analytic journal user,employee can now encode his timesheet
lp bug: https://launchpad.net/bugs/767153 fixed

bzr revid: mtr@mtr-20110608133439-mx2v1fod5jczpamf
2011-06-08 19:04:39 +05:30
ARA (OpenERP) bbdec831a7 [FIX] hr_timesheet: An employee cannot encode his own timesheet
lp bug: https://launchpad.net/bugs/767153 fixed

bzr revid: ara@tinyerp.com-20110517054158-83r20bep8hnhqaek
2011-05-17 11:11:58 +05:30
ARA (OpenERP) 53ea40d8e9 [FIX] hr_timesheet:an employee shouldn't be able to see all timesheet line
lp bug: https://launchpad.net/bugs/755659 fixed

bzr revid: ara@tinyerp.com-20110411070035-rmd3l2a1g3zdfomt
2011-04-11 12:30:35 +05:30
François Degrave fb250aaa6a [IMP] HR access rights
bzr revid: fde@openerp.com-20101229130758-hs1xxnj8zm45fl6c
2010-12-29 14:07:58 +01:00
Harry (OpenERP) 20ab1d1df4 [FIX] account: security
bzr revid: hmo@tinyerp.com-20101229085716-y13ctpn3ptenrfl0
2010-12-29 14:27:16 +05:30
AMP (OpenERP) 92c78d14e6 [MOD/IMP] hr_* : hr,hr_attendance,hr_contract,hr_expence,hr_timesheet,hr_timesheet_invoice,hr_timesheet_sheet Usability improvement in access rights
bzr revid: amp@tinyerp.com-20101007094729-1sdtsxube9ti5lw2
2010-10-07 15:17:29 +05:30
AMP (OpenERP) 6c8bc73943 [MOD/IMP]hr_*: usability improvement in access rights
bzr revid: amp@tinyerp.com-20100920102935-xuwe0m1it6foy5wh
2010-09-20 15:59:35 +05:30