2011-03-10 03:37:21 +01:00
{% extends "layout.html" %}
2011-07-29 17:14:33 +02:00
2011-10-15 02:40:19 +02:00
{% block title %}- {{ g.project.name }}{% endblock %}
2011-10-16 23:38:27 +02:00
{% block head %}
2011-11-27 23:28:24 +01:00
< script src = "{{ url_for(" static " , filename = "js/jquery-ui.js" ) } } " > < / script >
2011-11-28 00:22:10 +01:00
< script src = "{{ url_for(" static " , filename = "js/bootstrap-modal.js" ) } } " > < / script >
2011-11-20 20:30:14 +01:00
{% if g.lang != "en" %}
2011-11-27 23:28:24 +01:00
< script src = "{{ url_for(" static " , filename = "js/i18n/jquery.ui.datepicker-%s.js" % g . lang ) } } " > < / script >
2011-11-20 20:30:14 +01:00
{% endif %}
2011-10-16 23:38:27 +02:00
{% endblock %}
2011-08-10 19:23:54 +02:00
{% block js %}
2011-11-20 20:30:14 +01:00
// specifies that the text in #name text field has to be hidden on user typing
auto_hide_default_text('#name');
$(window).resize(function() {
2011-11-27 23:03:06 +01:00
$("#sidebar").height( window.innerHeight-50 );
2011-11-20 20:30:14 +01:00
$("#table_overflow").height( $("#sidebar").height()-120 );
});
2011-11-28 00:22:10 +01:00
$('#cancel-form').click(function(){
$('#bill-form').modal('hide');
});
2011-11-20 20:30:14 +01:00
2011-11-28 01:42:02 +01:00
{% if add_bill %} $('#new-bill').click(); {% endif %}
2011-11-24 00:27:51 +01:00
// ask for confirmation before removing an user
2011-11-27 04:11:22 +01:00
$('.action').each(function(){
2011-11-20 20:30:14 +01:00
$(this).hide();
2011-11-27 04:11:22 +01:00
var link = $(this).find('a');
link.click(function(){
2011-11-24 00:27:51 +01:00
if ($(this).hasClass("confirm")){
return true;
}
$(this).html("{{_("you sure?")}}");
$(this).addClass("confirm");
return false;
});
2011-11-20 20:30:14 +01:00
});
2011-11-24 00:27:51 +01:00
// display the remove button on mouse over (and hide them per default)
$('.balance tr').hover(function(){
2011-11-27 04:11:22 +01:00
$(this).find('.action').show();
2011-11-24 00:27:51 +01:00
}, function(){
2011-11-27 04:11:22 +01:00
$(this).find('.action').hide();
2011-11-20 20:30:14 +01:00
});
$.datepicker.setDefaults({'dateFormat': 'yy-mm-dd'});
$(".datepicker").datepicker($.datepicker.regional['{{ g.lang }}']);
var highlight_owers = function(){
var ower_ids = $(this).attr("owers").split(',');
var payer_id = $(this).attr("payer");
$.each(ower_ids, function(i, val){
$('#bal-member-'+val).addClass("ower_line");
});
$("#bal-member-"+payer_id).addClass("payer_line");
};
var unhighlight_owers = function(){
$('[id^="bal-member-"]').removeClass("ower_line payer_line");
};
2011-11-21 02:35:57 +01:00
$('#bill_table tbody tr').hover(highlight_owers, unhighlight_owers);
2011-11-20 20:30:14 +01:00
2011-08-10 19:23:54 +02:00
{% endblock %}
2011-08-21 01:42:10 +02:00
{% block sidebar %}
2011-11-01 12:57:12 +01:00
< div id = "sidebar" class = "sidebar" >
2011-11-20 20:30:14 +01:00
< form action = "{{ url_for(" . add_member " ) } } " method = "post" >
{{ forms.add_member(member_form) }}
< / form >
< div id = "table_overflow" >
< table class = "balance" >
{% set balance = g.project.balance %}
2011-11-26 14:24:48 +01:00
{% for member in g.project.members | sort(attribute='name') if member.activated or balance[member.id] != 0 %}
2011-11-20 20:30:14 +01:00
< tr id = "bal-member-{{ member.id }}" action = {% if member . activated % } delete { % else % } reactivate { % endif % } >
< td class = "balance-name" > {{ member.name }}< / td >
< td class = "balance-value {% if balance[member.id] > 0 %}positive{% elif balance[member.id] < 0 %}negative{% endif %}" >
{% if balance[member.id] > 0 %}+{% endif %}{{ balance[member.id] }}
< / td >
2011-11-27 04:11:22 +01:00
{% if member.activated %}
< td class = "action delete" > < a href = "{{ url_for(" . remove_member " , member_id = member.id) } } " > {{ _("delete") }}< / a > < / td >
{% else %}
< td class = "action reactivate" > < a href = "{{ url_for(" . reactivate " , member_id = member.id) } } " > {{ _("reactivate") }}< / a > < / td >
{% endif %}
2011-11-20 20:30:14 +01:00
< / tr >
{% endfor %}
< / table >
< / div >
2011-08-21 01:42:10 +02:00
2011-10-18 18:39:38 +02:00
< / div >
2011-08-21 01:42:10 +02:00
{% endblock %}
2011-08-10 19:23:54 +02:00
2011-08-21 01:42:10 +02:00
{% block content %}
2011-10-20 04:18:12 +02:00
< div class = "identifier" > {{ _("The project identifier is") }} < a href = "{{ url_for(" . list_bills " ) } } " > {{ g.project.id }}< / a > , {{ _("remember it!") }}< / div >
2011-11-28 00:22:10 +01:00
< a id = "new-bill" href = "{{ url_for(" . add_bill " ) } } " class = "btn primary" data-controls-modal = "bill-form" data-backdrop = "true" data-keyboard = "true" > {{ _("Add a new bill") }}< / a >
< div id = "bill-form" class = "modal hide fade" >
< div class = "modal-header" >
< a href = "#" class = "close" > × < / a >
< h3 > {{ _('Add a bill') }}< / h3 >
< / div >
< form action = "{{ url_for(" . add_bill " ) } } " method = "post" >
{{ forms.add_bill(bill_form, title=False) }}
2011-11-20 20:30:14 +01:00
< / form >
2011-11-28 00:22:10 +01:00
< / div >
2011-11-20 20:30:14 +01:00
{% if bills.count() > 0 %}
< table id = "bill_table" class = "list_bills common-table zebra-striped" >
< thead > < tr > < th > {{ _("When?") }}< / th > < th > {{ _("Who paid?") }}< / th > < th > {{ _("For what?") }}< / th > < th > {{ _("For whom?") }}< / th > < th > {{ _("How much?") }}< / th > < th > {{ _("Actions") }}< / th > < / tr > < / thead >
< tbody >
{% for bill in bills %}
< tr class = "{{ loop.cycle(" odd " , " even " ) } } " owers = {{bill.owers|join(',','id')}} payer = {{bill.payer.id}} >
< td > {{ bill.date }}< / td >
< td > {{ bill.payer }}< / td >
< td > {{ bill.what }}< / td >
< td > {{ bill.owers|join(', ', 'name') }} < / td >
< td > {{ "%0.2f"|format(bill.amount) }} ({{ "%0.2f"|format(bill.pay_each()) }} {{ _("each") }})< / td >
< td class = "bill-actions" >
2011-11-28 00:22:10 +01:00
< a class = "edit" href = "{{ url_for(" . edit_bill " , bill_id = bill.id) } } " title = "{{ _(" edit " ) } } " > {{ _('edit') }}< / a >
< a class = "delete" href = "{{ url_for(" . delete_bill " , bill_id = bill.id) } } " title = "{{ _(" delete " ) } } " > {{ _('delete') }}< / a >
2011-11-20 20:30:14 +01:00
< / td >
< / tr >
{% endfor %}
< / tbody >
< / table >
{% else %}
< p > {{ _("Nothing to list yet. You probably want to") }} < a id = "empty-new-bill" href = "{{ url_for(" . add_bill " ) } } " > {{ _("add a bill") }}< / a > ?< / p >
{% endif %}
2011-07-23 20:36:13 +02:00
< / div >
2011-11-01 12:57:12 +01:00
< script >
2011-11-20 20:30:14 +01:00
$("#sidebar").height( window.innerHeight-40 );
$("#table_overflow").height( $("#sidebar").height()-120 );
2011-11-01 12:57:12 +01:00
< / script >
2011-03-10 03:37:21 +01:00
{% endblock %}