aboutsummaryrefslogtreecommitdiff
path: root/budget/templates/list_bills.html
blob: c33a7e2262278da9f4cd15b3d7fc32441f714dcd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
{% extends "layout.html" %}

{% block title %}- {{ g.project.name }}{% endblock %}
{% block head %}
    <script src="{{ url_for("static", filename="jquery/js/jquery-ui.js") }}"></script>
    {% if g.lang != "en" %}
    <script src="{{ url_for("static", filename="jquery/i18n/jquery.ui.datepicker-%s.js" % g.lang ) }}"></script>
    {% endif %}
    <script src="{{ url_for("static", filename="ihatemoney/custom.js") }}"></script>
{% endblock %}
{% block js %}
    $(window).resize(function() {
        $("#sidebar").height( window.innerHeight-40 );
        $("#table_overflow").height( $("#sidebar").height()-120 );
    });

    // display the form when clicking on the "add bill" button
    var show_form = function(){
        $('#bill-form').show(70);
        $("#new-bill").hide();
        return false;
    }
     
    // and provide a mechanism to hide it back
    var hide_form = function(){
        $("#bill-form").hide(70);
        $("#new-bill").show();
        return false;
    }

    $('#new-bill').click(show_form);
    $('#empty-new-bill').click(show_form);
    $('#hide-bill-form').click(hide_form);
    $('#cancel-form').click(hide_form);

    // ask for confirmation before removing an user
    $('a.remove').each(function(){
        $(this).hide();
        $(this).click(function(){
            if ($(this).hasClass("confirm")){
                return true;
            }
            $(this).html("{{_("you sure?")}}");
            $(this).addClass("confirm");
            return false;
        });
    });

    // display the remove button on mouse over (and hide them per default)
    $('.balance tr').hover(function(){
        $(this).find('.remove').show();
    }, function(){
        $(this).find('.remove').hide();
    });

    $.datepicker.setDefaults({'dateFormat': 'yy-mm-dd'});
    $(".datepicker").datepicker($.datepicker.regional['{{ g.lang }}']);
{% endblock %}

{% block sidebar %}
<div id="sidebar" class="sidebar">
    <h2>{{ _("Balance") }}</h2>

    <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 %}
    {% for member in g.project.members %}
    {% if member.activated or balance[member.id] != 0 %}
    <tr>
        <td>{{ member.name }}</td>
        <td class="{% if balance[member.id] > 0 %}positive{% elif balance[member.id] < 0 %}negative{% endif %}">
            {% if balance[member.id] > 0 %}+{% endif %}{{ balance[member.id] }}
        </td>
        <td> {% if member.activated %}<a class="remove" href="{{ url_for(".remove_member", member_id=member.id) }}">{{ _("delete") }}</a>{% else %}<a href="{{ url_for(".reactivate", member_id=member.id) }}">{{ _("reactivate") }}</a>{% endif %}</td>
    </tr>
    {% endif %}
    {% endfor %}
    </table>
    </div>

</div>
{% endblock %}

{% block content %}
<div class="identifier">{{ _("The project identifier is") }} <a href="{{ url_for(".list_bills") }}">{{ g.project.id }}</a>, {{ _("remember it!") }}</div>
<a id="new-bill" href="{{ url_for(".add_bill") }}" class="primary">{{ _("Add a new bill") }}</a>
    <form id="bill-form" action="{{ url_for(".add_bill") }}" method="post" style="display: none">
        <a id="hide-bill-form" href="#">{{ _("hide this form") }}</a>
        {{ forms.add_bill(bill_form) }}
</form>

    {% if bills.count() > 0 %}
    <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") }}">
            <td>{{ bill.date }}</td>
            <td>{{ bill.payer }}</td>
            <td>{{ bill.what }}</td>
            <td>{% for ower in bill.owers %}{{ ower.name }} {% endfor %}</td>
            <td>{{ "%0.2f"|format(bill.amount) }} ({{ "%0.2f"|format(bill.pay_each()) }} {{ _("each") }})</td>
            <td><a href="{{ url_for(".edit_bill", bill_id=bill.id) }}">{{ _("edit") }}</a>
                <a class="delete" href="{{ url_for(".delete_bill", bill_id=bill.id) }}">{{ _("delete") }}</a></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 %}
</div>
<script>
        $("#sidebar").height( window.innerHeight-40 );
        $("#table_overflow").height( $("#sidebar").height()-120 );
</script>
{% endblock %}