Commit Graph
152 Commits
Author SHA1 Message Date
Romeo Fragomeli 1fcd098af5 [REF] *: BS5: migration
Automated change made by a lot of RegEx to change all think that is
possible to automate.

https://getbootstrap.com/docs/5.1/migration

Task ID: 2766483

Part-of: odoo/odoo#95450
2022-07-07 13:30:24 +02:00
Romeo Fragomeli 9b5c9484fe [REF] *: BS5: adapt changes in media query mixin
> Media query mixins parameters have changed for a more logical approach

> media-breakpoint-down() uses the breakpoint itself instead of the next
> breakpoint (e.g., media-breakpoint-down(lg) instead of
> media-breakpoint-down(md) targets viewports smaller than lg).
> Similarly, the second parameter in media-breakpoint-between() also
> uses the breakpoint itself instead of the next breakpoint (e.g.,
> media-between(sm, lg) instead of media-breakpoint-between(sm, md)
> targets viewports between sm and lg).

https://getbootstrap.com/docs/5.1/migration/#sass

Task ID: 2766483

Part-of: odoo/odoo#95450
2022-07-07 13:30:24 +02:00
stefanorigano (SRI) 457f1400a2 [IMP] hr_attendance: improve 'check-in/out' buttons design
Part of the overall v16 SCSS optimization/restyle, task-2704984.

task-2852148

closes odoo/odoo#91364

Related: odoo/enterprise#27333
Signed-off-by: Pierre Paridans (app) <app@odoo.com>
2022-06-09 14:17:45 +02:00
stefanorigano (SRI) 7d08bc4b09 [IMP] hr_attendance: review and simplify scss
Part of the overall v16 SCSS optimization/restyle, task-2704984.

task-2852148

Part-of: odoo/odoo#91364
2022-06-09 14:17:45 +02:00
Géry Debongnie 8313a66a52 [REF] *: remove some kanbanrecord .includes
The kanban view was recently improved to add the support of 'action' and
'type' attributes on the kanban arch.  This commit takes advantage of
that change to simplify a few views in various addons.

Part-of: odoo/odoo#92071
2022-05-25 20:31:41 +02:00
Géry Debongnie b828cfc72c [REF] web, *: improve the way views are defined, reintroduce controllers
Earlier in Odoo, JS views were defined by defining 4 elements: View,
Controller, Model, Renderer.  This was complex in some way, because we
wanted to inherit behaviour as well, so it was necessary to think along
multiple dimensions to understand how the code was running.

Then, with Owl, we rewrote some views, and simplified them: views were
now just a Component. Most of the common behaviour now came from the
generic View component that instantiated the concrete view with the
proper informations.  In practice, views were still split in views
(which was the equivalent of the Controller of earlier views), Model and
Renderer

Now, this commit reintroduce the Controller, and change the way views
are defined: by an object with multiple metadata, and an (optional)
props function to compute the actual props used by the view.

As a result, views are now much easier to extend/modify.

closes odoo/odoo#89889

Related: odoo/enterprise#26728
Signed-off-by: Géry Debongnie <ged@odoo.com>
2022-05-02 22:38:02 +02:00
William Braeckman 2908dce350 [IMP] hr_attendance: make use of new pivot/graph feature
Changes the previous attendance report override to use the new function
instead.

TaskId-2764844

closes odoo/odoo#85404

Related: odoo/enterprise#24765
Signed-off-by: Kevin Baptiste <kba@odoo.com>
2022-03-14 17:28:13 +00:00
William Braeckman ee82585b4f [IMP] hr_attendance: enable back linking in report pivot
This commit makes it possible again to click on a pivot cell to check
where the data comes from.

TaskId-2760356

closes odoo/odoo#84252

Signed-off-by: Kevin Baptiste <kba@odoo.com>
2022-02-16 15:59:59 +00:00
Audric Onockx (auon) da46de79bf [FIX] hr_attendance : stop polling when kiosk_mode
Steps :
- Attendances > Kiosk Mode
- Log in or out several times

Issue :
- Interface slows down

