Commit 64baa185 by Etienne Freiss

Merge branch 'evolution_bdm' of…

Merge branch 'evolution_bdm' of https://gl.cooperatic.fr/cooperatic-foodcoops/third-party into ticket_1330
parents ee354959 9305e1ab
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -44,13 +44,114 @@ default_msettings = {'msg_accueil': {'title': 'Message borne accueil', ...@@ -44,13 +44,114 @@ default_msettings = {'msg_accueil': {'title': 'Message borne accueil',
'class': 'link', 'class': 'link',
'sort_order': 6 'sort_order': 6
}, },
'request_form_link': {
'title': 'Faire une demande au Bureau Des Membres',
'type': 'text',
'value': '',
'class': 'link',
'sort_order': 7
},
'late_service_form_link': {
'title': 'Retard à mon service ou oubli validation',
'type': 'text',
'value': '',
'class': 'link',
'sort_order': 8
},
'change_template_form_link': {
'title': 'Demande de changement de créneau',
'type': 'text',
'value': '',
'class': 'link',
'sort_order': 9
},
#TODO vérifier le nom d'un "binome"
'associated_subscribe_form_link': {
'title': 'Demande de création de binôme',
'type': 'text',
'value': '',
'class': 'link',
'sort_order': 10
},
#TODO vérifier le nom d'un "binome"
'associated_unsubscribe_form_link': {
'title': 'Se désolidariser de son binôme',
'type': 'text',
'value': '',
'class': 'link',
'sort_order': 11
},
'template_unsubscribe_form_link': {
'title': 'Se désinscrire de son créneau',
'type': 'text',
'value': '',
'class': 'link',
'sort_order': 12
},
'change_email_form_link': {
'title': 'Changer d\'adresse mail',
'type': 'text',
'value': '',
'class': 'link',
'sort_order': 13
},
'coop_unsubscribe_form_link': {
'title': 'Demande de démission de la coopérative et/ou de remboursement de mes parts sociales',
'type': 'text',
'value': '',
'class': 'link',
'sort_order': 14
},
'sick_leave_form_link': {
'title': 'Demande de congé maladie ou parental',
'type': 'text',
'value': '',
'class': 'link',
'sort_order': 15
},
'underage_subscribe_form_link': {
'title': 'Demande de création d’un compte mineur rattaché',
'type': 'text',
'value': '',
'class': 'link',
'sort_order': 16
},
'helper_subscribe_form_link': {
'title': 'Rejoindre la Brigade Solidaire',
'type': 'text',
'value': '',
'class': 'link',
'sort_order': 17
},
'helper_unsubscribe_form_link': {
'title': 'Se désinscrire de la brigade solidaire',
'type': 'text',
'value': '',
'class': 'link',
'sort_order': 18
},
'covid_form_link': {
'title': 'J\'ai le Covid-19 !',
'type': 'text',
'value': '',
'class': 'link',
'sort_order': 19
},
'covid_end_form_link': {
'title': 'Fin d\'exemption: reprise de mes services',
'type': 'text',
'value': '',
'class': 'link',
'sort_order': 20
},
'member_cant_have_delay_form_link': { 'member_cant_have_delay_form_link': {
'title': 'Lien vers le formulaire pour les membres n\'ayant pas rattrapé leur service après 6 mois', 'title': 'Lien vers le formulaire pour les membres n\'ayant pas rattrapé leur service après 6 mois',
'type': 'text', 'type': 'text',
'value': '', 'value': '',
'class': 'link', 'class': 'link',
'sort_order': 7 'sort_order': 21
} }
} }
def config(request): def config(request):
...@@ -244,7 +345,7 @@ def get_makeups_members(request): ...@@ -244,7 +345,7 @@ def get_makeups_members(request):
return JsonResponse({ 'res' : res }) return JsonResponse({ 'res' : res })
def update_members_makeups(request): def update_members_makeups(request):
""" Met à jour les rattrapages des membres passés dans la requête """ """ Décrémente les rattrapages des membres passés dans la requête """
res = {} res = {}
is_connected_user = CagetteUser.are_credentials_ok(request) is_connected_user = CagetteUser.are_credentials_ok(request)
if is_connected_user is True: if is_connected_user is True:
......
#faqBDM {
font-size: 1.8rem;
}
#faqBDM .block {
width: 100%;
}
.info_slots_shifts {
margin: 2rem 0;
}
.grp_text{
margin-top: 25px;
}
.param {margin-bottom: 15px;}
.param label {font-weight: bold;}
input.link {min-width: 50em;}
.submit_button {margin-bottom: 10px;}
/* Style the buttons that are used to open and close the accordion panel */
.accordion {
background-color: #eee;
color: #444;
cursor: pointer;
padding: 18px;
width: 100%;
text-align: left;
border: none;
outline: none;
transition: 0.4s;
}
/* Add a background color to the button if it is clicked on (add the .active class with JS), and when you move the mouse over it (hover) */
.active, .accordion:hover {
background-color: #ccc;
}
/* Style the accordion panel. Note: hidden by default */
.panel {
padding: 0 18px;
padding-bottom: 10px;
background-color: white;
display: none;
overflow: hidden;
border-left: 1px solid #E5E5E5;
border-right: 1px solid #E5E5E5;
border-bottom: 1px solid #E5E5E5;
border-bottom-left-radius: 15px;
border-bottom-right-radius: 15px;
}
button.accordion::after {
content: '\002B';
color: #777;
font-weight: bold;
float: right;
margin-left: 5px;
}
button.accordion.active::after {
content: "\2212";
}
.btn_faq{
white-space: normal;
border-radius: 5px;
margin-top: 3px;
padding-right: 25px;
display: flex;
align-items: flex-end;
}
.full_width{
width: 100%;
}
.faq_link_button_area {
margin-top: 10px;
height: 100%;
}
.faq_link_button {
white-space: normal;
border-radius: 5px;
}
.faq_link_button:hover {
color: #fff;
text-decoration: none;
}
.faq_intro_texts {
margin-bottom: 30px;
}
\ No newline at end of file
...@@ -17,12 +17,28 @@ ...@@ -17,12 +17,28 @@
padding: 1.5rem 0; padding: 1.5rem 0;
} }
@media screen and (min-width: 351px) and (max-width: 435px) {
.my_info_line {
font-size: 80%;
padding: 2vw 0;
}
}
@media screen and (max-width: 350px) {
.my_info_line {
font-size: 3.5vw;
padding: 2vw 0;
}
}
.my_info_line_left { .my_info_line_left {
width: 50%; width: 50%;
text-align: right; text-align: right;
padding-right: 2rem; padding-right: 2rem;
font-weight: bold; font-weight: bold;
} }
.my_info_line_right { .my_info_line_right {
width: 50%; width: 50%;
padding-left: 2rem; padding-left: 2rem;
...@@ -94,6 +110,4 @@ ...@@ -94,6 +110,4 @@
#my_info .member_shift_name_area { #my_info .member_shift_name_area {
align-items: flex-start; align-items: flex-start;
} }
}
}
\ No newline at end of file
...@@ -6,6 +6,12 @@ body { ...@@ -6,6 +6,12 @@ body {
margin: 35px 0 30px 0; margin: 35px 0 30px 0;
} }
@media screen and (max-width: 435px) {
.page_title {
margin: 4vw 0 3vw 0;
}
}
/* -- Tiles */ /* -- Tiles */
.tiles_container { .tiles_container {
...@@ -48,6 +54,7 @@ body { ...@@ -48,6 +54,7 @@ body {
font-size: 2.4rem; font-size: 2.4rem;
padding: 2rem 0; padding: 2rem 0;
width: 80%; width: 80%;
word-break: break-all;
} }
.tile_content { .tile_content {
...@@ -59,7 +66,11 @@ body { ...@@ -59,7 +66,11 @@ body {
} }
#home_tile_services_exchange .tile_content { #home_tile_services_exchange .tile_content {
justify-content: center; height: 100%;
flex-direction: column;
align-items: center;
text-align: center;
} }
...@@ -146,6 +157,7 @@ body { ...@@ -146,6 +157,7 @@ body {
} }
#member_status_action { #member_status_action {
display: flex;
margin-bottom: 20px; margin-bottom: 20px;
} }
@media screen and (max-width: 992px) { @media screen and (max-width: 992px) {
...@@ -163,13 +175,22 @@ body { ...@@ -163,13 +175,22 @@ body {
.unsuscribed_form_link { .unsuscribed_form_link {
display: none; display: none;
text-decoration: none; text-decoration: none;
font-size: 1.5rem; font-size: 1.7rem;
word-break: normal;
} }
.unsuscribed_form_link:hover { .unsuscribed_form_link:hover {
text-decoration: none; text-decoration: none;
} }
@media (max-width: 435px) {
.unsuscribed_form_link {
font-size: 90%;
line-height: 7vw;
}
}
.member_status_up_to_date, .member_status_up_to_date,
.member_status_exempted { .member_status_exempted {
color: #5cb85c; color: #5cb85c;
...@@ -327,4 +348,4 @@ body { ...@@ -327,4 +348,4 @@ body {
.shop_message_content { .shop_message_content {
width: 90%; width: 90%;
} }
} }
\ No newline at end of file
function init_faq() {
$("#unsuscribe_form_link_btn").prop("href", unsuscribe_form_link);
$("#unsuscribe_form_link_btn2").prop("href", unsuscribe_form_link);
$("#change_template_form_link_btn").prop("href", change_template_form_link);
$("#template_unsubscribe_form_link_btn").prop("href", template_unsubscribe_form_link);
$("#late_service_form_link_btn").prop("href", late_service_form_link);
$("#sick_leave_form_link_btn").prop("href", sick_leave_form_link);
$("#associated_subscribe_form_link_btn").prop("href", associated_subscribe_form_link);
$("#associated_unsubscribe_form_link_btn").prop("href", associated_unsubscribe_form_link);
$("#covid_form_link_btn").prop("href", covid_form_link);
$("#covid_end_form_link_btn").prop("href", covid_end_form_link);
$("#underage_subscribe_form_link_btn").prop("href", underage_subscribe_form_link);
$("#change_email_form_link_btn").prop("href", change_email_form_link);
$("#coop_unsubscribe_form_link_btn").prop("href", coop_unsubscribe_form_link);
$("#helper_subscribe_form_link_btn").prop("href", helper_subscribe_form_link);
$("#helper_unsubscribe_form_link_btn").prop("href", helper_unsubscribe_form_link);
$("#request_form_link_btn2").prop("href", request_form_link);
$("#request_form_link_btn").prop("href", request_form_link);
}
$(document).on('click', '.accordion', function() {
/* Toggle between adding and removing the "active" class,
to highlight the button that controls the panel */
this.classList.toggle("active");
/* Toggle between hiding and showing the active panel */
var panel = this.nextElementSibling;
if (panel.style.display === "block") {
panel.style.display = "none";
} else {
panel.style.display = "block";
}
$("#shift_exchange_btn").on("click", () => {
goto('echange-de-services');
});
});
\ No newline at end of file
...@@ -36,6 +36,13 @@ $(document).ready(function() { ...@@ -36,6 +36,13 @@ $(document).ready(function() {
} }
toggleHeader(); toggleHeader();
}); });
$('#nav_faq').on('click', (e) => {
e.preventDefault();
if (current_location !== "faq") {
goto('faq');
}
toggleHeader();
});
$('#nav_shifts_exchange').on('click', (e) => { $('#nav_shifts_exchange').on('click', (e) => {
e.preventDefault(); e.preventDefault();
if (current_location !== "shifts_exchange") { if (current_location !== "shifts_exchange") {
......
...@@ -55,7 +55,7 @@ function load_partner_shifts(partner_id) { ...@@ -55,7 +55,7 @@ function load_partner_shifts(partner_id) {
/* - Navigation */ /* - Navigation */
/** /**
* @param {String} page home | mes-infos | mes-services | echange-de-services * @param {String} page home | mes-infos | mes-services | echange-de-services | faq
*/ */
function goto(page) { function goto(page) {
if (window.location.pathname === base_location) { if (window.location.pathname === base_location) {
...@@ -68,6 +68,10 @@ function goto(page) { ...@@ -68,6 +68,10 @@ function goto(page) {
/** /**
* Define which html content to load from server depending on the window location * Define which html content to load from server depending on the window location
*
* WARNING: For the routing system to work,
* public urls (those the users will see & navigate to) must be different than the server urls used to fetch resources
* (ex: public url: /members_space/mes-info ; server url: /members_space/my_info)
*/ */
function update_dom() { function update_dom() {
$(".nav_item").removeClass('active'); $(".nav_item").removeClass('active');
...@@ -84,6 +88,10 @@ function update_dom() { ...@@ -84,6 +88,10 @@ function update_dom() {
current_location = "my_shifts"; current_location = "my_shifts";
$("#main_content").load("/members_space/my_shifts", update_content); $("#main_content").load("/members_space/my_shifts", update_content);
$("#nav_my_shifts").addClass("active"); $("#nav_my_shifts").addClass("active");
} else if (window.location.pathname === base_location + "faq") {
current_location = "faq";
$("#main_content").load("/members_space/faqBDM", update_content);
$("#nav_faq").addClass("active");
} else if (window.location.pathname === base_location + "echange-de-services") { } else if (window.location.pathname === base_location + "echange-de-services") {
current_location = "shifts_exchange"; current_location = "shifts_exchange";
$("#main_content").load("/members_space/shifts_exchange", update_content); $("#main_content").load("/members_space/shifts_exchange", update_content);
...@@ -108,6 +116,9 @@ function update_content() { ...@@ -108,6 +116,9 @@ function update_content() {
case 'my_shifts': case 'my_shifts':
init_my_shifts(); init_my_shifts();
break; break;
case 'faq':
init_faq();
break;
case 'shifts_exchange': case 'shifts_exchange':
init_shifts_exchange(); init_shifts_exchange();
break; break;
......
...@@ -5,11 +5,12 @@ from . import views ...@@ -5,11 +5,12 @@ from . import views
urlpatterns = [ urlpatterns = [
url(r'^$', views.index), url(r'^$', views.index),
url(r'^homepage$', views.home), url(r'^homepage$', views.home), # These endpoints must be different than in-app url
url(r'^my_info$', views.my_info), url(r'^my_info$', views.my_info),
url(r'^my_shifts$', views.my_shifts), url(r'^my_shifts$', views.my_shifts),
url(r'^shifts_exchange$', views.shifts_exchange), url(r'^shifts_exchange$', views.shifts_exchange),
url(r'^faqBDM$', views.faqBDM),
url(r'^no_content$', views.no_content), url(r'^no_content$', views.no_content),
url(r'^get_shifts_history$', views.get_shifts_history), url(r'^get_shifts_history$', views.get_shifts_history),
url('/*$', views.index), url('/*$', views.index), # Urls unknown from the server will redirect to index
] ]
...@@ -130,7 +130,20 @@ def index(request, exception=None): ...@@ -130,7 +130,20 @@ def index(request, exception=None):
context['abcd_calendar_link'] = ( msettings['abcd_calendar_link']['value'] context['abcd_calendar_link'] = ( msettings['abcd_calendar_link']['value']
if 'abcd_calendar_link' in msettings if 'abcd_calendar_link' in msettings
else '') else '')
context['request_form_link'] = msettings['request_form_link']['value'] if 'request_form_link' in msettings else ''
context['late_service_form_link'] = msettings['late_service_form_link']['value'] if 'late_service_form_link' in msettings else ''
context['change_template_form_link'] = msettings['change_template_form_link']['value'] if 'change_template_form_link' in msettings else ''
context['associated_subscribe_form_link'] = msettings['associated_subscribe_form_link']['value'] if 'associated_subscribe_form_link' in msettings else ''
context['associated_unsubscribe_form_link'] = msettings['associated_unsubscribe_form_link']['value'] if 'associated_unsubscribe_form_link' in msettings else ''
context['template_unsubscribe_form_link'] = msettings['template_unsubscribe_form_link']['value'] if 'template_unsubscribe_form_link' in msettings else ''
context['change_email_form_link'] = msettings['change_email_form_link']['value'] if 'change_email_form_link' in msettings else ''
context['coop_unsubscribe_form_link'] = msettings['coop_unsubscribe_form_link']['value'] if 'coop_unsubscribe_form_link' in msettings else ''
context['sick_leave_form_link'] = msettings['sick_leave_form_link']['value'] if 'sick_leave_form_link' in msettings else ''
context['underage_subscribe_form_link'] = msettings['underage_subscribe_form_link']['value'] if 'underage_subscribe_form_link' in msettings else ''
context['helper_subscribe_form_link'] = msettings['helper_subscribe_form_link']['value'] if 'helper_subscribe_form_link' in msettings else ''
context['helper_unsubscribe_form_link'] = msettings['helper_unsubscribe_form_link']['value'] if 'helper_unsubscribe_form_link' in msettings else ''
context['covid_form_link'] = msettings['covid_form_link']['value'] if 'covid_form_link' in msettings else ''
context['covid_end_form_link'] = msettings['covid_end_form_link']['value'] if 'covid_end_form_link' in msettings else ''
else: else:
# may arrive when switching database without cleaning cookie # may arrive when switching database without cleaning cookie
return redirect('/website/deconnect') return redirect('/website/deconnect')
...@@ -138,6 +151,12 @@ def index(request, exception=None): ...@@ -138,6 +151,12 @@ def index(request, exception=None):
return _get_response_according_to_credentials(request, credentials, context, template) return _get_response_according_to_credentials(request, credentials, context, template)
def home(request): def home(request):
"""
Endpoint the front-end will call to load the "home" page.
Consequently, the front-end url should be unknown from the server so the user is redirected to the index,
then the front-end index will call this endpoint to load the home page
"""
template = loader.get_template('members_space/home.html') template = loader.get_template('members_space/home.html')
context = { context = {
'title': 'Espace Membres', 'title': 'Espace Membres',
...@@ -151,6 +170,7 @@ def home(request): ...@@ -151,6 +170,7 @@ def home(request):
return HttpResponse(template.render(context, request)) return HttpResponse(template.render(context, request))
def my_info(request): def my_info(request):
""" Endpoint the front-end will call to load the "My info" page. """
template = loader.get_template('members_space/my_info.html') template = loader.get_template('members_space/my_info.html')
context = { context = {
'title': 'Mes Infos', 'title': 'Mes Infos',
...@@ -158,6 +178,7 @@ def my_info(request): ...@@ -158,6 +178,7 @@ def my_info(request):
return HttpResponse(template.render(context, request)) return HttpResponse(template.render(context, request))
def my_shifts(request): def my_shifts(request):
""" Endpoint the front-end will call to load the "My shifts" page. """
template = loader.get_template('members_space/my_shifts.html') template = loader.get_template('members_space/my_shifts.html')
context = { context = {
'title': 'Mes Services', 'title': 'Mes Services',
...@@ -165,13 +186,25 @@ def my_shifts(request): ...@@ -165,13 +186,25 @@ def my_shifts(request):
return HttpResponse(template.render(context, request)) return HttpResponse(template.render(context, request))
def shifts_exchange(request): def shifts_exchange(request):
""" Endpoint the front-end will call to load the "Shifts exchange" page. """
template = loader.get_template('members_space/shifts_exchange.html') template = loader.get_template('members_space/shifts_exchange.html')
context = { context = {
'title': 'Échange de Services', 'title': 'Échange de Services',
} }
return HttpResponse(template.render(context, request)) return HttpResponse(template.render(context, request))
def faqBDM(request):
template = loader.get_template('members_space/faq.html')
context = {
'title': 'foire aux questions',
}
msettings = MConfig.get_settings('members')
return HttpResponse(template.render(context, request))
def no_content(request): def no_content(request):
""" Endpoint the front-end will call to load the "No content" page. """
template = loader.get_template('members_space/no_content.html') template = loader.get_template('members_space/no_content.html')
context = { context = {
'title': 'Contenu non trouvé', 'title': 'Contenu non trouvé',
......
...@@ -133,7 +133,6 @@ function get_module_settings() { ...@@ -133,7 +133,6 @@ function get_module_settings() {
}) })
if (added_elts.length > 0) { if (added_elts.length > 0) {
submit_btn.prependTo(main_content); submit_btn.prependTo(main_content);
submit_btn.clone().appendTo(main_content);
} }
submit_btn.click(save_module_settings); submit_btn.click(save_module_settings);
quill_containers.forEach(function(params){ quill_containers.forEach(function(params){
......
...@@ -119,14 +119,20 @@ def get_list_shift_calendar(request, partner_id): ...@@ -119,14 +119,20 @@ def get_list_shift_calendar(request, partner_id):
event["id"] = value['id'] event["id"] = value['id']
smax = int(value['seats_available']) + int(value['seats_reserved']) smax = int(value['seats_available']) + int(value['seats_reserved'])
company_code = getattr(settings, 'COMPANY_CODE', '')
title_prefix = '' title_prefix = ''
if len(value['address_id']) == 2 and ',' in value['address_id'][1]: if company_code != "lacagette" and len(value['address_id']) == 2 and ',' in value['address_id'][1]:
title_prefix = str(value['address_id'][1]).split(",")[1] + " -- " title_prefix = str(value['address_id'][1]).split(",")[1] + " --"
elif company_code == "lacagette":
title_prefix = " -- "
event["title"] = title_prefix + str(value['seats_reserved']) + "/" + str(smax) event["title"] = title_prefix + str(value['seats_reserved']) + "/" + str(smax)
event["start"] = dateIsoUTC(value['date_begin_tz']) event["start"] = dateIsoUTC(value['date_begin_tz'])
event["end"] = dateIsoUTC(value['date_begin_tz'])
datetime_object = datetime.datetime.strptime(value['date_end_tz'], "%Y-%m-%d %H:%M:%S") - datetime.timedelta(minutes=15)
event["end"] = dateIsoUTC(datetime_object.strftime("%Y-%m-%d %H:%M:%S"))
if len(l) > 0: if len(l) > 0:
if use_new_members_space is True: if use_new_members_space is True:
......
...@@ -6,10 +6,12 @@ ...@@ -6,10 +6,12 @@
{% block content %} {% block content %}
<div class="topnav" id="topnav"> <div class="topnav" id="topnav">
<a href="#" class="nav_item active" id="nav_home">Espace Membre</a> <a href="javascript:void(0);" class="nav_item active" id="nav_home">Espace Membre</a>
<a href="#" class="nav_item" id="nav_my_info">Mes Infos</a> <a href="javascript:void(0);" class="nav_item" id="nav_my_info">Mes Infos</a>
<a href="#" class="nav_item" id="nav_my_shifts">Mes Services</a> <a href="javascript:void(0);" class="nav_item" id="nav_my_shifts">Mes Services</a>
<a href="#" class="nav_item" id="nav_shifts_exchange">Échange de services</a> <a href="javascript:void(0);" class="nav_item" id="nav_shifts_exchange">Échange de services</a>
<a href="javascript:void(0);" class="nav_item" id="nav_faq">Problèmes & Demandes</a>
<a <a
href="javascript:void(0);" href="javascript:void(0);"
target="_blank" target="_blank"
...@@ -18,6 +20,7 @@ ...@@ -18,6 +20,7 @@
> >
Calendrier ABCD Calendrier ABCD
</a> </a>
{# Disconnection button must have this id (logic in all_common.js) #} {# Disconnection button must have this id (logic in all_common.js) #}
<a href="javascript:void(0);" id="deconnect">Déconnexion</a> <a href="javascript:void(0);" id="deconnect">Déconnexion</a>
<a href="javascript:void(0);" class="icon" onclick="toggleHeader()"> <a href="javascript:void(0);" class="icon" onclick="toggleHeader()">
......
...@@ -62,6 +62,9 @@ ...@@ -62,6 +62,9 @@
Échange de services Échange de services
</div> </div>
<div class="tile_content"> <div class="tile_content">
<div>
Un empêchement ? J'anticipe et déplace mes services jusqu'à 24h avant leur début !
</div>
<div class="home_link_button_area"> <div class="home_link_button_area">
<button type="button" class="btn--primary home_link_button" id="go_to_shifts_calendar"> <button type="button" class="btn--primary home_link_button" id="go_to_shifts_calendar">
Accéder au calendrier d'échange de services Accéder au calendrier d'échange de services
......
...@@ -4,9 +4,10 @@ ...@@ -4,9 +4,10 @@
{% block additionnal_css %} {% block additionnal_css %}
<link rel="stylesheet" href="{% static 'css/datatables/jquery.dataTables.css' %}"> <link rel="stylesheet" href="{% static 'css/datatables/jquery.dataTables.css' %}">
<link rel="stylesheet" href="{% static 'css/datatables/responsive.dataTables.min.css' %}"> <link rel="stylesheet" href="{% static 'css/datatables/responsive.dataTables.min.css' %}">
<link rel="stylesheet" href="{% static 'fullcalendar-5.9.0/lib/main.min.css' %}"></script> <link rel="stylesheet" href="{% static 'fullcalendar-5.9.0/lib/main.min.css' %}">
<link rel="stylesheet" href="{% static "css/members-space.css" %}?v="> <link rel="stylesheet" href="{% static "css/members-space.css" %}?v=">
<link rel="stylesheet" href="{% static "css/members-space-my-shifts.css" %}?v="> <link rel="stylesheet" href="{% static "css/members-space-my-shifts.css" %}?v=">
<link rel="stylesheet" href="{% static "css/members-space-faq.css" %}?v=">
<link rel="stylesheet" href="{% static "css/members-space-my-info.css" %}?v="> <link rel="stylesheet" href="{% static "css/members-space-my-info.css" %}?v=">
<link rel="stylesheet" href="{% static "css/members-space-shifts-exchange.css" %}?v="> <link rel="stylesheet" href="{% static "css/members-space-shifts-exchange.css" %}?v=">
{% endblock %} {% endblock %}
...@@ -56,9 +57,9 @@ ...@@ -56,9 +57,9 @@
<div id="calendar_explaination_template"> <div id="calendar_explaination_template">
<h4>Légende du calendrier</h4> <h4>Légende du calendrier</h4>
<a class="example-event fc-daygrid-event fc-daygrid-block-event fc-h-event fc-event fc-event-start fc-event-end fc-event-future shift_booked"><div class="fc-event-main"><div class="fc-event-main-frame"><div class="fc-event-time">06:00</div><div class="fc-event-title-container"><div class="fc-event-title fc-sticky"> Clemenceau -- 9/12</div></div></div></div></a> <a class="example-event fc-daygrid-event fc-daygrid-block-event fc-h-event fc-event fc-event-start fc-event-end fc-event-future shift_booked"><div class="fc-event-main"><div class="fc-event-main-frame"><div class="fc-event-time">06:00</div><div class="fc-event-title-container"><div class="fc-event-title fc-sticky">&nbsp;-- 9/12</div></div></div></div></a>
<p>Un service colorié en noir : je suis déjà inscrit à ce service.</p> <p>Un service colorié en noir : je suis déjà inscrit.e à ce service.</p>
<a class="example-event fc-daygrid-event fc-daygrid-block-event fc-h-event fc-event fc-event-start fc-event-end fc-event-future shift_less_alf"><div class="fc-event-main"><div class="fc-event-main-frame"><div class="fc-event-time">10:45</div><div class="fc-event-title-container"><div class="fc-event-title fc-sticky"> Clemenceau -- 3/12</div></div></div></div></a> <a class="example-event fc-daygrid-event fc-daygrid-block-event fc-h-event fc-event fc-event-start fc-event-end fc-event-future shift_less_alf"><div class="fc-event-main"><div class="fc-event-main-frame"><div class="fc-event-time">10:45</div><div class="fc-event-title-container"><div class="fc-event-title fc-sticky">&nbsp;-- 3/12</div></div></div></div></a>
<p>Un service colorié en bleu : je peux m'inscrire à ce service.</p> <p>Un service colorié en bleu : je peux m'inscrire à ce service.</p>
<p>3/12 <i class="arrow_explanation_numbers fas fa-arrow-right"></i> il y a déjà 3 places réservées à ce service sur 12 disponibles. <p>3/12 <i class="arrow_explanation_numbers fas fa-arrow-right"></i> il y a déjà 3 places réservées à ce service sur 12 disponibles.
<b>Plus le chiffre de gauche est petit, plus on a besoin de coopérateurs.rices à ce service !</b></p> <b>Plus le chiffre de gauche est petit, plus on a besoin de coopérateurs.rices à ce service !</b></p>
...@@ -76,6 +77,20 @@ ...@@ -76,6 +77,20 @@
var app_env = '{{app_env}}'; var app_env = '{{app_env}}';
var forms_link = '{{forms_link}}'; var forms_link = '{{forms_link}}';
var unsuscribe_form_link = '{{unsuscribe_form_link}}'; var unsuscribe_form_link = '{{unsuscribe_form_link}}';
var request_form_link = '{{request_form_link}}';
var late_service_form_link = '{{late_service_form_link}}';
var change_template_form_link = '{{change_template_form_link}}';
var associated_subscribe_form_link = '{{associated_subscribe_form_link}}';
var associated_unsubscribe_form_link = '{{associated_unsubscribe_form_link}}';
var template_unsubscribe_form_link = '{{template_unsubscribe_form_link}}';
var change_email_form_link = '{{change_email_form_link}}';
var coop_unsubscribe_form_link = '{{coop_unsubscribe_form_link}}';
var sick_leave_form_link = '{{sick_leave_form_link}}';
var underage_subscribe_form_link = '{{underage_subscribe_form_link}}';
var helper_subscribe_form_link = '{{helper_subscribe_form_link}}';
var helper_unsubscribe_form_link = '{{helper_unsubscribe_form_link}}';
var covid_form_link = '{{covid_form_link}}';
var covid_end_form_link = '{{covid_end_form_link}}';
var member_cant_have_delay_form_link = '{{member_cant_have_delay_form_link}}'; var member_cant_have_delay_form_link = '{{member_cant_have_delay_form_link}}';
var abcd_calendar_link = "{{abcd_calendar_link}}" var abcd_calendar_link = "{{abcd_calendar_link}}"
var days_to_hide = "{{daysToHide}}" var days_to_hide = "{{daysToHide}}"
...@@ -108,6 +123,7 @@ ...@@ -108,6 +123,7 @@
<script src="{% static "js/members-space-home.js" %}?v="></script> <script src="{% static "js/members-space-home.js" %}?v="></script>
<script src="{% static "js/members-space-my-info.js" %}?v="></script> <script src="{% static "js/members-space-my-info.js" %}?v="></script>
<script src="{% static "js/members-space-my-shifts.js" %}?v="></script> <script src="{% static "js/members-space-my-shifts.js" %}?v="></script>
<script src="{% static "js/members-space-faq.js" %}?v="></script>
<script src="{% static "js/members-space-shifts-exchange.js" %}?v="></script> <script src="{% static "js/members-space-shifts-exchange.js" %}?v="></script>
<script src="{% static "js/members-space.js" %}?v="></script> <script src="{% static "js/members-space.js" %}?v="></script>
{% endblock %} {% endblock %}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment