Some design and usability improvements.
This commit is contained in:
parent
e26fd91ff1
commit
b2727d9254
4
TODO
4
TODO
@ -1,3 +1,7 @@
|
|||||||
|
* Check database creation in install.php
|
||||||
|
* Don't display the whole balance table if not admin
|
||||||
|
|
||||||
|
|
||||||
Improvements :
|
Improvements :
|
||||||
==============
|
==============
|
||||||
* User groups
|
* User groups
|
||||||
|
16
index.php
16
index.php
@ -10,11 +10,9 @@
|
|||||||
'negative_amount'=>array('fr'=>'Montant négatif non autorisé.', 'en'=>'Negative amount not allowed.'),
|
'negative_amount'=>array('fr'=>'Montant négatif non autorisé.', 'en'=>'Negative amount not allowed.'),
|
||||||
'template_error'=>array('fr'=>'Template non disponible.', 'en'=>'Template not available.'),
|
'template_error'=>array('fr'=>'Template non disponible.', 'en'=>'Template not available.'),
|
||||||
'unauthorized'=>array('fr'=>'Vous n\'avez pas le droit de faire cette action.', 'en'=>'You are not authorized to do that.'),
|
'unauthorized'=>array('fr'=>'Vous n\'avez pas le droit de faire cette action.', 'en'=>'You are not authorized to do that.'),
|
||||||
'no_users'=>array('fr'=>'Vous devez ajouter au moins un autre utilisateur.', 'en'=>'You must add at least one more user beside you.')
|
'no_users'=>array('fr'=>'Vous devez ajouter au moins un autre utilisateur.', 'en'=>'You must add at least one more user beside you.'),
|
||||||
);
|
'what_unknown,'=>array('fr'=>'Vous devez renseigner un objet pour la dépense.', 'en'=>'You must add something to describe this invoice in "what" field.'),
|
||||||
|
'incorrect_amount'=>array('fr'=>'Montant incorrect ou nul.', 'en'=>'Incorrect amount or amount is zero.')
|
||||||
$localized = array(
|
|
||||||
'guest'=>array('fr'=>'invité', 'en'=>'guest')
|
|
||||||
);
|
);
|
||||||
|
|
||||||
// Include necessary files
|
// Include necessary files
|
||||||
@ -150,6 +148,8 @@
|
|||||||
}
|
}
|
||||||
$tpl->assign('connection', true);
|
$tpl->assign('connection', true);
|
||||||
$tpl->assign('user_post', (!empty($_POST['login'])) ? htmlspecialchars($_POST['login']) : '');
|
$tpl->assign('user_post', (!empty($_POST['login'])) ? htmlspecialchars($_POST['login']) : '');
|
||||||
|
if(!empty($error))
|
||||||
|
$tpl->assign('error', $error);
|
||||||
$tpl->assign('token', generate_token('connection'));
|
$tpl->assign('token', generate_token('connection'));
|
||||||
$tpl->draw('connection');
|
$tpl->draw('connection');
|
||||||
break;
|
break;
|
||||||
@ -517,6 +517,12 @@
|
|||||||
$tpl->assign('amount_post', (!empty($amount) ? (float) $amount : 0));
|
$tpl->assign('amount_post', (!empty($amount) ? (float) $amount : 0));
|
||||||
$tpl->assign('what_post', (!empty($what) ? htmlspecialchars($what) : ''));
|
$tpl->assign('what_post', (!empty($what) ? htmlspecialchars($what) : ''));
|
||||||
$tpl->assign('users', secureDisplay($users_list));
|
$tpl->assign('users', secureDisplay($users_list));
|
||||||
|
|
||||||
|
if(empty($_POST['what']))
|
||||||
|
$tpl->assign('error', $errors['what_unknown'][LANG]);
|
||||||
|
if((float) $_POST['amount'] == 0)
|
||||||
|
$tpl->assign('error', $errors['incorrect_amount'][LANG]);
|
||||||
|
|
||||||
$tpl->assign('users_in', (!empty($users_in) ? $users_in : array()));
|
$tpl->assign('users_in', (!empty($users_in) ? $users_in : array()));
|
||||||
$tpl->assign('id', (!empty($_GET['id']) ? (int) $_GET['id'] : 0));
|
$tpl->assign('id', (!empty($_GET['id']) ? (int) $_GET['id'] : 0));
|
||||||
$tpl->assign('token', generate_token('new_invoice'));
|
$tpl->assign('token', generate_token('new_invoice'));
|
||||||
|
@ -39,7 +39,7 @@ table {
|
|||||||
}
|
}
|
||||||
|
|
||||||
table td, table th {
|
table td, table th {
|
||||||
padding: 0.5em;
|
padding: 0.75em;
|
||||||
border: 1px solid black;
|
border: 1px solid black;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -135,6 +135,10 @@ input[type=submit] {
|
|||||||
text-align: center
|
text-align: center
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#connexion_form .label-block {
|
||||||
|
width: 150px;
|
||||||
|
}
|
||||||
|
|
||||||
#edit_password_form, #edit_user_form, #invoice_form, #notice_form, #global_payback_form {
|
#edit_password_form, #edit_user_form, #invoice_form, #notice_form, #global_payback_form {
|
||||||
width: 67%;
|
width: 67%;
|
||||||
margin: auto;
|
margin: auto;
|
||||||
|
@ -44,6 +44,26 @@ function toggle_password(id) {
|
|||||||
document.getElementById(id).type = 'password';
|
document.getElementById(id).type = 'password';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function payback_nobody() {
|
||||||
|
var users = document.getElementById('global_payback_form').getElementsByClassName("users_in");
|
||||||
|
|
||||||
|
for(var index = 0; index < users.length; index ++) {
|
||||||
|
users[index].checked = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function payback_everybody() {
|
||||||
|
var users = document.getElementById('global_payback_form').getElementsByClassName("users_in");
|
||||||
|
|
||||||
|
for(var index = 0; index < users.length; index ++) {
|
||||||
|
users[index].checked = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
$('#balance_table td, #global_paybacks_table td').hover(function() {
|
$('#balance_table td, #global_paybacks_table td').hover(function() {
|
||||||
$(this).closest('tr').find('td,th').addClass('highlight_td');
|
$(this).closest('tr').find('td,th').addClass('highlight_td');
|
||||||
|
@ -31,9 +31,10 @@
|
|||||||
<fieldset>
|
<fieldset>
|
||||||
<legend>Users to include</legend>
|
<legend>Users to include</legend>
|
||||||
{loop="$users"}
|
{loop="$users"}
|
||||||
<input type="checkbox" id="users_in_{$value->getId()}" name="users_in[]" value="{$value->getId()}"/>
|
<input type="checkbox" id="users_in_{$value->getId()}" name="users_in[]" class="users_in" value="{$value->getId()}" checked="checked"/>
|
||||||
<label for="users_in_{$value->getId()}">{$value->getDisplayName()}</label><br/>
|
<label for="users_in_{$value->getId()}">{$value->getDisplayName()}</label><br/>
|
||||||
{/loop}
|
{/loop}<br/>
|
||||||
|
Select : <a href="" onclick="return payback_nobody();">Nobody</a> / <a href="" onclick="return payback_everybody();">Everybody</a>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<p>
|
<p>
|
||||||
<input type="submit" onclick="return confirm('You are going to add a global payback which includes the selected user. Confirm ?');" value="Confirm"/>
|
<input type="submit" onclick="return confirm('You are going to add a global payback which includes the selected user. Confirm ?');" value="Confirm"/>
|
||||||
|
@ -39,7 +39,7 @@ table {
|
|||||||
}
|
}
|
||||||
|
|
||||||
table td, table th {
|
table td, table th {
|
||||||
padding: 0.5em;
|
padding: 0.75em;
|
||||||
border: 1px solid black;
|
border: 1px solid black;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -135,6 +135,10 @@ input[type=submit] {
|
|||||||
text-align: center
|
text-align: center
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#connexion_form .label-block {
|
||||||
|
width: 150px;
|
||||||
|
}
|
||||||
|
|
||||||
#edit_password_form, #edit_user_form, #invoice_form, #notice_form, #global_payback_form {
|
#edit_password_form, #edit_user_form, #invoice_form, #notice_form, #global_payback_form {
|
||||||
width: 67%;
|
width: 67%;
|
||||||
margin: auto;
|
margin: auto;
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
<td>{$value->getId()}</td>
|
<td>{$value->getId()}</td>
|
||||||
<td>{$value->getLogin()}</td>
|
<td>{$value->getLogin()}</td>
|
||||||
<td>{$value->getDisplayName()}</td>
|
<td>{$value->getDisplayName()}</td>
|
||||||
<td>{$value->getAdmin() ? "Yes" : "No"}</td>
|
<td>{$value->getAdmin() ? "Oui" : "Non"}</td>
|
||||||
<td><a href="index.php?do=edit_users&user_id={$value->getId()}">Modifier</a></td>
|
<td><a href="index.php?do=edit_users&user_id={$value->getId()}">Modifier</a></td>
|
||||||
<td>{if condition="$value->getId() != $current_user->getId()"}<a href="index.php?do=delete_user&user_id={$value->getId()}&token={$token}">Supprimer</a>{/if}</td>
|
<td>{if condition="$value->getId() != $current_user->getId()"}<a href="index.php?do=delete_user&user_id={$value->getId()}&token={$token}">Supprimer</a>{/if}</td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -60,7 +60,7 @@
|
|||||||
<form method="post" action="index.php?do=password" id="edit_password_form">
|
<form method="post" action="index.php?do=password" id="edit_password_form">
|
||||||
<p><label for="password" class="label-block">Nouveau mot de passe : </label><input type="password" id="password" name="password"/> <a href="" onclick="toggle_password('password'); return false;"><img src="img/toggleVisible.png" alt="Afficher / Masquer"/></a></p>
|
<p><label for="password" class="label-block">Nouveau mot de passe : </label><input type="password" id="password" name="password"/> <a href="" onclick="toggle_password('password'); return false;"><img src="img/toggleVisible.png" alt="Afficher / Masquer"/></a></p>
|
||||||
<p><label for="password_confirm" class="label-block">Confirmation : </label><input type="password" id="password_confirm" name="password_confirm"/> <a href="" onclick="toggle_password('password_confirm'); return false;"><img src="img/toggleVisible.png" alt="Afficher / Masquer"/></a></p>
|
<p><label for="password_confirm" class="label-block">Confirmation : </label><input type="password" id="password_confirm" name="password_confirm"/> <a href="" onclick="toggle_password('password_confirm'); return false;"><img src="img/toggleVisible.png" alt="Afficher / Masquer"/></a></p>
|
||||||
<p class="center"><input type="submit" value="Update"/><input type="hidden" name="token" value="{$token}"</p>
|
<p class="center"><input type="submit" value="Enregistrer"/><input type="hidden" name="token" value="{$token}"</p>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<h2>Votre jeton de connexion à l'API</h2>
|
<h2>Votre jeton de connexion à l'API</h2>
|
||||||
|
@ -58,9 +58,9 @@
|
|||||||
{loop="$value->getUsersIn()->get()"}
|
{loop="$value->getUsersIn()->get()"}
|
||||||
{$users[$key2]->getDisplayName()}
|
{$users[$key2]->getDisplayName()}
|
||||||
{if condition="$value2 > 1"}
|
{if condition="$value2 > 1"}
|
||||||
({$value2} guests)
|
({$value2} invités)
|
||||||
{elseif condition="$value2 == 1"}
|
{elseif condition="$value2 == 1"}
|
||||||
({$value2} guest)
|
({$value2} invité)
|
||||||
{/if}
|
{/if}
|
||||||
{if condition="$value1->getBuyer() != $key2"}
|
{if condition="$value1->getBuyer() != $key2"}
|
||||||
-
|
-
|
||||||
|
@ -44,6 +44,26 @@ function toggle_password(id) {
|
|||||||
document.getElementById(id).type = 'password';
|
document.getElementById(id).type = 'password';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function payback_nobody() {
|
||||||
|
var users = document.getElementById('global_payback_form').getElementsByClassName("users_in");
|
||||||
|
|
||||||
|
for(var index = 0; index < users.length; index ++) {
|
||||||
|
users[index].checked = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function payback_everybody() {
|
||||||
|
var users = document.getElementById('global_payback_form').getElementsByClassName("users_in");
|
||||||
|
|
||||||
|
for(var index = 0; index < users.length; index ++) {
|
||||||
|
users[index].checked = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
$('#balance_table td, #global_paybacks_table td').hover(function() {
|
$('#balance_table td, #global_paybacks_table td').hover(function() {
|
||||||
$(this).closest('tr').find('td,th').addClass('highlight_td');
|
$(this).closest('tr').find('td,th').addClass('highlight_td');
|
||||||
|
@ -31,9 +31,10 @@
|
|||||||
<fieldset>
|
<fieldset>
|
||||||
<legend>Utilisateurs à inclure</legend>
|
<legend>Utilisateurs à inclure</legend>
|
||||||
{loop="$users"}
|
{loop="$users"}
|
||||||
<input type="checkbox" id="users_in_{$value->getId()}" name="users_in[]" value="{$value->getId()}"/>
|
<input type="checkbox" id="users_in_{$value->getId()}" name="users_in[]" class="users_in" value="{$value->getId()}" checked="checked"/>
|
||||||
<label for="users_in_{$value->getId()}">{$value->getDisplayName()}</label><br/>
|
<label for="users_in_{$value->getId()}">{$value->getDisplayName()}</label><br/>
|
||||||
{/loop}
|
{/loop}<br/>
|
||||||
|
Sélectionner : <a href="" onclick="return payback_nobody();">Personne</a> / <a href="" onclick="return payback_everybody();">Tout le monde</a>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<p>
|
<p>
|
||||||
<input type="submit" onclick="return confirm('Vous êtes sur le point d\'ajouter un remboursement global incluant les utilisateurs sélectionnés.');" value="Valider"/>
|
<input type="submit" onclick="return confirm('Vous êtes sur le point d\'ajouter un remboursement global incluant les utilisateurs sélectionnés.');" value="Valider"/>
|
||||||
|
Loading…
Reference in New Issue
Block a user