ajouter agenda.pt en fullcalendar

This commit is contained in:
2017-03-10 15:23:47 +01:00
parent 0e7b015d20
commit 6612b0b81b
21 changed files with 534 additions and 627 deletions

View File

@@ -0,0 +1,53 @@
<metal:block use-macro="main_template">
<div metal:fill-slot="content">
<div class="container">
<div class="form-group">
<div class="row">
<div class="col-md-2">
<a class="btn btn-primary" role="button" href="/home">
<span class="glyphicon glyphicon-chevron-left"></span> Retour</a>
</div>
<form method="POST" id="frm">
<div class="col-md-3">
<select class="form-control" id="agenda" name="agenda" onChange="$('#frm').submit()">
<optgroup tal:repeat="item agendas">
<option value="${item.code}" tal:attributes="selected agenda==item.code and 'selected' or None">${item.nom}</option>
</optgroup>
</select>
</div>
</form>
<div class="col-md-5">
<p>
<span class="label label-danger">RDV Peinture</span>&nbsp;<span class="label label-warning">RDV Menuiserie</span>&nbsp;
<span class="label label-success">RDV Plomberiee</span>&nbsp;<span class="label label-info">RDV Polynet</span>&nbsp;
</p>
</div>
</div>
</div>
</div>
<br />
<div class="container">
<div id="calendar"></div>
</div>
<br />
<br />
<script>
$(document).ready(function() {
$('#calendar').fullCalendar({
locale: 'fr',
header: {
left: 'agendaDay agendaWeek month',
center: 'prev title next',
right: 'today'
},
events:${fullcalendar_events},
});
});
</script>
</div><!-- content -->
</metal:block>

View File

@@ -0,0 +1,57 @@
<metal:block use-macro="main_template">
<div metal:fill-slot="content">
<div tal:condition="message" tal:content="message" class="alert alert-danger" />
<div class="row">
<div class="col-xs-3">
<form id="change-password-form" action="${url}" method="post" tal:condition="member"
data-fv-framework="bootstrap"
data-fv-icon-valid="glyphicon glyphicon-ok"
data-fv-icon-invalid="glyphicon glyphicon-remove"
data-fv-icon-validating="glyphicon glyphicon-refresh">
<div class="form-group">
<label class="control-label" for="old_password">Mot de passe actuel</label>
<input class="form-control" type="password" size="10" name="old_password"
data-fv-notempty="true"
data-fv-notempty-message="Le mot de passe est obligatoire" />
</div>
<div class="form-group">
<label class="control-label" for="new_password1">Nouveau mot de passe</label>
<input class="form-control" type="password" size="10" name="new_password1"
data-fv-notempty="true"
data-fv-notempty-message="Le mot de passe est obligatoire"
data-fv-stringlength="true"
data-fv-stringlength-min="6"
data-fv-stringlength-message="Le mot de passe doit avoir au moins 6 charactères" />
</div>
<div class="form-group">
<label class="control-label" for="new_password2">Confirmer le mot de passe</label>
<input class="form-control" type="password" size="10" name="new_password2"
data-fv-identical="true"
data-fv-identical-field="new_password1"
data-fv-identical-message="Le mot de passe et sa confirmation ne sont pas identiques" />
</div>
<div class="form-group">
<button class="btn btn-primary" type="submit" name="form.submitted">Changer le mot de passe</button>
</div>
</form>
</div>
</div> <!-- row -->
<script>
$(document).ready(function() {
$('#change-password-form').formValidation();
$('form input').on('keypress', function(e) {
return e.which !== 13;
});
});
</script>
</div>
</metal:block>

View File

