diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
| commit | 3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch) | |
| tree | a44932296ef4a9b71d5f010906253d8c53727726 /addons/hr_recruitment/static/src | |
| parent | 0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff) | |
initial commit 2
Diffstat (limited to 'addons/hr_recruitment/static/src')
| -rw-r--r-- | addons/hr_recruitment/static/src/img/congratulations.png | bin | 0 -> 40574 bytes | |||
| -rw-r--r-- | addons/hr_recruitment/static/src/js/recruitment.js | 18 | ||||
| -rw-r--r-- | addons/hr_recruitment/static/src/js/tours/hr_recruitment.js | 103 | ||||
| -rw-r--r-- | addons/hr_recruitment/static/src/scss/hr_job.scss | 101 |
4 files changed, 222 insertions, 0 deletions
diff --git a/addons/hr_recruitment/static/src/img/congratulations.png b/addons/hr_recruitment/static/src/img/congratulations.png Binary files differnew file mode 100644 index 00000000..bcdd8875 --- /dev/null +++ b/addons/hr_recruitment/static/src/img/congratulations.png diff --git a/addons/hr_recruitment/static/src/js/recruitment.js b/addons/hr_recruitment/static/src/js/recruitment.js new file mode 100644 index 00000000..e9758dda --- /dev/null +++ b/addons/hr_recruitment/static/src/js/recruitment.js @@ -0,0 +1,18 @@ +odoo.define('job.update_kanban', function (require) { + 'use strict'; + var KanbanRecord = require('web.KanbanRecord'); + + KanbanRecord.include({ + /** + * @override + * @private + */ + _openRecord: function () { + if (this.modelName === 'hr.job' && this.$(".o_hr_job_boxes a").length) { + this.$(".o_hr_job_boxes a").first().click(); + } else { + this._super.apply(this, arguments); + } + } + }); +}); diff --git a/addons/hr_recruitment/static/src/js/tours/hr_recruitment.js b/addons/hr_recruitment/static/src/js/tours/hr_recruitment.js new file mode 100644 index 00000000..368b9775 --- /dev/null +++ b/addons/hr_recruitment/static/src/js/tours/hr_recruitment.js @@ -0,0 +1,103 @@ +odoo.define('hr_recruitment.tour', function(require) { +"use strict"; + +var core = require('web.core'); +var tour = require('web_tour.tour'); + +var _t = core._t; + +tour.register('hr_recruitment_tour',{ + url: "/web", + rainbowManMessage: _t("<div>Great job! You hired a new colleague!</div><div>Try the Website app to publish job offers online.</div>"), + sequence: 230, +}, [tour.stepUtils.showAppsMenuItem(), { + trigger: '.o_app[data-menu-xmlid="hr_recruitment.menu_hr_recruitment_root"]', + content: _t("Let's have a look at how to <b>improve</b> your <b>hiring process</b>."), + position: 'right', + edition: 'community' +}, { + trigger: '.o_app[data-menu-xmlid="hr_recruitment.menu_hr_recruitment_root"]', + content: _t("Let's have a look at how to <b>improve</b> your <b>hiring process</b>."), + position: 'bottom', + edition: 'enterprise' +}, { + trigger: ".o-kanban-button-new", + content: _t("Create your first Job Position."), + position: "bottom", + width: 195 +}, { + trigger: ".o_job_name", + extra_trigger: '.o_hr_job_simple_form', + content: _t("What do you want to recruit today? Choose a job title..."), + position: "right" +}, { + trigger: ".o_job_alias", + extra_trigger: '.o_hr_job_simple_form', + content: _t("Choose an application email."), + position: "right" +}, { + trigger: '.o_create_job', + content: _t('Let\'s create the position. An email will be setup for applications, and a public job description, if you use the Website app.'), + position: 'bottom', + run: function (actions) { + actions.auto('.modal:visible .btn.btn-primary'); + }, +}, { + trigger: ".oe_kanban_action_button", + extra_trigger: '.o_hr_recruitment_kanban', + content: _t("Let\'s have a look at the applications pipeline."), + position: "bottom" +}, { + trigger: ".o_copy_paste_email", + content: _t("Copy this email address, to paste it in your email composer, to apply."), + position: "bottom" +}, { + trigger: ".breadcrumb-item:not(.active):last", + extra_trigger: '.o_kanban_applicant', + content: _t("Let’s go back to the dashboard."), + position: "bottom" +}, { + trigger: ".oe_kanban_action_button", + extra_trigger: '.o_hr_recruitment_kanban', + content: _t("<b>Did you apply by sending an email?</b> Check incoming applications."), + position: "bottom" +}, { + trigger: ".oe_kanban_card", + extra_trigger: '.o_kanban_applicant', + content: _t("<b>Drag this card</b>, to qualify him for a first interview."), + position: "bottom", + run: "drag_and_drop .o_kanban_group:eq(1) ", +}, { + trigger: ".oe_kanban_card", + extra_trigger: '.o_kanban_applicant', + content: _t("<b>Click to view</b> the application."), + position: "bottom" +}, { + trigger: ".o_Chatter .o_ChatterTopbar_buttonSendMessage", + extra_trigger: '.o_applicant_form', + content: _t("<div><b>Try to send an email</b> to the applicant.</div><div><i>Tips: All emails sent or received are saved in the history here</i>"), + position: "bottom" +}, { + trigger: ".o_Chatter .o_Composer_buttonSend", + extra_trigger: '.o_applicant_form', + content: _t("Send your email. Followers will get a copy of the communication."), + position: "bottom" +}, { + trigger: ".o_Chatter .o_ChatterTopbar_buttonLogNote", + extra_trigger: '.o_applicant_form', + content: _t("Or talk about this applicant privately with your colleagues."), + position: "bottom" +}, { + trigger: ".o_create_employee", + extra_trigger: '.o_applicant_form', + content: _t("Let’s create this new employee now."), + position: "bottom" +}, { + trigger: ".o_form_button_save", + extra_trigger: ".o_employee_form", + content: _t("Save it !"), + position: "bottom", + width: 80 +}]); + +}); diff --git a/addons/hr_recruitment/static/src/scss/hr_job.scss b/addons/hr_recruitment/static/src/scss/hr_job.scss new file mode 100644 index 00000000..3025c1bd --- /dev/null +++ b/addons/hr_recruitment/static/src/scss/hr_job.scss @@ -0,0 +1,101 @@ +.o_kanban_view.o_kanban_dashboard { + &.o_hr_recruitment_kanban { + &.o_kanban_ungrouped .o_kanban_record { + width: 350px; + &:not(.o_kanban_ghost) { + height: 180px; + } + } + + .ribbon { + &::before, &::after { + display: none; + } + + span { + background-color: $o-brand-odoo; + padding: 5px; + font-size: small; + z-index: unset; + height: auto; + } + } + .ribbon-top-right { + margin-top: -$o-kanban-dashboard-vpadding; + + span { + left: 0px; + right: 30px; + } + } + } + + .o_kanban_record_subtitle { + height: 1em; + } + + .o_recruitment_kanban_boxes { + display: flex; + flex-flow: row nowrap; + + .o_recruitment_kanban_box { + position: relative; + padding: 0 0 0 0; + flex: 1 1 auto; + display: flex; + flex-flow: row nowrap; + justify-content: center; + + &:first-child { + justify-content: flex-start; + padding-left: 16px; + } + div:last-child { + justify-content: flex-end; + text-align: right; + } + .o_link_trackers{ + .fa{ + color: $o-brand-primary; + } + } + .o_value { + font-weight: 800; + } + + > a { + font-weight: 500; + + &.o_needaction{ + font-size: small; + font-weight: 400; + margin-left: 4px; + @include o-hover-opacity(0.5, 1); + + &:before { + content: "/ "; + } + + &:after { + content: "\f086"; + font: normal normal normal 14px/1 FontAwesome; + } + } + } + } + } +} + +.o_kanban_view .oe_kanban_card { + .o_kanban_state_with_padding { + padding-left:7%; + padding-bottom:5%; + width: 12px; + } +} + +.o_recruitment_list { + .o_list_button { + text-align: right; + } +} |
