Permalink
Browse files

Merge remote-tracking branch 'upstream/12.0' into 12.0-port-ir_attach…

…ment_s3
  • Loading branch information...
RafiZz committed Dec 6, 2018
2 parents 58d98c4 + 65ab335 commit 22e1174b9f95f1b68b8ea6f4be9cd6cc7281e06d
Showing with 608 additions and 734 deletions.
  1. +2 −0 auth_signup_confirmation/static/description/index.html
  2. +2 −0 auth_signup_confirmation_crm/static/description/index.html
  3. +3 −2 autostaging_base/static/description/index.html
  4. +2 −0 autostaging_project_task/static/description/index.html
  5. +53 −0 barcode_widget/static/description/index.html
  6. +8 −4 base_attendance/README.rst
  7. +3 −3 base_attendance/__manifest__.py
  8. +1 −5 base_attendance/models/res_attendance.py
  9. +4 −2 base_attendance/static/description/index.html
  10. +3 −2 base_attendance/static/src/js/greeting_message.js
  11. +2 −2 base_attendance/static/src/js/kiosk_confirm.js
  12. +3 −2 base_attendance/static/src/js/kiosk_mode.js
  13. +2 −2 base_attendance/static/src/js/presence_widgets.js
  14. +1 −1 base_attendance/static/src/js/res_partner_kanban_view_handler.js
  15. +22 −23 base_attendance/static/src/{less/hr_attendance.less → scss/hr_attendance.scss}
  16. +1 −1 base_attendance/tests/test_hr_attendance_constraints.py
  17. +1 −1 base_attendance/tests/test_hr_attendance_process.py
  18. +1 −4 base_attendance/tests/test_kiosk_tour.py
  19. +37 −37 base_attendance/views/res_attendance_view.xml
  20. +1 −1 base_attendance/views/web_asset_backend_template.xml
  21. +0 −39 base_groupby_extra/i18n/es_CR.po
  22. +0 −39 base_groupby_extra/i18n/fr.po
  23. +2 −0 base_import_map/static/description/index.html
  24. +2 −0 crm_next_action/static/description/index.html
  25. +25 −29 currency_rate_update/company.py
  26. +21 −31 currency_rate_update/currency_rate_update.py
  27. +2 −0 hr_public_holidays_ics_import/static/description/index.html
  28. +2 −0 invoice_sale_order_line_group/static/description/index.html
  29. +42 −81 ir_attachment_s3/i18n/es_CR.po
  30. +2 −0 ir_attachment_s3/static/description/index.html
  31. +1 −1 ir_attachment_url/__manifest__.py
  32. +5 −0 ir_attachment_url/doc/changelog.rst
  33. +40 −19 ir_attachment_url/models/image.py
  34. +3 −2 ir_attachment_url/models/ir_http.py
  35. +3 −1 ir_attachment_url/static/description/index.html
  36. +3 −3 ir_config_parameter_multi_company/README.rst
  37. +1 −1 ir_config_parameter_multi_company/__init__.py
  38. +2 −2 ir_config_parameter_multi_company/__manifest__.py
  39. +2 −2 ir_config_parameter_multi_company/doc/index.rst
  40. +2 −2 ir_config_parameter_multi_company/migrations/11.0.2.0.0/post-prepare-value-column.py
  41. +1 −1 ir_config_parameter_multi_company/models/ir_property.py
  42. +3 −1 ir_config_parameter_multi_company/static/description/index.html
  43. +1 −1 product_tags/__openerp__.py
  44. +8 −0 product_tags/doc/changelog.rst
  45. +14 −0 product_tags/doc/index.rst
  46. +3 −3 product_tags/product_view.xml
  47. BIN {web_debranding_support → product_tags}/static/description/icon.png
  48. +2 −0 project_gantt8/static/description/index.html
  49. +2 −0 project_task_order_kanban_state/static/description/index.html
  50. +54 −0 project_task_search_custom/static/description/index.html
  51. +2 −0 project_task_subtask/static/description/index.html
  52. +2 −0 project_timelog/static/description/index.html
  53. +2 −0 reminder_base/static/description/index.html
  54. +2 −0 reminder_crm_next_action/static/description/index.html
  55. +2 −0 reminder_crm_next_action_time/static/description/index.html
  56. +2 −0 reminder_hr_recruitment/static/description/index.html
  57. +2 −0 reminder_issue_deadline/static/description/index.html
  58. +2 −0 reminder_task_deadline/static/description/index.html
  59. +1 −0 requirements.txt
  60. +0 −89 sms_sg/i18n/es_CR.po
  61. +0 −89 sms_sg/i18n/fr.po
  62. +2 −0 theme_kit/static/description/index.html
  63. +12 −10 web_debranding/README.rst
  64. +1 −1 web_debranding/__manifest__.py
  65. +4 −0 web_debranding/data.xml
  66. +16 −0 web_debranding/models/mail_channel.py
  67. +3 −1 web_debranding/models/res_users.py
  68. +2 −4 web_debranding/static/src/js/bot.js
  69. +29 −26 web_debranding/static/src/js/native_notifications.js
  70. +9 −17 web_debranding/tests/test_developer_mode_menu_elements.py
  71. +0 −8 web_debranding/views.xml
  72. +0 −17 web_debranding_support/README.rst
  73. +0 −1 web_debranding_support/__init__.py
  74. +0 −14 web_debranding_support/__openerp__.py
  75. +0 −28 web_debranding_support/i18n/en.po
  76. +0 −27 web_debranding_support/i18n/web_debranding_support.pot
  77. 0 web_debranding_support/models.py
  78. +0 −13 web_debranding_support/views.xml
  79. +2 −0 web_gantt8/static/description/index.html
  80. +2 −0 web_preview/static/description/index.html
  81. +53 −0 web_sessions_management/static/description/index.html
  82. +3 −1 web_website/README.rst
  83. +2 −2 web_website/__manifest__.py
  84. +1 −1 web_website/demo/res_users_demo.xml
  85. +1 −0 web_website/models/test_website_dependent.py
  86. +1 −2 web_website/models/website_dependent_mixin.py
  87. +2 −0 web_website/static/description/index.html
  88. +37 −20 web_website/static/src/js/switch_website_menu.js
  89. +1 −1 web_website/static/src/js/tour.js
  90. +3 −3 web_website/static/src/xml/qweb.xml
  91. +3 −5 web_website/tests/test_ui.py
  92. +2 −4 web_website/tests/test_website_dependent.py