@@ -6,18 +6,18 @@
<div class="row col-md-6 well">
<p>
Vì lý do an toàn, mật khẩu của bạn đã được mã hóa và không thể lấy lại. Hãy điền email vào bên phía dưới để tiến hành đặt lại mật khẩu mới.
</p>
Pour des raisons de sécurité, nous gardons votre mot de passe chiffré, et nous ne pouvons pas vous l'envoyer.
Si vous souhaitez ré-initialiser votre mot de passe, remplissez le formulaire ci-dessous et nous vous enverrons un email pour démarrer la phase de ré-initialisation de votre mot de passe. </p>
<br />
<form id="email_login-form" role="form" action="${url}" method="post">
<div class="form-group">
<label class="control-label" for="login">Email đăng nhập của tôi</label>
<label class="control-label" for="login">Mon identifiant</label>
<div>
<input class="form-control" type="text" size="20" id="login" name="login" value="" />
</div>
</div>
<div class="form-group">
<button class="btn btn-primary" type="submit" name="form.submitted" value="Envoyer">Gởi đi</button>
<button class="btn btn-primary" type="submit" name="form.submitted" value="Envoyer">Envoyer</button>
</div>
</form>
</div><!-- row -->

View File

@@ -5,9 +5,9 @@
<br />
<div class="row">
<div class="col-sm-3">
<a href="${request.application_url}/members">
<span class="glyphicon glyphicon-user logo-small"></span><br />
<h4>DANH SÁCH</h4></a>
<a href="${request.application_url}/agenda">
<span class="glyphicon glyphicon-calendar logo-small"></span><br />
<h4>AGENDA</h4></a>
</div>
</div> <!-- row 1 -->
<br />

View File

@@ -10,7 +10,8 @@
<!-- Bootstrap core + Plug-ins CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link href="${request.static_url('mondumas:static/dist/datatable/dataTables.bootstrap.css')}" rel="stylesheet" media="all">
<link href="//cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.1.0/fullcalendar.min.css" rel="stylesheet">
<!-- link href="${request.static_url('mondumas:static/dist/datatable/dataTables.bootstrap.css')}" rel="stylesheet" media="all" -->
<link href="${request.static_url('mondumas:static/dist/formvalidation/css/formValidation.min.css')}" rel="stylesheet">
<!-- Custom CSS -->
<link href="${request.static_url('mondumas:static/css/style.less')}" type="text/css" rel="stylesheet/less">
@@ -19,9 +20,14 @@
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<!-- Datatable -->
<!-- Bootstrap Fullcalendar plugin -->
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.1.0/fullcalendar.min.js"></script>
<script src="${request.static_url('mondumas:static/dist/fullcalendar/fr.js')}"></script>
<!-- Datatable
<script src="${request.static_url('mondumas:static/dist/datatable/jquery.dataTables.js')}"></script>
<script src="${request.static_url('mondumas:static/dist/datatable/dataTables.bootstrap.js')}"></script>
-->
<!-- FormValidation plugin -->
<script src="${request.static_url('mondumas:static/dist/formvalidation/js/formValidation.min.js')}"></script>
<script src="${request.static_url('mondumas:static/dist/formvalidation/js/framework/bootstrap.min.js')}"></script>
@@ -85,7 +91,7 @@
<div id="footer">
<div class="well">
<p>© 2017&nbsp;-&nbsp;<a href="http://pagode-tinhdo.blogspot.fr/" target="_blank">Pagode Tịnh Độ</a></p>
<p>© 2017&nbsp;-&nbsp;<a href="http://www.entreprise-dumas.com/" target="_blank">Entreprise Dumas</a></p>
</div>
</div>

View File

