diff --git a/budget/static/main.css b/budget/static/main.css index 94ac842..c14e0b7 100644 --- a/budget/static/main.css +++ b/budget/static/main.css @@ -1,4 +1,4 @@ - @import "bootstrap-1.0.0.min.css"; + @import "bootstrap-1.0.0.min.css"; @import url(http://fonts.googleapis.com/css?family=Lobster|Comfortaa); @import "jquery/jquery-ui.css"; @@ -156,3 +156,24 @@ div.topbar ul.secondary-nav { padding-right: 75px; } cursor:pointer; display:none; } + +.balance-value{ + text-align:right; +} + +tr.ower_line { + /* Fallback for web browsers that doesn't support RGBa */ + background: rgb(255, 255, 255) transparent; + /* RGBa with 0.6 opacity */ + background: rgba(255, 255, 255, 0.4); + /* For IE 5.5 - 7*/ + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#66FFFFFF, endColorstr=#66FFFFFF); + /* For IE 8*/ + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#66FFFFFF, endColorstr=#66FFFFFF)"; +} + +tr.payer_line .balance-name{ + color:green; + text-indent:5px; +} + diff --git a/budget/templates/list_bills.html b/budget/templates/list_bills.html index b6fd991..95349ae 100644 --- a/budget/templates/list_bills.html +++ b/budget/templates/list_bills.html @@ -2,195 +2,202 @@ {% block title %}- {{ g.project.name }}{% endblock %} {% block head %} - - {% if g.lang != "en" %} - - {% endif %} - + + {% if g.lang != "en" %} + + {% endif %} + {% 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').slideDown(100); - $("#hide-bill-form").show(); - $("#new-bill").hide(); - return false; - } - - // and provide a mechanism to hide it back - var hide_form = function(){ - $("#bill-form").slideUp(100); - $("#new-bill").show(); - $("#hide-bill-form").hide(); - return false; - } - - - auto_hide_default_text('#name'); + // specifies that the text in #name text field has to be hidden on user typing + auto_hide_default_text('#name'); - $('#new-bill').click(show_form); - $('#empty-new-bill').click(show_form); - $('#hide-bill-form').click(hide_form); - $('#cancel-form').click(hide_form); + $(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').slideDown(100); + $("#hide-bill-form").show(); + $("#new-bill").hide(); + return false; + } + + // and provide a mechanism to hide it back + var hide_form = function(){ + $("#bill-form").slideUp(100); + $("#new-bill").show(); + $("#hide-bill-form").hide(); + return false; + } + + $('#new-bill').click(show_form); + $('#empty-new-bill').click(show_form); + $('#hide-bill-form').click(hide_form); + $('#cancel-form').click(hide_form); - var tr_id; - var id; + var tr_id; + var id; - // display the remove button on mouse over (and hide them per default) - $('.balance tr').hover(function() - { - tr_id = $(this).attr('id'); + // display the remove button on mouse over (and hide them per default) + $('.balance tr').hover(function() + { + tr_id = $(this).attr('id'); + var index = tr_id.lastIndexOf("-"); + id = tr_id.substring(index+1); + var action = $(this).attr('action'); + + var x = $(this).offset().left; + var y = $(this).offset().top; + var width = $(this).width(); + var height = $(this).height(); - var index = tr_id.indexOf("-"); - var action = tr_id.substring(0, index); - id = tr_id.substring(index+1); + $('#overlay').css({ "left":x+"px", "top":y+"px", "width":width+"px", "height":height+"px", "line-height":height+"px" }).show(); - var x = $(this).offset().left; - var y = $(this).offset().top; - var width = $(this).width(); - var height = $(this).height(); + if(!$(this).hasClass("confirm")) + { + $('#overlay').html(""); + if (action == 'delete') + { + $('#overlay-delete').css({ "left":(x+width/2-16)+"px", "top":(y+height/2-16)+"px" }).show(); + } + else if (action == 'reactivate') + { + $('#overlay-reactivate').css({ "left":(x+width/2-16)+"px", "top":(y+height/2-16)+"px" }).show(); + } + } + else + { + var url = "{{ url_for('.remove_member', member_id=id) }}"; + url = url.substring(0, url.lastIndexOf('/'))+id+url.substring(url.lastIndexOf('/')); + $('#overlay').html("{{_("you sure?")}}"); + } + }); - $('#overlay').css({ "left":x+"px", "top":y+"px", "width":width+"px", "height":height+"px", "line-height":height+"px" }).show(); + // show confirm message before actually removing the member + $('#overlay-delete').click(function () + { + $('#'+tr_id).addClass("confirm"); + var url = "{{ url_for('.remove_member', member_id=id) }}"; + url = url.substring(0, url.lastIndexOf('/'))+id+url.substring(url.lastIndexOf('/')); + $('#overlay').html("{{_("you sure?")}}"); + $(this).hide(); + }); - if(!$(this).hasClass("confirm")) - { - $('#overlay').html(""); - if (action == 'delete') - { - $('#overlay-delete').css({ "left":(x+width/2-16)+"px", "top":(y+height/2-16)+"px" }).show(); - } - else if (action == 'reactivate') - { - $('#overlay-reactivate').css({ "left":(x+width/2-16)+"px", "top":(y+height/2-16)+"px" }).show(); - } - } - else - { - var url = "{{ url_for('.remove_member', member_id=id) }}"; - url = url.substring(0, url.lastIndexOf('/'))+id+url.substring(url.lastIndexOf('/')); - $('#overlay').html("{{_("you sure?")}}"); - } - }); + // re-create reactivation url from hover-ed item and call it + $('#overlay-reactivate').click(function () + { + var url = "{{ url_for('.reactivate', member_id=id) }}"; + url = url.substring(0, url.lastIndexOf('/'))+id+url.substring(url.lastIndexOf('/')); + $(location).attr('href', url); + }); - // show confirm message before actually removing the member - $('#overlay-delete').click(function () - { - $('#'+tr_id).addClass("confirm"); - var url = "{{ url_for('.remove_member', member_id=id) }}"; - url = url.substring(0, url.lastIndexOf('/'))+id+url.substring(url.lastIndexOf('/')); - $('#overlay').html("{{_("you sure?")}}"); - $(this).hide(); - }); + $('#overlay').hover(function() + { + }, function() + { + $('#overlay').hide(); + $('#overlay-delete').hide(); + $('#overlay-reactivate').hide(); + }); - // re-create reactivation url from hover-ed item and call it - $('#overlay-reactivate').click(function () - { - var url = "{{ url_for('.reactivate', member_id=id) }}"; - url = url.substring(0, url.lastIndexOf('/'))+id+url.substring(url.lastIndexOf('/')); - $(location).attr('href', url); - }); - - $('#overlay').hover(function() - { - }, function() - { - $('#overlay').hide(); - $('#overlay-delete').hide(); - $('#overlay-reactivate').hide(); - }); - - $.datepicker.setDefaults({'dateFormat': 'yy-mm-dd'}); - $(".datepicker").datepicker($.datepicker.regional['{{ g.lang }}']); - + $.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"); + }; + + $("#bill_table tr").hover(highlight_owers,unhighlight_owers); + {% endblock %} {% block sidebar %} -
- - +
+ + {% endblock %} {% block content %}
{{ _("The project identifier is") }} {{ g.project.id }}, {{ _("remember it!") }}
- {{ _("Add a new bill") }} - - - - {% if bills.count() > 0 %} - - - - {% for bill in bills %} - - - - - - - - - {% endfor %} - -
{{ _("When?") }}{{ _("Who paid?") }}{{ _("For what?") }}{{ _("For whom?") }}{{ _("How much?") }}{{ _("Actions") }}
{{ bill.date }}{{ bill.payer }}{{ bill.what }}{{ bill.owers|join(', ', 'name') }} {{ "%0.2f"|format(bill.amount) }} ({{ "%0.2f"|format(bill.pay_each()) }} {{ _("each") }}) - - - - - - -
- - {% else %} -

{{ _("Nothing to list yet. You probably want to") }} {{ _("add a bill") }} ?

- {% endif %} - - - - - - - + {{ _("Add a new bill") }} + + {% if bills.count() > 0 %} + + + + {% for bill in bills %} + + + + + + + + + {% endfor %} + +
{{ _("When?") }}{{ _("Who paid?") }}{{ _("For what?") }}{{ _("For whom?") }}{{ _("How much?") }}{{ _("Actions") }}
{{ bill.date }}{{ bill.payer }}{{ bill.what }}{{ bill.owers|join(', ', 'name') }} {{ "%0.2f"|format(bill.amount) }} ({{ "%0.2f"|format(bill.pay_each()) }} {{ _("each") }}) + + + + + + +
+ {% else %} +

{{ _("Nothing to list yet. You probably want to") }} {{ _("add a bill") }} ?

+ {% endif %} {% endblock %}