@@ -60,6 +60,8 @@ <h2>Need our service?</h2>
<ul>
<li><a href="mailto:apps@it-projects.info">apps@it-projects.info <i class="fa fa-envelope-o"></i></a></li>
<li><a href="https://www.it-projects.info/page/website.contactus " target="_blank">https://www.it-projects.info/page/website.contactus <i class="fa fa-list-alt"></i></a></li>
<li><a href="https://m.me/itprojectsllc" target="_blank">https://m.me/itprojectsllc <i class="fa fa-facebook-square"></i></a></li>
<li>skype@it-projects.info <i class="fa fa-skype"></i></li>
</ul>
</div>
</div>
@@ -28,6 +28,8 @@ <h2>Need our service?</h2>
<ul>
<li><a href="mailto:apps@it-projects.info">apps@it-projects.info <i class="fa fa-envelope-o"></i></a></li>
<li><a href="https://www.it-projects.info/page/website.contactus " target="_blank">https://www.it-projects.info/page/website.contactus <i class="fa fa-list-alt"></i></a></li>
<li><a href="https://m.me/itprojectsllc" target="_blank">https://m.me/itprojectsllc <i class="fa fa-facebook-square"></i></a></li>
<li>skype@it-projects.info <i class="fa fa-skype"></i></li>
</ul>
</div>
</div>
@@ -131,7 +131,7 @@ <h2>More information</h2>
</p>
</div>
</div>
</section>
</section>-->


<section class="oe_container">
@@ -143,9 +143,10 @@ <h2>Need our service?</h2>
<li><a href="mailto:apps@it-projects.info">apps@it-projects.info <i class="fa fa-envelope-o"></i></a></li>
<li><a href="https://www.it-projects.info/page/website.contactus " target="_blank">
https://www.it-projects.info/page/website.contactus <i class="fa fa-list-alt"></i></a></li>
<li><a href="https://m.me/itprojectsllc" target="_blank">https://m.me/itprojectsllc <i class="fa fa-facebook-square"></i></a></li>
<li>skype@it-projects.info <i class="fa fa-skype"></i></li>
</ul>
</div>
</div>
</section>