@@ -11,31 +11,29 @@
data-fv-icon-invalid="glyphicon glyphicon-remove"
data-fv-icon-validating="glyphicon glyphicon-refresh">
<h3>Đăng nhập</h3>
<h3>Se connecter</h3>
<input type="hidden" name="came_from" value="${came_from}"/>
<div class="form-group">
<input class="form-control" type="text" name="login" value="${login}"
placeholder="Email"
placeholder="Identifiant"
data-fv-notempty="true"
data-fv-notempty-message="Xin bạn nhập email"
data-fv-emailaddress="true"
data-fv-emailaddress-message="Địa chỉ email không hợp lệ" />
data-fv-notempty-message="L'identifiant est obligatoire" />
</div>
<div class="form-group">
<input class="form-control" type="password" name="password" value=""
placeholder="Mt khẩu"
placeholder="Mot de passe"
data-fv-notempty="true"
data-fv-notempty-message="Xin bạn nhập mật khẩu">
data-fv-notempty-message="Le mot de passe est obligatoire">
</div>
<div class="form-group">
<button class="btn btn-primary" type="submit" name="form.submitted">Đăng nhập</button>
<button class="btn btn-primary" type="submit" name="form.submitted">Se connecter</button>
&nbsp;&nbsp;
</div>
<p class="help-block">
<a href="/envoyer_mdp">Quên mật khẩu ?</a>
<a href="/envoyer_mdp">Mot de passe oublié ?</a>
</p>
</form>
</div>

View File

@@ -1,163 +0,0 @@
<metal:block use-macro="main_template">
<div metal:fill-slot="content">
<div tal:condition="message" tal:content="message" class="alert alert-danger" />
<br />
<div class="row">
<form id="empl_edit-form" class="form-horizontal" action="${url}" method="post" tal:condition="membre"
data-fv-framework="bootstrap"
data-fv-icon-valid="glyphicon glyphicon-ok"
data-fv-icon-invalid="glyphicon glyphicon-remove"
data-fv-icon-validating="glyphicon glyphicon-refresh">
<div class="form-group">
<label class="control-label col-xs-2" for="secteur">Xưng hô</label>
<div class="col-xs-2">
<select class="form-control" id="civilite" name="civilite">
<optgroup tal:repeat="item civilites">
<option value="${item}" tal:attributes="selected membre.civilite==item and 'selected' or None">${item}</option>
</optgroup>
</select>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-2" for="intitule">Họ</label>
<div class="col-xs-5">
<input class="form-control" type="text" id="intitule" name="nom" value="${membre.nom}"
placeholder="30 caractères maximum"
data-fv-notempty="true"
data-fv-notempty-message="Le nom est obligatoire"
data-fv-stringlength="true"
data-fv-stringlength-max="30"
data-fv-stringlength-message="30 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-2" for="intitule">Tên</label>
<div class="col-xs-5">
<input class="form-control" type="text" id="intitule" name="prenom" value="${membre.prenom}"
placeholder="30 caractères maximum"
data-fv-notempty="true"
data-fv-notempty-message="Le prénom est obligatoire"
data-fv-stringlength="true"
data-fv-stringlength-max="30"
data-fv-stringlength-message="30 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-2" for="intitule">Địa chỉ</label>
<div class="col-xs-5">
<input class="form-control" type="text" id="adresse" name="adresse" value="${membre.adresse}"
data-fv-stringlength="true"
data-fv-stringlength-max="50"
data-fv-stringlength-message="50 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-2" for="intitule">Địa chỉ 2</label>
<div class="col-xs-5">
<input class="form-control" type="text" id="adresse2" name="adresse2" value="${membre.adresse2}"
data-fv-stringlength="true"
data-fv-stringlength-max="50"
data-fv-stringlength-message="50 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-2" for="intitule">Mã Bđ - Thành phố</label>
<div class="col-xs-2">
<input class="form-control" type="text" id="cp" name="cp" value="${membre.cp}"
data-fv-stringlength="true"
data-fv-stringlength-max="50"
data-fv-stringlength-message="50 caractères maximum" />
</div>
<div class="col-xs-5">
<input class="form-control" type="text" id="ville" name="ville" value="${membre.ville}"
data-fv-stringlength="true"
data-fv-stringlength-max="50"
data-fv-stringlength-message="50 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-2" for="intitule">Điện thoai</label>
<div class="col-xs-2">
<input class="form-control" type="text" id="tel_fixe" name="tel_fixe" value="${membre.tel_fixe}"
placeholder="Téléphone fixe"
data-fv-stringlength="true"
data-fv-stringlength-max="50"
data-fv-stringlength-message="50 caractères maximum" />
</div>
<div class="col-xs-2">
<input class="form-control" type="text" id="tel_mobile" name="tel_mobile" value="${membre.tel_mobile}"
placeholder="Téléphone mobile"
data-fv-stringlength="true"
data-fv-stringlength-max="50"
data-fv-stringlength-message="50 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="col-xs-2 control-label">Địa chỉ email</label>
<div class="col-xs-5">
<input class="form-control" type="text" name="email"
value="${membre.email}" placeholder="50 caractères maximum"
data-fv-emailaddress="true"
data-fv-emailaddress-message="L'adresse email n'est pas valide" />
</div>
</div>
<div class="form-group">
<label class="col-xs-2 control-label">Pháp danh</label>
<div class="col-xs-5">
<input class="form-control" type="text" name="phap_danh"
value="${membre.phap_danh}" placeholder="50 caractères maximum"
data-fv-stringlength-max="50"
data-fv-stringlength-message="50 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-2" for="notes">Ghi chú</label>
<div class="col-xs-5">
<textarea class="form-control" rows="6" cols="40" id="texte" name="notes"
data-fv-stringlength="true"
data-fv-stringlength-max="30000"
data-fv-stringlength-message="30000 caractères maximum">${membre.notes}
</textarea>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-2" for="statut">Tình trạng</label>
<div class="col-xs-2">
<select class="form-control" id="etat" name="etat">
<optgroup tal:repeat="item etats">
<option value="${item}" tal:attributes="selected membre.statut==item and 'selected' or None">${item}</option>
</optgroup>
</select>
</div>
</div>
<div class="form-group">
<div class="col-xs-offset-2 col-xs-10">
<div class="form-group">
<button class="btn btn-primary" type="submit" name="form.submitted">
<span class="glyphicon glyphicon-ok"></span> Lưu</button>
<button class="btn btn-warning" type="submit" name="form.deleted"
tal:condition="python: membre.mbr_id > 0">
<span class="glyphicon glyphicon-remove"></span> Xóa</button>
<a class="btn btn-default" href="${request.application_url}/empl_list"><span class="glyphicon glyphicon-arrow-left"></span> Trở lại</a>
</div>
</div>
</div>
</form>
<br />
<br />
<br />
</div> <!-- row -->
<script>
$(document).ready(function() {
$('#empl_edit-form').formValidation();
$('form input').on('keypress', function(e) {
return e.which !== 13;
});
});
</script>
</div>
</metal:block>

