mirror of
https://github.com/YunoHost-Apps/ihatemoney_ynh.git
synced 2024-09-03 19:26:15 +02:00
Merge pull request #130 from JocelynDelalande/trailing-whitespaces
Remove trailing whitespaces
This commit is contained in:
commit
d31de6c4a3
15 changed files with 75 additions and 75 deletions
2
AUTHORS
2
AUTHORS
|
@ -1,2 +1,2 @@
|
||||||
The project has been started by Alexis Métaireau and Frédéric Sureau. Friends are
|
The project has been started by Alexis Métaireau and Frédéric Sureau. Friends are
|
||||||
helping since that in the persons of Arnaud Bos and Quentin Roy.
|
helping since that in the persons of Arnaud Bos and Quentin Roy.
|
||||||
|
|
2
LICENSE
2
LICENSE
|
@ -19,7 +19,7 @@ that the following conditions are met:
|
||||||
promote products derived from this software without specific
|
promote products derived from this software without specific
|
||||||
prior written permission.
|
prior written permission.
|
||||||
|
|
||||||
* If you meet the authors of this software in person and you want to
|
* If you meet the authors of this software in person and you want to
|
||||||
pay them a beer, you're encouraged to do so. Please, do. If you have
|
pay them a beer, you're encouraged to do so. Please, do. If you have
|
||||||
homebrewed beer, this works as well (may even be better).
|
homebrewed beer, this works as well (may even be better).
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@ the following content::
|
||||||
DEBUG = True
|
DEBUG = True
|
||||||
SQLACHEMY_ECHO = DEBUG
|
SQLACHEMY_ECHO = DEBUG
|
||||||
|
|
||||||
You can also set the `TESTING` flag to `True` so no mails are sent
|
You can also set the `TESTING` flag to `True` so no mails are sent
|
||||||
(and no exception is raised) while you're on development mode.
|
(and no exception is raised) while you're on development mode.
|
||||||
|
|
||||||
Deploy it
|
Deploy it
|
||||||
|
@ -66,7 +66,7 @@ As a developer
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
The best way to contribute code is to write it and to make a pull request on
|
The best way to contribute code is to write it and to make a pull request on
|
||||||
github. Please, think about updating and running the tests before asking for
|
github. Please, think about updating and running the tests before asking for
|
||||||
a pull request as it will help us to maintain the code clean and running.
|
a pull request as it will help us to maintain the code clean and running.
|
||||||
|
|
||||||
To do so::
|
To do so::
|
||||||
|
|
|
@ -180,7 +180,7 @@ tr.payer_line .balance-name{
|
||||||
background: url('../images/reactivate.png') left no-repeat;
|
background: url('../images/reactivate.png') left no-repeat;
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
#bill-form > fieldset {
|
#bill-form > fieldset {
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
<h2>Authentication</h2>
|
<h2>Authentication</h2>
|
||||||
|
|
||||||
{% if create_project %}
|
{% if create_project %}
|
||||||
<p class="info">{{ _("The project you are trying to access do not exist, do you want
|
<p class="info">{{ _("The project you are trying to access do not exist, do you want
|
||||||
to") }} <a href="{{ url_for(".create_project", project_id=create_project) }}">{{ _("create it") }}</a>{{ _("?") }}
|
to") }} <a href="{{ url_for(".create_project", project_id=create_project) }}">{{ _("create it") }}</a>{{ _("?") }}
|
||||||
</p>
|
</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
|
@ -76,12 +76,12 @@
|
||||||
<fieldset>
|
<fieldset>
|
||||||
{% if title %}<legend>{% if edit %}{{ _("Edit this bill") }} {% else %}{{ _("Add a bill") }} {% endif %}</legend>{% endif %}
|
{% if title %}<legend>{% if edit %}{{ _("Edit this bill") }} {% else %}{{ _("Add a bill") }} {% endif %}</legend>{% endif %}
|
||||||
{% include "display_errors.html" %}
|
{% include "display_errors.html" %}
|
||||||
{{ form.hidden_tag() }}
|
{{ form.hidden_tag() }}
|
||||||
{{ input(form.date, class="datepicker") }}
|
{{ input(form.date, class="datepicker") }}
|
||||||
{{ input(form.what) }}
|
{{ input(form.what) }}
|
||||||
{{ input(form.payer) }}
|
{{ input(form.payer) }}
|
||||||
{{ input(form.amount) }}
|
{{ input(form.amount) }}
|
||||||
{{ input(form.payed_for) }}
|
{{ input(form.payed_for) }}
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="actions">
|
<div class="actions">
|
||||||
{{ form.submit(class="btn btn-primary") }}
|
{{ form.submit(class="btn btn-primary") }}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
Hi,
|
Hi,
|
||||||
|
|
||||||
Someone using the email address {{ g.project.contact_email }} invited you to share your expenses for "{{ g.project.name }}".
|
Someone using the email address {{ g.project.contact_email }} invited you to share your expenses for "{{ g.project.name }}".
|
||||||
|
|
||||||
|
|
|
@ -42,13 +42,13 @@
|
||||||
});
|
});
|
||||||
$("#bal-member-"+payer_id).addClass("payer_line");
|
$("#bal-member-"+payer_id).addClass("payer_line");
|
||||||
};
|
};
|
||||||
|
|
||||||
var unhighlight_owers = function(){
|
var unhighlight_owers = function(){
|
||||||
$('[id^="bal-member-"]').removeClass("ower_line payer_line");
|
$('[id^="bal-member-"]').removeClass("ower_line payer_line");
|
||||||
};
|
};
|
||||||
|
|
||||||
$('#bill_table tbody tr').hover(highlight_owers, unhighlight_owers);
|
$('#bill_table tbody tr').hover(highlight_owers, unhighlight_owers);
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block sidebar %}
|
{% block sidebar %}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
Hi,
|
Hi,
|
||||||
|
|
||||||
You requested to be reminded about your password for "{{ project.name }}".
|
You requested to be reminded about your password for "{{ project.name }}".
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
Hi,
|
Hi,
|
||||||
|
|
||||||
You have just (or someone else using your email address) created the project "{{ g.project.name }}" to share your expenses.
|
You have just (or someone else using your email address) created the project "{{ g.project.name }}" to share your expenses.
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<h2>{{ _("Invite people to join this project") }}</h2>
|
<h2>{{ _("Invite people to join this project") }}</h2>
|
||||||
<p>{{ _("Specify a (comma separated) list of email adresses you want to notify about the
|
<p>{{ _("Specify a (comma separated) list of email adresses you want to notify about the
|
||||||
creation of this budget management project and we will send them an email for you.") }}</p>
|
creation of this budget management project and we will send them an email for you.") }}</p>
|
||||||
<p>{{ _("If you prefer, you can") }} <a href="{{ url_for(".list_bills") }}">{{ _("skip this step") }}</a> {{ _("and notify them yourself") }}</p>
|
<p>{{ _("If you prefer, you can") }} <a href="{{ url_for(".list_bills") }}">{{ _("skip this step") }}</a> {{ _("and notify them yourself") }}</p>
|
||||||
|
|
||||||
|
|
|
@ -532,7 +532,7 @@ class BudgetTestCase(TestCase):
|
||||||
for m, a in members.items():
|
for m, a in members.items():
|
||||||
self.assertEqual(a, balance[m.id])
|
self.assertEqual(a, balance[m.id])
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class APITestCase(TestCase):
|
class APITestCase(TestCase):
|
||||||
|
|
|
@ -2,9 +2,9 @@ server {
|
||||||
server_name yourur;
|
server_name yourur;
|
||||||
keepalive_timeout 5;
|
keepalive_timeout 5;
|
||||||
|
|
||||||
location /static/ {
|
location /static/ {
|
||||||
alias /path/to/app/budget/static/;
|
alias /path/to/app/budget/static/;
|
||||||
}
|
}
|
||||||
location / {
|
location / {
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
proxy_set_header Host $http_host;
|
proxy_set_header Host $http_host;
|
||||||
|
|
76
docs/_themes/pelican/static/pelican.css_t
vendored
76
docs/_themes/pelican/static/pelican.css_t
vendored
|
@ -6,11 +6,11 @@
|
||||||
*
|
*
|
||||||
* :copyright: Copyright 2011 by Alexis Metaireau.
|
* :copyright: Copyright 2011 by Alexis Metaireau.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@import url("basic.css");
|
@import url("basic.css");
|
||||||
|
|
||||||
/* -- page layout ----------------------------------------------------------- */
|
/* -- page layout ----------------------------------------------------------- */
|
||||||
|
|
||||||
body {
|
body {
|
||||||
font-family: Arial, sans-serif;
|
font-family: Arial, sans-serif;
|
||||||
font-size: 100%;
|
font-size: 100%;
|
||||||
|
@ -32,17 +32,17 @@ div.bodywrapper {
|
||||||
hr {
|
hr {
|
||||||
border: 1px solid #B1B4B6;
|
border: 1px solid #B1B4B6;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.document {
|
div.document {
|
||||||
}
|
}
|
||||||
|
|
||||||
div.body {
|
div.body {
|
||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
color: #3E4349;
|
color: #3E4349;
|
||||||
padding: 0 30px 30px 30px;
|
padding: 0 30px 30px 30px;
|
||||||
font-size: 0.9em;
|
font-size: 0.9em;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.footer {
|
div.footer {
|
||||||
color: #555;
|
color: #555;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
@ -50,12 +50,12 @@ div.footer {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 75%;
|
font-size: 75%;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.footer a {
|
div.footer a {
|
||||||
color: #444;
|
color: #444;
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.related {
|
div.related {
|
||||||
background-color: #6BA81E;
|
background-color: #6BA81E;
|
||||||
line-height: 32px;
|
line-height: 32px;
|
||||||
|
@ -63,11 +63,11 @@ div.related {
|
||||||
text-shadow: 0px 1px 0 #444;
|
text-shadow: 0px 1px 0 #444;
|
||||||
font-size: 0.9em;
|
font-size: 0.9em;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.related a {
|
div.related a {
|
||||||
color: #E2F3CC;
|
color: #E2F3CC;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.sphinxsidebar {
|
div.sphinxsidebar {
|
||||||
font-size: 0.75em;
|
font-size: 0.75em;
|
||||||
line-height: 1.5em;
|
line-height: 1.5em;
|
||||||
|
@ -76,7 +76,7 @@ div.sphinxsidebar {
|
||||||
div.sphinxsidebarwrapper{
|
div.sphinxsidebarwrapper{
|
||||||
padding: 20px 0;
|
padding: 20px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.sphinxsidebar h3,
|
div.sphinxsidebar h3,
|
||||||
div.sphinxsidebar h4 {
|
div.sphinxsidebar h4 {
|
||||||
font-family: Arial, sans-serif;
|
font-family: Arial, sans-serif;
|
||||||
|
@ -92,30 +92,30 @@ div.sphinxsidebar h4 {
|
||||||
div.sphinxsidebar h4{
|
div.sphinxsidebar h4{
|
||||||
font-size: 1.1em;
|
font-size: 1.1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.sphinxsidebar h3 a {
|
div.sphinxsidebar h3 a {
|
||||||
color: #444;
|
color: #444;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
div.sphinxsidebar p {
|
div.sphinxsidebar p {
|
||||||
color: #888;
|
color: #888;
|
||||||
padding: 5px 20px;
|
padding: 5px 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.sphinxsidebar p.topless {
|
div.sphinxsidebar p.topless {
|
||||||
}
|
}
|
||||||
|
|
||||||
div.sphinxsidebar ul {
|
div.sphinxsidebar ul {
|
||||||
margin: 10px 20px;
|
margin: 10px 20px;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
color: #000;
|
color: #000;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.sphinxsidebar a {
|
div.sphinxsidebar a {
|
||||||
color: #444;
|
color: #444;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.sphinxsidebar input {
|
div.sphinxsidebar input {
|
||||||
border: 1px solid #ccc;
|
border: 1px solid #ccc;
|
||||||
font-family: sans-serif;
|
font-family: sans-serif;
|
||||||
|
@ -125,19 +125,19 @@ div.sphinxsidebar input {
|
||||||
div.sphinxsidebar input[type=text]{
|
div.sphinxsidebar input[type=text]{
|
||||||
margin-left: 20px;
|
margin-left: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -- body styles ----------------------------------------------------------- */
|
/* -- body styles ----------------------------------------------------------- */
|
||||||
|
|
||||||
a {
|
a {
|
||||||
color: #005B81;
|
color: #005B81;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
a:hover {
|
a:hover {
|
||||||
color: #E32E00;
|
color: #E32E00;
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.body h1,
|
div.body h1,
|
||||||
div.body h2,
|
div.body h2,
|
||||||
div.body h3,
|
div.body h3,
|
||||||
|
@ -151,7 +151,7 @@ div.body h6 {
|
||||||
padding: 5px 0 5px 10px;
|
padding: 5px 0 5px 10px;
|
||||||
text-shadow: 0px 1px 0 white
|
text-shadow: 0px 1px 0 white
|
||||||
}
|
}
|
||||||
|
|
||||||
{% if theme_index_logo %}
|
{% if theme_index_logo %}
|
||||||
div.indexwrapper h1 {
|
div.indexwrapper h1 {
|
||||||
text-indent: -999999px;
|
text-indent: -999999px;
|
||||||
|
@ -159,10 +159,10 @@ div.indexwrapper h1 {
|
||||||
height: {{ theme_index_logo_height }};
|
height: {{ theme_index_logo_height }};
|
||||||
}
|
}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
div.body h1 {
|
div.body h1 {
|
||||||
border-top: 20px solid white;
|
border-top: 20px solid white;
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
font-size: 250%;
|
font-size: 250%;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -171,23 +171,23 @@ div.body h3 { font-size: 120%; background-color: #D8DEE3; }
|
||||||
div.body h4 { font-size: 110%; background-color: #D8DEE3; }
|
div.body h4 { font-size: 110%; background-color: #D8DEE3; }
|
||||||
div.body h5 { font-size: 100%; background-color: #D8DEE3; }
|
div.body h5 { font-size: 100%; background-color: #D8DEE3; }
|
||||||
div.body h6 { font-size: 100%; background-color: #D8DEE3; }
|
div.body h6 { font-size: 100%; background-color: #D8DEE3; }
|
||||||
|
|
||||||
a.headerlink {
|
a.headerlink {
|
||||||
color: #c60f0f;
|
color: #c60f0f;
|
||||||
font-size: 0.8em;
|
font-size: 0.8em;
|
||||||
padding: 0 4px 0 4px;
|
padding: 0 4px 0 4px;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
a.headerlink:hover {
|
a.headerlink:hover {
|
||||||
background-color: #c60f0f;
|
background-color: #c60f0f;
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.body p, div.body dd, div.body li {
|
div.body p, div.body dd, div.body li {
|
||||||
line-height: 1.5em;
|
line-height: 1.5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.admonition p.admonition-title + p {
|
div.admonition p.admonition-title + p {
|
||||||
display: inline;
|
display: inline;
|
||||||
}
|
}
|
||||||
|
@ -200,29 +200,29 @@ div.note {
|
||||||
background-color: #eee;
|
background-color: #eee;
|
||||||
border: 1px solid #ccc;
|
border: 1px solid #ccc;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.seealso {
|
div.seealso {
|
||||||
background-color: #ffc;
|
background-color: #ffc;
|
||||||
border: 1px solid #ff6;
|
border: 1px solid #ff6;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.topic {
|
div.topic {
|
||||||
background-color: #eee;
|
background-color: #eee;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.warning {
|
div.warning {
|
||||||
background-color: #ffe4e4;
|
background-color: #ffe4e4;
|
||||||
border: 1px solid #f66;
|
border: 1px solid #f66;
|
||||||
}
|
}
|
||||||
|
|
||||||
p.admonition-title {
|
p.admonition-title {
|
||||||
display: inline;
|
display: inline;
|
||||||
}
|
}
|
||||||
|
|
||||||
p.admonition-title:after {
|
p.admonition-title:after {
|
||||||
content: ":";
|
content: ":";
|
||||||
}
|
}
|
||||||
|
|
||||||
pre {
|
pre {
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
background-color: #111;
|
background-color: #111;
|
||||||
|
@ -234,7 +234,7 @@ pre {
|
||||||
-webkit-box-shadow: 1px 1px 1px #d8d8d8;
|
-webkit-box-shadow: 1px 1px 1px #d8d8d8;
|
||||||
-moz-box-shadow: 1px 1px 1px #d8d8d8;
|
-moz-box-shadow: 1px 1px 1px #d8d8d8;
|
||||||
}
|
}
|
||||||
|
|
||||||
tt {
|
tt {
|
||||||
background-color: #ecf0f3;
|
background-color: #ecf0f3;
|
||||||
color: #222;
|
color: #222;
|
||||||
|
|
30
docs/api.rst
30
docs/api.rst
|
@ -64,18 +64,18 @@ Getting information about the project::
|
||||||
|
|
||||||
$ curl --basic -u demo:demo http://ihatemoney.notmyidea.org/api/projects/demo
|
$ curl --basic -u demo:demo http://ihatemoney.notmyidea.org/api/projects/demo
|
||||||
{
|
{
|
||||||
"name": "demonstration",
|
"name": "demonstration",
|
||||||
"contact_email": "demo@notmyidea.org",
|
"contact_email": "demo@notmyidea.org",
|
||||||
"password": "demo",
|
"password": "demo",
|
||||||
"id": "demo",
|
"id": "demo",
|
||||||
"active_members": [{"activated": true, "id": 31, "name": "Arnaud"},
|
"active_members": [{"activated": true, "id": 31, "name": "Arnaud"},
|
||||||
{"activated": true, "id": 32, "name": "Alexis"},
|
{"activated": true, "id": 32, "name": "Alexis"},
|
||||||
{"activated": true, "id": 33, "name": "Olivier"},
|
{"activated": true, "id": 33, "name": "Olivier"},
|
||||||
{"activated": true, "id": 34, "name": "Fred"}],
|
{"activated": true, "id": 34, "name": "Fred"}],
|
||||||
"members": [{"activated": true, "id": 31, "name": "Arnaud"},
|
"members": [{"activated": true, "id": 31, "name": "Arnaud"},
|
||||||
{"activated": true, "id": 32, "name": "Alexis"},
|
{"activated": true, "id": 32, "name": "Alexis"},
|
||||||
{"activated": true, "id": 33, "name": "Olivier"},
|
{"activated": true, "id": 33, "name": "Olivier"},
|
||||||
{"activated": true, "id": 34, "name": "Fred"}],
|
{"activated": true, "id": 34, "name": "Fred"}],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -101,15 +101,15 @@ Members
|
||||||
You can get all the members with a `GET` on `/api/projects/<id>/members`::
|
You can get all the members with a `GET` on `/api/projects/<id>/members`::
|
||||||
|
|
||||||
$ curl --basic -u demo:demo http://ihatemoney.notmyidea.org/api/projects/demo/members\
|
$ curl --basic -u demo:demo http://ihatemoney.notmyidea.org/api/projects/demo/members\
|
||||||
[{"activated": true, "id": 31, "name": "Arnaud"},
|
[{"activated": true, "id": 31, "name": "Arnaud"},
|
||||||
{"activated": true, "id": 32, "name": "Alexis"},
|
{"activated": true, "id": 32, "name": "Alexis"},
|
||||||
{"activated": true, "id": 33, "name": "Olivier"},
|
{"activated": true, "id": 33, "name": "Olivier"},
|
||||||
{"activated": true, "id": 34, "name": "Fred"}]
|
{"activated": true, "id": 34, "name": "Fred"}]
|
||||||
|
|
||||||
Add a member with a `POST` request on `/api/projects/<id>/members`::
|
Add a member with a `POST` request on `/api/projects/<id>/members`::
|
||||||
|
|
||||||
$ curl --basic -u demo:demo -X POST\
|
$ curl --basic -u demo:demo -X POST\
|
||||||
http://ihatemoney.notmyidea.org/api/projects/demo/members -d 'name=tatayoyo'
|
http://ihatemoney.notmyidea.org/api/projects/demo/members -d 'name=tatayoyo'
|
||||||
35
|
35
|
||||||
|
|
||||||
You can also `PUT` a new version of a member (changing its name)::
|
You can also `PUT` a new version of a member (changing its name)::
|
||||||
|
@ -122,7 +122,7 @@ You can also `PUT` a new version of a member (changing its name)::
|
||||||
Delete a member with a `DELETE` request on `/api/projects/<id>/members/<member-id>`::
|
Delete a member with a `DELETE` request on `/api/projects/<id>/members/<member-id>`::
|
||||||
|
|
||||||
$ curl --basic -u demo:demo -X DELETE\
|
$ curl --basic -u demo:demo -X DELETE\
|
||||||
http://ihatemoney.notmyidea.org/api/projects/demo/members/35
|
http://ihatemoney.notmyidea.org/api/projects/demo/members/35
|
||||||
"OK
|
"OK
|
||||||
|
|
||||||
Bills
|
Bills
|
||||||
|
|
Loading…
Reference in a new issue