-->
@@ -53,6 +53,8 @@ <h2>Need our service?</h2>
<ul>
<li><a href="mailto:apps@it-projects.info">apps@it-projects.info <i class="fa fa-envelope-o"></i></a></li>
<li><a href="https://www.it-projects.info/page/website.contactus " target="_blank">https://www.it-projects.info/page/website.contactus <i class="fa fa-list-alt"></i></a></li>
<li><a href="https://m.me/itprojectsllc" target="_blank">https://m.me/itprojectsllc <i class="fa fa-facebook-square"></i></a></li>
<li>skype@it-projects.info <i class="fa fa-skype"></i></li>
</ul>
</div>
<div class="oe_span4">
@@ -39,3 +39,56 @@ <h3 class="oe_slogan">How to use it ?</h3>
</div>
</section>

<section class="oe_container">
<div class="oe_row oe_spaced">
<div class="oe_span8">
<h2>Need our service?</h2>
<p class="oe_mt32">Contact us by <a href="mailto:apps@it-projects.info">email</a> or fill out <a href="https://www.it-projects.info/page/website.contactus " target="_blank">request form</a></p>
<ul>
<li><a href="mailto:apps@it-projects.info">apps@it-projects.info <i class="fa fa-envelope-o"></i></a></li>
<li><a href="https://www.it-projects.info/page/website.contactus " target="_blank">https://www.it-projects.info/page/website.contactus <i class="fa fa-list-alt"></i></a></li>
<li><a href="https://m.me/itprojectsllc" target="_blank">https://m.me/itprojectsllc <i class="fa fa-facebook-square"></i></a></li>
<li>skype@it-projects.info <i class="fa fa-skype"></i></li>
</ul>
</div>
<div class="oe_span4">
<div class="stamp" style="width:200px;">
<div style="margin-top: 15px;
position: relative;
font-family:'Vollkorn', serif;
font-size: 16px;
line-height: 25px;
text-transform: uppercase;
font-weight: bold;
color: #75526b;
border: 3px dashed #75526b;
float: left;
padding: 4px 12px;
-webkit-transform: rotate(6deg);
-o-transform: rotate(6deg);
-moz-transform: rotate(6deg);
-ms-transform: rotate(6deg);">
Tested on Odoo<br/>12.0 community
</div>
<!--<div style="margin-top: 15px;
position: relative;
font-family:'Vollkorn', serif;
font-size: 16px;
line-height: 25px;
text-transform: uppercase;
font-weight: bold;
color: #75526b;
border: 3px dashed #75526b;
float: left;
padding: 4px 12px;
-webkit-transform: rotate(3deg);
-o-transform: rotate(3deg);
-moz-transform: rotate(3deg);
-ms-transform: rotate(3deg);">
Tested on Odoo<br/>12.0 enterprise
</div>-->
</div>
</div>
</div>
</section>

@@ -25,7 +25,9 @@ Maintainers
-----------
* `IT-Projects LLC <https://it-projects.info>`__

To get a guaranteed support you are kindly requested to purchase the module at `odoo apps store <https://apps.odoo.com/apps/modules/10.0/base_attendance/>`__.
To get a guaranteed support
you are kindly requested to purchase the module
at `odoo apps store <https://apps.odoo.com/apps/modules/12.0/base_attendance/>`__.

Thank you for understanding!

@@ -34,12 +36,14 @@ Maintainers
Further information
===================

Demo: http://runbot.it-projects.info/demo/misc-addons/10.0
Demo: http://runbot.it-projects.info/demo/pos-addons/12.0

HTML Description: https://apps.odoo.com/apps/modules/10.0/base_attendance/
HTML Description: https://apps.odoo.com/apps/modules/12.0/base_attendance/

Usage instructions: `<doc/index.rst>`_

Changelog: `<doc/changelog.rst>`_

Tested on Odoo 10.0 7a63d471edec45a106fef5f783aeb7eaf43447f6
Notifications on updates: `via Atom <https://github.com/it-projects-llc/pos-addons/commits/12.0/base_attendance.atom>`_, `by Email <https://blogtrottr.com/?subscribe=https://github.com/it-projects-llc/pos-addons/commits/12.0/base_attendance.atom>`_