View File

@@ -1,83 +0,0 @@
<metal:block use-macro="main_template">
<div metal:fill-slot="content">
<p><a class="btn btn-success" role="button" href="${request.route_url('member_edit', mbr_id=0)}">
<span class="glyphicon glyphicon-plus"></span> Thêm HV</a></p>
<table id="members" class="table table-striped table-bordered">
<thead>
<tr>
<th>Nom Prénom</th>
<th>Civ.</th>
<th>Email</th>
<th>Ville</th>
<th>Statut</th>
<th>Pháp danh</th>
<th>Etat</th>
<th>No ID</th>
</tr>
</thead>
</table>
<script type="text/javascript">
var dataSet = ${dt_data};
$(document).ready(function() {
$('#members').DataTable({
data: dataSet,
pageLength: 100,
// traduction en français de l'interface
language: {
processing: "Traitement en cours...",
search: "Rechercher&nbsp;:",
lengthMenu: "Afficher _MENU_ &eacute;l&eacute;ments",
info: "Affichage de l'&eacute;lement _START_ &agrave; _END_ sur _TOTAL_ &eacute;l&eacute;ments",
infoEmpty: "Affichage de l'&eacute;lement 0 &agrave; 0 sur 0 &eacute;l&eacute;ments",
infoFiltered: "(filtr&eacute; de _MAX_ &eacute;l&eacute;ments au total)",
infoPostFix: "",
loadingRecords: "Chargement en cours...",
zeroRecords: "Aucun &eacute;l&eacute;ment &agrave; afficher",
emptyTable: "Aucune donnée disponible dans le tableau",
paginate: {
first: "Premier",
previous: "Pr&eacute;c&eacute;dent",
next: "Suivant",
last: "Dernier"
},
aria: {
sortAscending: ": activer pour trier la colonne par ordre croissant",
sortDescending: ": activer pour trier la colonne par ordre décroissant"
}
},
columnDefs: [
{ className: "text-center", "targets": [5,6] },
{ "targets": 7,
"render": function (data, type, full, meta) {
// ajouter un link vers le formulaire
return '<a class="btn btn-primary btn-sm" role="button" href="/member_view/' +
data + '"><span class="glyphicon glyphicon-chevron-right"></span> ' + data + '</a>';
},
},
{ "targets": 4,
"render": function (data, type, full, meta) {
// colorier la cellule en rouge ou vert selon son contenu
if (parseInt(data) > 10) {
return '<span class="text-danger">' + data + '</span>';
}
else {
return '<span class="text-success">' + data + '</span>';
}
},
}
]
});
});
</script>
<br>
<br>
</div><!-- content -->
</metal:block>