Cause :
- When a kiosk is destroyed, poll is started
- Yet each time a kiosk is started, the old kiosk is destroyed, which starts a new poll.

Fix :
- Given that the kiosk mode can't be escaped from the interface,
	it is not necessary to restart polling when destroying.

opw-2735324

closes odoo/odoo#83517

X-original-commit: b3e9b4b17a4b444372fe24f07ad3c947fba540fb
Signed-off-by: Kevin Baptiste <kba@odoo.com>
2022-01-31 08:14:50 +00:00
Audric Onockx (auon) 24b30f34ca [FIX] hr_attendance : display proportionned logo in kiosk mode
Steps :
- Upload logo of company
- Attendance > Kiosk mode

Issue :
- Logo is distorded

Cause :
- width is set, but not height

Fix :
- height : auto to adjust height to width.

opw-2739471

closes odoo/odoo#83243

X-original-commit: 38ecea374328dfb1601287ce446bfb996095b197
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2022-01-24 12:02:48 +00:00
Kevin Baptiste 84e6fa1c77 [FIX] hr_attendance: disable notifications in Kiosk
No notifications should be received whilst in Kiosk Mode.

closes odoo/odoo#81694

Taskid: 2704624
X-original-commit: 202a5a075b90a564d37c68d2f21f9c1edd8a7caf
Signed-off-by: Kevin Baptiste <kba@odoo.com>
2021-12-21 07:17:57 +00:00
Kevin Baptiste f63a0d3d5f [FIX] hr_attendance: use correct company in Kiosk mode
A wrong company was used in the Kiosk mode, preventing users to check in
/ out.

closes odoo/odoo#80035

Taskid: 2691031
X-original-commit: ed3003c9d8ce11a8f59966d28371883df5eb9c36
Signed-off-by: Kevin Baptiste <kba@odoo.com>
2021-11-18 18:45:19 +00:00
William Braeckman 93cd3d295f [IMP] hr_attendance: improve overtime display on attendance closing
Improves on the display when closing an attendance to display today's
overtime aswell as the total overtime the employee has.

Also small cleanup, remove unused variable.

TaskId-2655689

closes odoo/odoo#77841

Signed-off-by: Kevin Baptiste <kba@odoo.com>
2021-10-26 14:10:56 +00:00
William Braeckman 7f60ed43af [FIX] hr_attendance: fix missing context in kiosk mode
The context was missing from multiple RPC calls in the attendance's
kiosk modes resulting in the wrong employee being fetched for the
attendnace creation, all RPC calls related to attendances are now given
the context explicitely.

TaskId-2660772

closes odoo/odoo#77750

X-original-commit: 26c5e25481d93e5f9db6c4becefc4f17d3974eaf
Signed-off-by: Kevin Baptiste <kba@odoo.com>
Signed-off-by: William Braeckman (wbr) <Williambraecky@users.noreply.github.com>
2021-10-04 17:26:49 +00:00
Wolfgang Taferner e8f8939db7 [FIX] hr_attendance: wrong model for loading employee image
closes odoo/odoo#75488

X-original-commit: b2ccb469622e2fef776b21149ff2f253c1cccca1
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Signed-off-by: Wolfgang Taferner <wtaferner@users.noreply.github.com>
2021-08-23 16:49:10 +00:00
Kevin Baptiste 9e6d2da504 [IMP] hr_attendance: compute overtime on attendances
This commit adds a new model `hr.attendance.overtime`.

When an employee checks out, an overtime entry will be created when:
    - the option is enabled on the company;
    - the employee worked more or less than the number of hours they
    were supposed to work that day.

TaskID: 1904850
2021-07-06 11:35:01 +02:00
Leonardo Pavan Rocha c53724ebc3 [IMP] *: adds generic user avatar
Description of the issue/feature this PR addresses:
It is currently quite difficult to differentiate users. Most of the time, people
don't take the time to upload an actual avatar so everybody looks the same. This
PR generates a custom avatar with the users initials and random color to
differentiate them. For res.users, res.partner and hr.employee, image fields now
hold the binary image and avatar are used to show the image or svg.