Tested on Odoo 12.0 b0844a4882e7ed089a861da357fed96dfc4abe55
@@ -7,12 +7,12 @@
"category": "Extra Tools",
# "live_test_url": "",
"images": [],
"version": "11.0.1.0.0",
"version": "12.0.1.0.0",
"application": False,

"author": "IT-Projects LLC, Kolushov Alexandr",
"support": "apps@it-projects.info",
"website": "https://it-projects.info/team/KolushovAlexandr",
"website": "https://www.odoo.com/apps/modules/12.0/base_attendance/",
"license": "LGPL-3",
"price": 60.00,
"currency": "EUR",
@@ -34,6 +34,6 @@
'qweb': [
"static/src/xml/attendance.xml",
],
'installable': False,
'installable': True,
'auto_install': False,
}
@@ -2,10 +2,7 @@
# Copyright 2018 Kolushov Alexandr <https://it-projects.info/team/KolushovAlexandr>
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).

from datetime import datetime

from odoo import models, fields, api, exceptions, _
from odoo.tools import DEFAULT_SERVER_DATETIME_FORMAT


class HrAttendance(models.Model):
@@ -45,8 +42,7 @@ def name_get(self):
def _compute_worked_hours(self):
for attendance in self:
if attendance.check_out:
delta = datetime.strptime(attendance.check_out, DEFAULT_SERVER_DATETIME_FORMAT) - datetime.strptime(
attendance.check_in, DEFAULT_SERVER_DATETIME_FORMAT)
delta = attendance.check_out - attendance.check_in
attendance.worked_hours = delta.total_seconds() / 3600.0

