You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
685 lines
22 KiB
685 lines
22 KiB
<?xml version="1.0" encoding="utf-8"?>
|
|
<!--
|
|
Copyright 2017-2018 Rémy Taymans <remytaymans@gmail.com>
|
|
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
|
-->
|
|
<openerp>
|
|
|
|
<!-- Add menu entries -->
|
|
<template id="my_shift_link" name="Link to frontend portal" inherit_id="website.layout">
|
|
<xpath expr="//li[@id='o_logout']" position="before">
|
|
<li><a href="/my/shift" role="menuitem">My Shift</a></li>
|
|
</xpath>
|
|
</template>
|
|
|
|
<!-- Reusable templates -->
|
|
<template
|
|
id="my_shift_title"
|
|
name="My Shift Title">
|
|
|
|
<div class="oe_structure"/>
|
|
|
|
<section class="wrap">
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<h1 class="text-center">
|
|
Your shifts
|
|
</h1>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<div class="oe_structure"/>
|
|
|
|
</template>
|
|
|
|
<template
|
|
id="my_shift_worker_status_title"
|
|
name="My Shift Worker Status Title">
|
|
|
|
<div class="oe_structure"/>
|
|
|
|
<section class="wrap">
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<h2>
|
|
Worker status
|
|
<span t-att-class="'label %s pull-right' % ('label-success' if status.can_shop else 'label-danger',)">
|
|
<span class="fa fa-shopping-cart"></span>
|
|
<t t-if="status.can_shop">
|
|
<span class="fa fa-check"></span>
|
|
</t>
|
|
<t t-if="not status.can_shop">
|
|
<span class="fa fa-times"></span>
|
|
</t>
|
|
</span>
|
|
</h2>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<div class="oe_structure"/>
|
|
|
|
</template>
|
|
|
|
<template
|
|
id="my_shift_worker_status_common"
|
|
name="My Shift Worker Status Common">
|
|
|
|
<p>
|
|
<label>Working Mode:</label>
|
|
<t t-esc="dict(status.fields_get(allfields=['working_mode'])['working_mode']['selection'])[status.working_mode]"/>
|
|
</p>
|
|
|
|
<p t-if="status.super">
|
|
You are a Super Cooperator
|
|
</p>
|
|
|
|
<p>
|
|
<label>Status:</label>
|
|
<t t-esc="dict(status.fields_get(allfields=['status'])['status']['selection'])[status.status]"/>
|
|
</p>
|
|
|
|
<p t-if="status.holiday_start_time and status.holiday_start_time > status.today or status.status == 'holiday'">
|
|
<label>Begin of Holiday:</label>
|
|
<t t-esc="time.strftime('%A %d %B %Y', time.strptime(status.holiday_start_time, '%Y-%m-%d'))"/>
|
|
</p>
|
|
|
|
<p t-if="status.holiday_end_time and status.holiday_end_time > status.today or status.status == 'holiday'">
|
|
<label>End of Holiday:</label>
|
|
<t t-esc="time.strftime('%A %d %B %Y', time.strptime(status.holiday_end_time, '%Y-%m-%d'))"/>
|
|
</p>
|
|
|
|
</template>
|
|
|
|
<template
|
|
id="my_shift_next_shifts"
|
|
name="My Shift : Next Shifts">
|
|
|
|
<div class="oe_structure"/>
|
|
|
|
<section class="wrap">
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<h2>
|
|
Your next shifts
|
|
</h2>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<div class="oe_structure"/>
|
|
|
|
<section class="wrap" t-if="is_regular">
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<div class="alert alert-warning">
|
|
<strong>Warning !</strong> For the moment public holidays are not taken into account. If your shift
|
|
occures during a public holiday, you do not have to do it.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<div class="oe_structure"/>
|
|
|
|
<div class="visible-xs" t-foreach="subscribed_shifts" t-as="shift">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading clearfix">
|
|
<div class="panel-title">
|
|
<t t-esc="'%s %s' % (shift.start_day, shift.start_date)"/>
|
|
<span t-esc="shift.start_time"/> -
|
|
<span t-esc="shift.end_time"/>
|
|
</div>
|
|
</div>
|
|
<div class="panel-body">
|
|
<t t-esc="shift.task_type_name"/>
|
|
<button type="button" class="btn btn-default btn-sm pull-right"
|
|
t-if="shift.super_coop_name"
|
|
data-toggle="modal"
|
|
t-att-data-target="'#super_coop-shift-%s' % shift.id">
|
|
<span class="fa fa-info" aria-hidden="true"></span>
|
|
Super Cooperator Info
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<table class="hidden-xs table table-striped" t-if="subscribed_shifts">
|
|
<thead>
|
|
<tr>
|
|
<th>Day</th>
|
|
<th>Date</th>
|
|
<th>Time</th>
|
|
<th>Type of Shift</th>
|
|
<th class="text-center">Super Cooperator Info</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<t t-foreach="subscribed_shifts" t-as="shift">
|
|
<tr>
|
|
<td>
|
|
<t t-esc="shift.start_day"/>
|
|
</td>
|
|
<td>
|
|
<t t-esc="shift.start_date"/>
|
|
</td>
|
|
<td>
|
|
<span t-esc="shift.start_time"/> -
|
|
<span t-esc="shift.end_time"/>
|
|
</td>
|
|
<td>
|
|
<t t-esc="shift.task_type_name"/>
|
|
</td>
|
|
<td class="text-center">
|
|
<button type="button" class="btn btn-default btn-sm"
|
|
t-if="shift.super_coop_name"
|
|
data-toggle="modal"
|
|
t-att-data-target="'#super_coop-shift-%s' % shift.id">
|
|
<span class="fa fa-info" aria-hidden="true"></span>
|
|
</button>
|
|
</td>
|
|
</tr>
|
|
</t>
|
|
</tbody>
|
|
</table>
|
|
|
|
<!-- Super Cooperator info modal -->
|
|
<t t-foreach="subscribed_shifts" t-as="shift">
|
|
<div class="modal fade" t-if="shift.super_coop_name" t-att-id="'super_coop-shift-%s' % shift.id" tabindex="-1" role="dialog"
|
|
t-att-aria-labelledby="'super_coop-shift-%s-label' % shift.id">
|
|
<div class="modal-dialog" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
|
<span aria-hidden="true">×</span>
|
|
</button>
|
|
<h4 class="modal-title" t-att-id="'super_coop-shift-%s-label' % shift.id">
|
|
<t t-esc="shift.super_coop_name"/>
|
|
</h4>
|
|
</div>
|
|
<div class="modal-body">
|
|
<i class="fa fa-phone" aria-hidden="true"></i> <t t-esc="shift.super_coop_phone"/><br/>
|
|
<i class="fa fa-envelope" aria-hidden="true"></i>
|
|
<a t-att-href="'mailto:%s' % shift.super_coop_email">
|
|
<t t-esc="shift.super_coop_email"/>
|
|
</a>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-primary" data-dismiss="modal">Close</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</t>
|
|
|
|
<section class="wrap" t-if="not subscribed_shifts">
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<div class="alert alert-warning">
|
|
<strong>Warning !</strong> You have not yet signed up to a shift.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<div class="oe_structure"/>
|
|
|
|
</template>
|
|
|
|
<template
|
|
id="my_shift_past_shifts"
|
|
name="My Shift : Past Shifts">
|
|
|
|
<div class="oe_structure"/>
|
|
|
|
<section class="wrap">
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<h2>
|
|
Your past shifts
|
|
</h2>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<div class="oe_structure"/>
|
|
|
|
<div class="visible-xs" t-foreach="past_shifts" t-as="shift">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading clearfix">
|
|
<div class="panel-title">
|
|
<t t-esc="time.strftime('%A %d %B %Y', time.strptime(shift.start_time, '%Y-%m-%d %H:%M:%S'))"/>
|
|
<span t-field="shift.start_time" t-field-options='{"format": "HH:mm"}'/> -
|
|
<span t-field="shift.end_time" t-field-options='{"format": "HH:mm"}'/>
|
|
</div>
|
|
</div>
|
|
<div class="panel-body">
|
|
<t t-esc="shift.task_type_id.name"/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<table class="hidden-xs table table-striped" t-if="past_shifts">
|
|
<thead>
|
|
<tr>
|
|
<th>Day</th>
|
|
<th>Date</th>
|
|
<th>Time</th>
|
|
<th>Type of Shift</th>
|
|
<th>Status</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<t t-foreach="past_shifts" t-as="shift">
|
|
<tr>
|
|
<td>
|
|
<t t-esc="time.strftime('%A', time.strptime(shift.start_time, '%Y-%m-%d %H:%M:%S'))"/>
|
|
</td>
|
|
<td>
|
|
<t t-esc="time.strftime('%d %B %Y', time.strptime(shift.start_time, '%Y-%m-%d %H:%M:%S'))"/>
|
|
</td>
|
|
<td>
|
|
<span t-field="shift.start_time" t-field-options='{"format": "HH:mm"}'/> -
|
|
<span t-field="shift.end_time" t-field-options='{"format": "HH:mm"}'/>
|
|
</td>
|
|
<td>
|
|
<t t-esc="shift.task_type_id.name"/>
|
|
</td>
|
|
<td>
|
|
<t t-esc="shift.stage_id.name"/>
|
|
</td>
|
|
</tr>
|
|
</t>
|
|
</tbody>
|
|
</table>
|
|
|
|
<section class="wrap" t-if="not past_shifts">
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<div class="alert alert-info">
|
|
<strong>Info !</strong> You don't have any past shift.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<div class="oe_structure"/>
|
|
|
|
</template>
|
|
|
|
<template
|
|
id="available_shift_irregular_worker"
|
|
name="Available Shift for Irregular Worker">
|
|
|
|
<div class="oe_structure"/>
|
|
|
|
<div class="visible-xs" t-foreach="shift_templates" t-as="shift_count_subscribed">
|
|
<t t-set="shift" t-value="shift_count_subscribed[0]" />
|
|
<t t-set="count" t-value="shift_count_subscribed[1]" />
|
|
<t t-set="is_subscribed" t-value="shift_count_subscribed[2]" />
|
|
<t t-set="highlight_class" t-value="'panel-warning' if count >= highlight_rule else 'panel-default'"/>
|
|
<div t-att-class="'panel %s' % highlight_class">
|
|
<div class="panel-heading clearfix">
|
|
<div class="panel-title pull-left">
|
|
<t t-esc="time.strftime('%A %d %B %Y', time.strptime(shift.start_time, '%Y-%m-%d %H:%M:%S'))"/>
|
|
<span t-field="shift.start_time" t-field-options='{"format": "HH:mm"}'/> -
|
|
<span t-field="shift.end_time" t-field-options='{"format": "HH:mm"}'/>
|
|
</div>
|
|
<div class="label label-default pull-right">
|
|
<t t-esc="count"/> space(s)
|
|
</div>
|
|
</div>
|
|
<div class="panel-body clearfix">
|
|
<t t-esc="shift.task_type_id.name"/>
|
|
<t t-if="is_subscribed">
|
|
<div class="label label-success pull-right">
|
|
<span class="fa fa-check" aria-hidden="true"></span>
|
|
Subscribed
|
|
</div>
|
|
</t>
|
|
<t t-if="irregular_enable_sign_up and not is_subscribed">
|
|
<button type="button" class="btn btn-default btn-sm pull-right" data-toggle="modal"
|
|
t-att-data-target="'#subscribe-shift-%s' % shift.id">
|
|
<span class="fa fa-user-plus" aria-hidden="true"></span>
|
|
Subscribe
|
|
</button>
|
|
</t>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<table class="hidden-xs table table-striped">
|
|
<thead>
|
|
<tr>
|
|
<th>Day</th>
|
|
<th>Date</th>
|
|
<th>Time</th>
|
|
<th>Type of Shift</th>
|
|
<th class="text-center">Available Spaces</th>
|
|
<th class="text-center" t-if="irregular_enable_sign_up">Subscribed</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<t t-foreach="shift_templates" t-as="shift_count_subscribed">
|
|
<t t-set="shift" t-value="shift_count_subscribed[0]" />
|
|
<t t-set="count" t-value="shift_count_subscribed[1]" />
|
|
<t t-set="is_subscribed" t-value="shift_count_subscribed[2]" />
|
|
<tr t-attf-class="{{ 'warning' if count >= highlight_rule else '' }}">
|
|
<td>
|
|
<t t-esc="time.strftime('%A', time.strptime(shift.start_time, '%Y-%m-%d %H:%M:%S'))"/>
|
|
</td>
|
|
<td>
|
|
<t t-esc="time.strftime('%d %B %Y', time.strptime(shift.start_time, '%Y-%m-%d %H:%M:%S'))"/>
|
|
</td>
|
|
<td>
|
|
<span t-field="shift.start_time" t-field-options='{"format": "HH:mm"}'/> -
|
|
<span t-field="shift.end_time" t-field-options='{"format": "HH:mm"}'/>
|
|
</td>
|
|
<td>
|
|
<t t-esc="shift.task_type_id.name"/>
|
|
</td>
|
|
<td class="text-center">
|
|
<t t-esc="count"/>
|
|
</td>
|
|
<td class="text-center" t-if="irregular_enable_sign_up">
|
|
<t t-if="is_subscribed">
|
|
<div class="label label-success">
|
|
<span class="fa fa-check" aria-hidden="true"></span>
|
|
Subscribed
|
|
</div>
|
|
</t>
|
|
<t t-if="not is_subscribed">
|
|
<button type="button" class="btn btn-default btn-sm" data-toggle="modal"
|
|
t-att-data-target="'#subscribe-shift-%s' % shift.id">
|
|
<span class="fa fa-user-plus" aria-hidden="true"></span>
|
|
Subscribe
|
|
</button>
|
|
</t>
|
|
</td>
|
|
</tr>
|
|
</t>
|
|
</tbody>
|
|
</table>
|
|
|
|
<!-- Subscribe check -->
|
|
<t t-foreach="shift_templates" t-as="shift_count_subscribed">
|
|
<t t-set="shift" t-value="shift_count_subscribed[0]" />
|
|
<t t-set="count" t-value="shift_count_subscribed[1]" />
|
|
<t t-set="is_subscribed" t-value="shift_count_subscribed[2]" />
|
|
<div class="modal fade" t-att-id="'subscribe-shift-%s' % shift.id" tabindex="-1" role="dialog"
|
|
t-att-aria-labelledby="'subscribe-shift-%s-label' % shift.id">
|
|
<div class="modal-dialog" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
|
<span aria-hidden="true">×</span>
|
|
</button>
|
|
<h4 class="modal-title" t-att-id="'subscribe-shift-%s-label' % shift.id">
|
|
Are you shure you want to subscribe to this shift?
|
|
</h4>
|
|
</div>
|
|
<div class="modal-body">
|
|
<t t-esc="time.strftime('%A', time.strptime(shift.start_time, '%Y-%m-%d %H:%M:%S'))"/>
|
|
<t t-esc="time.strftime('%d %B %Y', time.strptime(shift.start_time, '%Y-%m-%d %H:%M:%S'))"/>
|
|
<span t-field="shift.start_time" t-field-options='{"format": "HH:mm"}'/> -
|
|
<span t-field="shift.end_time" t-field-options='{"format": "HH:mm"}'/><br/>
|
|
<t t-esc="shift.task_type_id.name"/><br/>
|
|
<t t-esc="count"/> available space(s)
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
|
|
<a class="btn btn-primary"
|
|
t-if="irregular_enable_sign_up"
|
|
t-att-href="'/shift/%s/subscribe?nexturl=%s' % (shift.id, nexturl)">
|
|
Subscribe
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</t>
|
|
|
|
<div class="oe_structure"/>
|
|
|
|
</template>
|
|
|
|
<!-- Shift for non-worker -->
|
|
<template
|
|
id="my_shift_non_worker"
|
|
name="My Shift for Non Worker"
|
|
page="True">
|
|
<t t-call="website.layout">
|
|
|
|
<t t-call="beesdoo_website_shift.my_shift_title"/>
|
|
|
|
<section class="wrap">
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<div class="alert alert-info">
|
|
You don't have to participate to shift system.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<div class="oe_structure"/>
|
|
|
|
</t>
|
|
</template>
|
|
|
|
<!-- Shifts Exempted Workers -->
|
|
<template
|
|
id="my_shift_exempted_worker"
|
|
name="My Shifts for Exempted Workers"
|
|
page="True">
|
|
<t t-call="website.layout">
|
|
|
|
<t t-call="beesdoo_website_shift.my_shift_title"/>
|
|
|
|
<section class="wrap">
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-xs-12 col-md-4 pull-right">
|
|
|
|
<t t-call="beesdoo_website_shift.my_shift_worker_status_title"/>
|
|
|
|
<t t-call="beesdoo_website_shift.my_shift_worker_status_common"/>
|
|
|
|
<p t-if="status.exempt_reason_id">
|
|
<label>Exempt Reason:</label>
|
|
<t t-esc="status.exempt_reason_id.name"/>
|
|
</p>
|
|
|
|
<div class="oe_structure"/>
|
|
|
|
</div>
|
|
|
|
<div class="col-xs-12 col-md-8">
|
|
|
|
<section class="wrap">
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<div class="alert alert-info">
|
|
You don't have to participate to shift system.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<div class="oe_structure"/>
|
|
|
|
</div> <!-- col-md-8 -->
|
|
</div> <!-- row -->
|
|
</div> <!-- container -->
|
|
</section>
|
|
|
|
<div class="oe_structure"/>
|
|
|
|
</t>
|
|
</template>
|
|
|
|
<!-- Shifts for Regular Workers -->
|
|
<template
|
|
id="my_shift_regular_worker"
|
|
name="My Shifts for Regular Workers"
|
|
page="True">
|
|
<t t-call="website.layout">
|
|
|
|
<t t-call="beesdoo_website_shift.my_shift_title"/>
|
|
|
|
<section class="wrap">
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-xs-12 col-md-4 pull-right">
|
|
|
|
<t t-call="beesdoo_website_shift.my_shift_worker_status_title"/>
|
|
|
|
<t t-call="beesdoo_website_shift.my_shift_worker_status_common"/>
|
|
|
|
<p t-if="status.sr != 0">
|
|
<label>Shift in Advance:</label>
|
|
<t t-esc="status.sr"/>
|
|
</p>
|
|
|
|
<p t-if="status.sc != 0">
|
|
<label>Compensation Shift:</label>
|
|
<t t-esc="status.sc"/>
|
|
</p>
|
|
|
|
<p t-if="status.alert_start_time">
|
|
<label>In Alert Since:</label>
|
|
<t t-esc="time.strftime('%A %d %B %Y', time.strptime(status.alert_start_time, '%Y-%m-%d'))"/>
|
|
</p>
|
|
|
|
<p t-if="status.extension_start_time">
|
|
<label>In Extension Since:</label>
|
|
<t t-esc="time.strftime('%A %d %B %Y', time.strptime(status.extension_start_time, '%Y-%m-%d'))"/>
|
|
</p>
|
|
|
|
<div class="oe_structure"/>
|
|
|
|
</div>
|
|
|
|
<div class="col-xs-12 col-md-8">
|
|
|
|
<t t-call="beesdoo_website_shift.my_shift_next_shifts"/>
|
|
|
|
<t t-call="beesdoo_website_shift.my_shift_past_shifts"/>
|
|
|
|
</div> <!-- col-md-8 -->
|
|
</div> <!-- row -->
|
|
</div> <!-- container -->
|
|
</section>
|
|
|
|
<div class="oe_structure"/>
|
|
|
|
</t>
|
|
</template>
|
|
|
|
<!-- Shifts for Irregular Workers -->
|
|
<template
|
|
id="my_shift_irregular_worker"
|
|
name="Shifts for Irregular Workers"
|
|
page="True">
|
|
<t t-call="website.layout">
|
|
|
|
<t t-call="beesdoo_website_shift.my_shift_title"/>
|
|
|
|
<section class="wrap">
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-xs-12 col-md-4 pull-right">
|
|
|
|
<t t-call="beesdoo_website_shift.my_shift_worker_status_title"/>
|
|
|
|
<t t-call="beesdoo_website_shift.my_shift_worker_status_common"/>
|
|
|
|
<p>
|
|
<label>Shift in Advance:</label>
|
|
<t t-esc="status.sr"/>
|
|
</p>
|
|
|
|
<p t-if="future_alert_date">
|
|
<label>Future Date of Alert:</label>
|
|
<t t-esc="time.strftime('%A %d %B %Y', time.strptime(future_alert_date, '%Y-%m-%d'))"/>
|
|
</p>
|
|
|
|
<p t-if="status.irregular_absence_date">
|
|
<label>Last Absence Date:</label>
|
|
<t t-esc="time.strftime('%A %d %B %Y', time.strptime(status.irregular_absence_date, '%Y-%m-%d'))"/>
|
|
</p>
|
|
|
|
<p t-if="status.irregular_absence_counter">
|
|
<label>Number of Absence:</label>
|
|
<t t-esc="status.irregular_absence_counter"/>
|
|
</p>
|
|
|
|
<div class="oe_structure"/>
|
|
|
|
</div>
|
|
|
|
<div class="col-xs-12 col-md-8">
|
|
|
|
<t t-call="beesdoo_website_shift.my_shift_next_shifts"/>
|
|
|
|
<section class="wrap">
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<h2>
|
|
Available Shifts
|
|
</h2>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<div class="oe_structure"/>
|
|
|
|
<section class="wrap">
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-xs-12 col-sm-6">
|
|
<p>
|
|
Explanation text
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
<div class="oe_structure"/>
|
|
|
|
<t t-call="beesdoo_website_shift.available_shift_irregular_worker"/>
|
|
|
|
<t t-call="beesdoo_website_shift.my_shift_past_shifts"/>
|
|
|
|
</div> <!-- col-md-8 -->
|
|
</div> <!-- row -->
|
|
</div> <!-- container -->
|
|
</section>
|
|
|
|
<div class="oe_structure"/>
|
|
|
|
</t>
|
|
</template>
|
|
|
|
</openerp>
|