Current behavior before PR:
Avatar had only random colors and was being saved in database, being inefficient

Desired behavior after PR is merged:
A new mixin defines image fields and in case no image is set, it generates an
SVG image with the user's initials and random color.

closes odoo/odoo#69819

Task: 2404630
Related: odoo/enterprise#18199
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2021-06-01 14:36:23 +00:00
Sébastien Theys c6716847aa [IMP] web, *: clean up notification API
task-2476867

closes odoo/odoo#67009

Related: odoo/enterprise#16760
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2021-05-27 13:47:23 +00:00
shivam shah f0868efc23 [FIX] hr_attendance: Fix barcode image path in kiosk mode
Currently, when we open kiosk mode in attendance then the barcode
image is broken in community due to wrong img path.

So in this commit, Fix the barcode image as path to display
barcode image properly.

closes odoo/odoo#56868

Taskid: 2327526
X-original-commit: 4bfe8136f7cec853c1339c6d27754b8f1bc1c72d
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-09-01 11:17:33 +00:00
Kevin Baptiste d24de2554e [IMP] hr,hr_attendance,hr_contract,hr_holidays,hr_presence: update employees presence icons
Make the employee presence icons more descriptive.
Allow to quickly filter the Presence Reports based on the user status.

closes odoo/odoo#54527

Taskid: 2246447
Related: odoo/upgrade#1488
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-08-05 12:22:29 +00:00
jbm-odoo a9a64ffc0c [FIX] hr_attendance: Kiosk mode
After #56a8c9e4311d24c33b7ad08b8230e4be345a85b8 we check access rights in function fields_view_get,
so a user with only 'Kiosk Attendance' right can't see public
employee profile.

After this commit:
In attendance application, we always show public employee profile
as it not usefull to show more information in this application.

closes odoo/odoo#55341

Taskid: 2298803
X-original-commit: 1fbb8f1ebcb805317b93e0b4ea363aaec8e3e36e
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-08-03 15:11:54 +00:00
Martin Trigaux 88786d6123 [FIX] hr_attendance: format hour according to locale
The time to display the check in/check out time was hardcoded to
HH:mm:ss while other locales may use different formats.
Use the appropriate time utils to retrieve the right format that uses
the time format from the res.lang record.

Fixes odoo/odoo#50527

closes odoo/odoo#54079

X-original-commit: 47707e1b099195487fd3d3e0ae012e4aed5a9bc5
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2020-07-03 17:12:14 +00:00
Romain Estievenart bd09d2acfb [IMP] hr_attendance, barcodes: extract barcode.png to barcodes
It's now possible to use this image in all modules that depend on
barcodes.

Task ID: 2210396
2020-07-01 09:28:45 +00:00
Romain Estievenart 80bdbfda62 [IMP] hr_attendance: uniformize barcode screen UI
The main goal of this commit is to apply the same style used by
event_barcode.

Task ID: 2210396
2020-07-01 09:28:37 +00:00
Kevin Baptiste 6cbe824871 [REV] web: reverts update to fontawesome 5.11.2
This reverts commit ff1c35513a.

closes odoo/odoo#41480

X-original-commit: 116057b26e71db4692280463669f3e80d813ddcc
Related: odoo/enterprise#7110
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-12-09 10:33:36 +00:00
Kevin Baptiste ff1c35513a [IMP] web: update to fontawesome 4.7.0 to 5.11.2
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-11-28 10:05:12 +00:00
Nicolas Martinelli e42aa1e344 [FIX] hr_attendance: do not allow grouping
The user for the kiosk mode must have access to personal information of
the employees. To avoid easily leaking information, prevent grouping.

Fixes #34231
opw-2079330

closes odoo/odoo#38120

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-10-08 08:13:21 +00:00
Sapan Zaveri dafb128c14 [IMP] hr, hr_attendance: badge creation and few usability improvement
hr:
-rename btn 'generate badge ID' to 'generate'
-When the badge ID is set, replace the button Generate by "Print Badge"