@api.constrains('check_in', 'check_out')
@@ -46,6 +46,8 @@ <h2>Need our service?</h2>
<ul>
<li><a href="mailto:apps@it-projects.info">apps@it-projects.info <i class="fa fa-envelope-o"></i></a></li>
<li><a href="https://www.it-projects.info/page/website.contactus " target="_blank">https://www.it-projects.info/page/website.contactus <i class="fa fa-list-alt"></i></a></li>
<li><a href="https://m.me/itprojectsllc" target="_blank">https://m.me/itprojectsllc <i class="fa fa-facebook-square"></i></a></li>
<li>skype@it-projects.info <i class="fa fa-skype"></i></li>
</ul>
</div>
<div class="oe_span4">
@@ -65,7 +67,7 @@ <h2>Need our service?</h2>
-o-transform: rotate(-10deg);
-moz-transform: rotate(-10deg);
-ms-transform: rotate(-10deg);">
Tested on Odoo<br/>10.0 community
Tested on Odoo<br/>12.0 community
</div>
<!--<div style="margin-top: 15px;
position: relative;
@@ -82,7 +84,7 @@ <h2>Need our service?</h2>
-o-transform: rotate(0deg);
-moz-transform: rotate(0deg);
-ms-transform: rotate(0deg);">
Tested on Odoo<br/>10.0 enterprise
Tested on Odoo<br/>12.0 enterprise
</div>-->
</div>
</div>
@@ -4,12 +4,13 @@
odoo.define('base_attendance.greeting_message', function (require) {
"use strict";

var AbstractAction = require('web.AbstractAction');
var core = require('web.core');
var Widget = require('web.Widget');

var _t = core._t;


var GreetingMessage = Widget.extend({
var GreetingMessage = AbstractAction.extend({
template: 'BaseAttendanceGreetingMessage',

events: {
@@ -4,12 +4,12 @@
odoo.define('base_attendance.kiosk_confirm', function (require) {
"use strict";

var AbstractAction = require('web.AbstractAction');
var core = require('web.core');
var Widget = require('web.Widget');
var QWeb = core.qweb;


var KioskConfirm = Widget.extend({
var KioskConfirm = AbstractAction.extend({
events: {
"click .o_hr_attendance_back_button": function () {
this.do_action(this.next_action, {clear_breadcrumbs: true});
@@ -4,13 +4,14 @@
odoo.define('base_attendance.kiosk_mode', function (require) {
"use strict";

var AbstractAction = require('web.AbstractAction');
var ajax = require('web.ajax');
var core = require('web.core');
var Widget = require('web.Widget');
var Session = require('web.session');

var QWeb = core.qweb;

var KioskMode = Widget.extend({
var KioskMode = AbstractAction.extend({
events: {
"click .o_hr_attendance_button_partners": function(){
this.do_action('base_attendance.res_partner_action_kanban_view');
@@ -4,14 +4,14 @@
odoo.define('base_attendance.presence_widgets', function (require) {
"use strict";

var AbstractAction = require('web.AbstractAction');
var core = require('web.core');
var Widget = require('web.Widget');

var QWeb = core.qweb;
var _t = core._t;


var MyAttendances = Widget.extend({
var MyAttendances = AbstractAction.extend({
events: {
"click .o_hr_attendance_sign_in_out_icon": function() {
this.$('.o_hr_attendance_sign_in_out_icon').attr("disabled", "disabled");
@@ -10,7 +10,7 @@ KanbanRecord.include({

_openRecord: function () {
if (this.modelName === 'res.partner' && this.$el.parents('.o_res_partner_attendance_kanban').length) {
// needed to diffentiate : check in/out kanban view of employees <-> standard employee kanban view
// needed to diffentiate : check in/out kanban view of employees <-> standard employee kanban view
var action = {
type: 'ir.actions.client',
name: 'Confirm',
@@ -11,22 +11,21 @@
font-size: 1.2em;
margin-right: .3em;
display: inline-block;
color: @odoo-brand-secondary;

color: #f0eeee;
&.oe_hr_attendance_status_green {
color: @brand-success;
color: theme-color('success');
}
&.oe_hr_attendance_status_red {
color: @brand-danger;
color: theme-color('danger');
}
}

.o_form_view .oe_button_box .oe_stat_button .o_button_icon {
&.oe_hr_attendance_status_green {
color: @brand-success !important;
color: theme-color('success') !important;
}
&.oe_hr_attendance_status_red {
color: @brand-danger !important;
color: theme-color('danger') !important;
}
}

@@ -41,8 +40,8 @@
right: 0px;
top: 0px;
bottom: auto;
@media (min-width: @screen-xs-max) {

@include media-breakpoint-up(xs) {
transform: translate(50%, -50%);
}
}
@@ -71,16 +70,16 @@
background: white;
border: 1px solid #d5d5d5;
text-align: center;
margin: 5px 0px 5px 0px;
margin: 5px 0px 5px 0px;
}

.o_hr_attendance_kiosk_mode_container {
.o-flex-display();
.o-flex-flow(column, nowrap);
.o-justify-content(center);
.o-align-items(center);
display: flex;
flex-flow: column nowrap;
justify-content: flex-start;
align-items: center;

@media (min-width: @screen-xs-max) {
@include media-breakpoint-up(xs) {
background: url("../../../../web_enterprise/static/src/img/application-switcher-bg.jpg") no-repeat center center fixed;
background-size: cover;
position: absolute;
@@ -92,7 +91,7 @@
}

.o_hr_attendance_warning_message {
color: @brand-warning;
color: theme-color('warning');
}
.o_hr_attendance_random_message {
font-style: italic;
@@ -134,7 +133,7 @@
margin-bottom: 0;
}

@media (min-width: @screen-xs-max) {
@include media-breakpoint-up(xs) {
flex: 0 0 auto;
width: 550px;
border-radius: 10px;
@@ -152,7 +151,7 @@
top: 20px;
right: 20px;

@media (min-width: @screen-xs-max) {
@include media-breakpoint-up(xs) {
flex: 0 0 auto;
border-radius: 3px;
background-color: rgba(255,255,255,0.5);
@@ -161,12 +160,12 @@
}

.o_hr_attendance_message_container {
.o-flex-display();
.o-flex-flow(column, nowrap);
.o-justify-content(center);
.o-align-items(center);
display: flex;
flex-flow: column nowrap;
justify-content: flex-start;
align-items: center;

@media (min-width: @screen-xs-max) {
@include media-breakpoint-up(xs) {
background: url("../../../../web_enterprise/static/src/img/application-switcher-bg.jpg") no-repeat center center fixed;
background-size: cover;
position: absolute;
@@ -213,7 +212,7 @@
margin-bottom: 0;
}

@media (min-width: @screen-xs-max) {
@include media-breakpoint-up(xs) {
flex: 0 0 auto;
width: 550px;
border-radius: 10px;
Oops, something went wrong.

0 comments on commit 22e1174

Please sign in to comment.