View File

@@ -1,29 +0,0 @@
<metal:block use-macro="main_template">
<div metal:fill-slot="content">
<div class="form-group">
<div class="row">
<form method="POST" id="frm">
<div class="col-md-3">
<select class="form-control" id="valide" name="valide" onChange="$('#frm').submit()">
<optgroup tal:repeat="item types">
<option value="${item}" tal:attributes="selected type==item and 'selected' or None">${item}</option>
</optgroup>
</select>
</div>
</form>
</div>
</div>
<br />
<p>Tổng cộng : <span class="text-right text-danger">${total}</span></p>
<div class="row">
<ul tal:repeat="adr adresses">
${adr.email},<br />
</ul
</div>
</div><!-- content -->
</metal:block>

View File

@@ -3,10 +3,13 @@
<ul class="dropdown-menu">
<li class="dropdown-header">
${logged_in}<br />
Numéro ID : ${logged_in_id}
${logged_in_email}<br />
Identifiant : ${logged_in}
</li>
<li class="divider"></li>
<li><a href="${request.application_url}/changer_mdp">Changer mon mot de passe</a></li>
<li class="divider"></li>
<li><a href="${request.application_url}/logout">
<span class="glyphicon glyphicon-off"></span>&nbsp;Se déconnecter</a></li>

View File

@@ -12,26 +12,23 @@
<div id="change-password" class="col-md-6 well">
<div class="form-group">
<label class="control-label" for="login">Email đăng nhập</label>
<label class="control-label" for="login">Mon identifiant</label>
<input class="form-control" type="text" name="login"
placeholder="Email"
data-fv-notempty="true"
data-fv-notempty-message="Xin bạn nhập email"
data-fv-emailaddress="true"
data-fv-emailaddress-message="Địa chỉ email không hợp lệ" />
data-fv-notempty-message="Veuillez saisir votre identifiant" />
</div>
<div class="form-group">
<label class="control-label" for="new_password1">Mật khẩu mới</label>
<label class="control-label" for="new_password1">Nouveau mot de passe</label>
<input class="form-control" type="password" size="10" id="new_password1" name="new_password1" />
</div>
<div class="form-group">
<label class="control-label" for="new_password2">Nhập lại mt khẩu</label>
<label class="control-label" for="new_password2">Confirmer le mot de passe</label>
<input class="form-control" type="password" size="10" id="new_password2" name="new_password2"
value="" />
</div>
<button class="btn btn-primary" type="submit" name="form.submitted" value="Changer le mot de passe">Đặt mật khẩu</button>
<button class="btn btn-primary" type="submit" name="form.submitted" value="Changer le mot de passe">Envoyer</button>
</div>
</form>
</div> <!-- row -->