hr_attendance:
-Rename menu 'Manage Attendances' to "Manager"
-Add a column "Work Hours" to attendee tree view
-Add a <br> after "Welcome to"
-add class text-muted on "or"
-remove class "text-muted" on "scan your badge
-Rename the primary btn into "Identify Manually"

Task-2040884
Closes: #35473

Signed-off-by: Romain Libert (rli) <rli@odoo.com>
2019-08-09 08:36:52 +00:00
Sébastien Theys 58a2ffa26f [IMP] *: rename image fields
image_original => image_1920 (now resized to 1920)
image_big => image_1024
image_large => image_256
image_medium => image_128
image_small  => image_64
image replaced by image_1920 (when writing) or by image_1024 (when displaying
	what was previously the big size)

+ add new intermediate format:
image_512

PR: #34925
2019-08-02 16:47:58 +00:00
Kevin Baptiste e9d9898276 [IMP] hr: Review the UX for 'My Profile' view
1/ web: adapt formatDate to handle NaN values
DashboardRenderer might return NaN for `Date` or `DateTime` fields if
their original value is null or incorrect.

2/ hr: add job_title in demo data

3/ hr_recruitment: link employee in the chatter for new recruits

4/ hr: remove employee documents in the model

5/ hr_attendance: improve resiliency of relative_time

6/ hr: display manager on res_users

7/ hr: change Address Book to Employee Directory

TaskID: 2009111

closes odoo/odoo#34180

Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-07-18 10:27:50 +00:00
Lucas Lefèvre ee1776dc5f [IMP] hr_attendance: Display checked in hours today
Purpose
======
When an empoyee wants to check out, he does not know the number of hours he worked today.

Specification
==========
In the check out view, display how many hours the employee was checked in today.

closes odoo/odoo#33974

Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-06-26 06:52:31 +00:00
2a2f2cfec2 [REF] hr_attendance: adapt code after jQuery update
Part of task 1896658

Co-authored-by: Aaron Bohy <aab@odoo.com>
Co-authored-by: Christophe Matthieu <chm@odoo.com>
Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>
Co-authored-by: David Monjoie <dmo@odoo.com>
Co-authored-by: Martin Geubelle <mge@odoo.com>
Co-authored-by: svs-odoo <svs@odoo.com>
Co-authored-by: Vincent Schippefilt <vsc@odoo.com>
2019-03-06 20:07:17 +01:00
Christophe Simonis 1d2b6f1bef [MERGE] forward port branch 12.0 up to 84143a34b3 2019-02-21 15:37:19 +01:00
Nicolas Martinelli ad3207c1ff [FIX] hr_attendance: multiple clicks
- Have a slow network
- Click multiple times on the 'Check-in' button

Multiple attendances are created.

The view refactoring introduced in 9de1bc0eef changed the
element to a `<a>` tag, on which the `disabled` attribute has no effect.

We introduce a `debounce` instead.

opw-1941647

closes odoo/odoo#31178
2019-02-18 08:57:43 +00:00
Nicolas Martinelli 6da2e23e65 [FIX] hr_attendance: kiosk keep alive
When running in kiosk mode, it is necessary to refresh the interface
once a week since the session is garbage collected.

The garbage collection method `session_gc` relies on the last
modification time of the session file. However, the session file is only
saved when the field key `should_save` of the session request is `True`.
This happens when the session is `modified`, i.e. an item on the cookie
is set.

In practice, the session is saved at each reload of the page. Regular
RPC calls, such as the one used in commit 6e1b660f9c, do not
trigger a modification of the session file. Therefore, we create a new
route which explicitly sets the session as `modified`, which ultimately
triggers a `save` in `get_response`.

opw-1917254

closes odoo/odoo#29919
2019-01-04 09:56:55 +00:00
Christophe Simonis 8aa8548d8a [MERGE] forward port branch 12.0 up to 3e4138deaa
closes odoo/odoo#30045
2019-01-09 15:56:53 +00:00
b1ef0001f6 [REF] *: adapt all client actions
to ControlPanel/Search view refactoring.

The ControlPanel being now inside the DOM of client actions, those
existing widgets needed to be adapted (in the way they define if
and how they want a ControlPanel, and in the way the manipulate
their DOM as it slightly changed). Tests needed to be adapted as
well.

Part of task 1893568

Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>
Co-authored-by: Martin Geubelle <mge@odoo.com>
2018-12-07 13:16:07 +00:00
Nicolas Martinelli 6604f7aef1 [FIX] hr_attendance: multiple scans
- Open the Attendance kiosk mode
- Scan an incorrect barcode

It's not possible to scan any barcode anymore.

If the barcode is incorrect, we need to add back the event listener.
Moreover, the RPC introduced with bbc7e9586d is not necessary if
we retrieve the barcode thanks to the existing RPC call.

opw-1878632
opw-1888402

closes odoo/odoo#28354
2018-11-02 10:43:38 +00:00
David Beguin bbc7e9586d [FIX] hr_attendance : fix kiosk mode - js review
The main goal here is to avoid using a global variable.
The greeting message _onBarcodeScanned bus can be stoped right after
the barcode_scanned as every time a barcode is scanned, it creates
a new instance of the greeting message.

Some other JS guidelines are also applied here.

Special thanks to Martin Geubelle (@mge-odoo) for helping me on this.

[TEST] hr_attendance : add test for multiple quick scan in kiosk mode

Glorious thanks to @RomainLibert who fu**s off his brain to help me
understand what was really going on and how to simulate the
functional behaviour of Greeting Message kiosk stuff.

Task ID 1878251
Closes PR #27127
2018-09-21 13:59:05 +02:00
David Beguin b1251b40d5 [FIX] hr_attendance : fix kiosk mode quick multi scanning
Since the the commit that added the barcode listener in the
greeting_message view (aaff7d5d51),
if someone check in and check out and check in again quickly,
during the 5 seconds before the welcome view come back,
multiple rpc where made to call attendance_scan method,
resulting to create inconsistent records in the db.
Typically, a check in records could have been create before
the confirmation of last check out.

Here, we avoid scanning twice the same barcode, between welcome
and greeting message view but also inside the greeting message view
itself.

Employees are now able to check in or check out quickly. Obviously,
if the same employee wants to check in and check out within 5 sec,
he will need to wait the 5 seconds.

Task ID 1878251
Closes PR #27101
2018-09-20 10:09:02 +02:00
qsm-odoo 883da1d4d7 [FIX] hr_attendance: fix mistake in linear-gradient rule 2018-08-23 16:45:40 +02:00
sri-odoo 460e1a2ef4 [REF] hr_attendance: replace user's availability icon 2018-08-13 14:46:47 +02:00
qsm-odoo f7cee83cb8 [REF] *: BS4, 'center-block' -> 'd-block mx-auto' 2018-07-27 12:36:54 +02:00
qsm-odoo 443735949e [REF] *: BS4, replace img-rounded/img-circle classes
'img-rounded' -> 'rounded'
'img-circle' -> 'rounded-circle'
2018-07-27 12:36:54 +02:00
qsm-odoo ed1b18f103 [REF] *: BS4, adapt col-related classes
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 12:36:54 +02:00
qsm-odoo d8c217a67d [REF] *: BS4, review color system
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 12:36:54 +02:00
qsm-odoo de214e3742 [REF] *: BS4, 'img-responsive' -> 'img-fluid' 2018-07-27 12:36:54 +02:00
qsm-odoo 3467a90c00 [REF] *: BS4, the $text-color variable was renamed to $body-color 2018-07-27 12:36:54 +02:00
qsm-odoo 4ac446e328 [REF] *: BS4, adapt font-size and padding variables
BS variables were renamed or changed and all (most) variables now
use 'rem' units instead of 'px' unit.
2018-07-27 12:36:54 +02:00
qsm-odoo c59380bac5 [REF] *: BS4, rename btn-default to btn-secondary
BS4 "btn-default" class was replaced with "btn-secondary", which makes
more sense.
2018-07-27 12:36:54 +02:00