Templates.

Commit
1dad22d3e45d6506c8624e3a7111240fcc4ab786
Author
Marius Peter <marius.peter@tutanota.com>
Author date
Committer
Marius Peter <marius.peter@tutanota.com>
Committer date
Changed files
app/templates/add-invoice.html
index 92748be4..00000000 100644..000000
@@ -1,48 +0,0 @@
1 Removed: {# -*- mode: web; -*- #}
2 Removed:
3 Removed: {% extends "base.html" %}
4 Removed:
5 Removed:
6 Removed: {% block title %}Add a new invoice{% endblock %}
7 Removed: {% block content %}
8 Removed:
9 Removed: {% if message %}
10 Removed: {# the form was submitted and message exists #}
11 Removed: <p><strong>{{ item }}</strong></p>
12 Removed: {# links #}
13 Removed: <p><a href="{{ url_for('add_item', item=item) }}" class="button">Submit another {{ item }}</a></p>
14 Removed: <p><a href="/fapg/home">Return to the index</a></p>
15 Removed:
16 Removed: {% else %}
17 Removed: {# the form is displayed when template opens via GET not POST #}
18 Removed:
19 Removed: {# show flash - based on WTForms validators see
20 Removed: https://pythonprogramming.net/flash-flask-tutorial/
21 Removed: get_flashed_messages() exists here because of flash() in the route
22 Removed: function #}
23 Removed:
24 Removed: {% with errors = get_flashed_messages() %} {% if errors %}
25 Removed: {% for err in errors %}
26 Removed: <div class="alert alert-danger alert-dismissible" role="alert">
27 Removed: <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
28 Removed: {{ err }}
29 Removed: </div>
30 Removed: {% endfor %}
31 Removed: {% endif %}
32 Removed: {% endwith %}
33 Removed: {# end of flash #}
34 Removed:
35 Removed:
36 Removed: {# the form #}
37 Removed: <form action="{{ url_for('add_item', item=item) }}" method="POST">
38 Removed: <fieldset>
39 Removed: <legend>Add a new {{ item }} to our database.</legend>
40 Removed: {% for field in form %}
41 Removed: {{ field.label() }}
42 Removed: {{ field() }}<br/>
43 Removed: {% endfor %}
44 Removed: </fieldset>
45 Removed: </form>
46 Removed:
47 Removed: {% endif %}
48 Removed: {% endblock %}
app/templates/add-item.html
index acffa87c..00000000 100644..000000
@@ -1,20 +0,0 @@
1 Removed: {# -*- mode: web; -*- #}
2 Removed:
3 Removed: {% extends "base.html" %}
4 Removed:
5 Removed:
6 Removed: {% block title %}Add a new {{ item }}{% endblock %}
7 Removed: {% block content %}
8 Removed:
9 Removed: {# the form #}
10 Removed: <form action="{{ url_for('add_item', item=item) }}" method="POST">
11 Removed: <fieldset>
12 Removed: <legend>Add a new {{ item }} to our database.</legend>
13 Removed: {% for field in form %}
14 Removed: {{ field.label() }}
15 Removed: {{ field() }}<br/>
16 Removed: {% endfor %}
17 Removed: </fieldset>
18 Removed: </form>
19 Removed:
20 Removed: {% endblock %}
app/templates/base.html
index b5f507d4..e8471495 100644..100644
@@ -13,26 +13,51 @@
13 13 <link rel="stylesheet" href="{{ url_for('static', filename='styles/style.css') }}">
14 14 </head>
15 15 <body>
16 Removed: <nav>
17 Removed: <a href="/" class="button">Home</a>
18 Removed: <h1>{% block title %}{% endblock %}</h1>
16 Added: <nav id="user">
17 Added: <div style="display: flex; align-items: baseline;">
18 Added: <ul>
19 Added: <li><a href="{{ url_for('main.home') }}" class="button">Home</a></li>
20 Added: </ul>
21 Added: <h1>{% block title %}{% endblock %}</h1>
22 Added: </div>
19 23 <ul>
24 Added: {% if current_user.is_authenticated %}
25 Added: <li><a href="{{ url_for('common.settings') }}" class="button">Settings</a></li>
26 Added: <li><a href="{{ url_for('auth.logout') }}" class="button">Logout</a></li>
27 Added: {% else %}
28 Added: <li><a href="{{ url_for('auth.login') }}" class="button">Login</a></li>
29 Added: <li><a href="{{ url_for('auth.register') }}" class="button">Register</a></li>
30 Added: {% endif %}
31 Added: </ul>
32 Added: </nav>
33 Added: {% if current_user.is_authenticated %}
34 Added: <nav id="modules">
35 Added: <ul>
20 36 {% for module in modules %}
21 37 <li><a href="/modules/{{ module.name }}" class="button">{{ module.name }}</a></li>
22 38 {% endfor %}
39 Added:
23 40 </ul>
24 41 </nav>
42 Added: <nav id="actions">
43 Added: <ul>
44 Added: {% block actions %}{% endblock %}
45 Added: </ul>
46 Added: </nav>
47 Added: {% endif %}
25 48 <div id="content">
26 49 {% block content %}{% endblock %}
27 50 </div>
28 51 {# Flashed messages added last, so that they appear on top of the content. #}
29 52 {% with messages = get_flashed_messages(with_categories=true) %}
30 53 {% if messages %}
31 Removed: <ul class="flashes">
32 Removed: {% for category, message in messages %}
33 Removed: <li class="alert alert-{{ category }}">{{ message }}</li>
34 Removed: {% endfor %}
35 Removed: </ul>
54 Added: <div id="flash">
55 Added: <ul>
56 Added: {% for category, message in messages %}
57 Added: <li class="alert alert-{{ category }}">{{ message }}</li>
58 Added: {% endfor %}
59 Added: </ul>
60 Added: </div>
36 61 {% endif %}
37 62 {% endwith %}
38 63 <!-- <script src="js/scripts.js"></script> -->
app/templates/errors/item-not-found.html
index 3afc5dbd..edc73e24 100644..100644
@@ -6,7 +6,7 @@
6 6
7 7 {% block content %}
8 8 <p>
9 Removed: Item <strong>{{item }}</strong> could not found.
9 Added: Item <strong>{{ item }}</strong> could not found.
10 10 </p>
11 11 <p>
12 12 If you'd like to suggest a feature, please send us an e-mail.
app/templates/errors/table-not-found.html
index 00000000..cc001fd2 000000..100644
@@ -0,0 +1,14 @@
1 Added: {% extends "base.html" %}
2 Added:
3 Added: {% block title %}
4 Added: Table not found
5 Added: {% endblock %}
6 Added:
7 Added: {% block content %}
8 Added: <p>
9 Added: Table <strong>{{ table }}</strong> could not found.
10 Added: </p>
11 Added: <p>
12 Added: If you'd like to suggest a feature, please send us an e-mail.
13 Added: </p>
14 Added: {% endblock %}
app/templates/home.html
index f518554a..ace98e9d 100644..100644
@@ -3,20 +3,32 @@
3 3 {% extends "base.html" %}
4 4
5 5 {% block title %}
6 Removed: Welcome, {{ user.name_first }}!
6 Added: {% if current_user.is_authenticated %}
7 Added: Welcome, {{ user.name_first }} {{ user.name_last }}!
8 Added: {% else %}
9 Added: Welcome to the ERP for the FAPG!
10 Added: {% endif %}
7 11 {% endblock %}
8 12
13 Added: {% block actions %}
14 Added: <li><a href="{{ url_for('main.download_database') }}" class="button">Download database</a></li>
15 Added: {% endblock %}
9 16
10 17 {% block content %}
11 Removed:
12 Removed: <p>You are logged in as <strong>{{ user }}</strong> on
13 Removed: project <strong>{{ project }}</strong>.</p>
14 Removed:
15 18 <h2>Available modules</h2>
16 19 <dl>
17 20 {% for module in modules %}
18 Removed: <dt style="font-weight: bold">{{ module.name }}</dt><dd>{{ module.description }}<dd>
19 Removed: {% endfor %}
21 Added: <dt>
22 Added: {% if current_user.is_authenticated %}
23 Added: {# Send to actual module page #}
24 Added: <a href="/modules/{{ module.name }}">{{ module.name }}</a>
25 Added: {% else %}
26 Added: {# Send to module promo section #}
27 Added: <a href="/modules#{{ module.name }}">{{ module.name }}</a>
28 Added: {% endif %}
29 Added: </dt>
30 Added: <dd>{{ module.description }}</dd>
31 Added: {% endfor %}
20 32 </dl>
21 33
22 34 {% endblock %}
app/templates/modules-promo.html
index 00000000..46b8964c 000000..100644
@@ -0,0 +1,22 @@
1 Added: {# -*- mode: web; -*- #}
2 Added:
3 Added: {% extends "base.html" %}
4 Added:
5 Added: {% block title %}
6 Added: List of modules
7 Added: {% endblock %}
8 Added:
9 Added: {% block actions %}
10 Added: {% endblock %}
11 Added:
12 Added: {% block content %}
13 Added: <h2>Modules for all your needs!</h2>
14 Added: <dl>
15 Added: {% for module in modules %}
16 Added: <p>
17 Added: {{ module }}
18 Added: </p>
19 Added: {% endfor %}
20 Added: </dl>
21 Added:
22 Added: {% endblock %}
app/templates/modules/add-invoice.html
index 00000000..92748be4 000000..100644
@@ -0,0 +1,48 @@
1 Added: {# -*- mode: web; -*- #}
2 Added:
3 Added: {% extends "base.html" %}
4 Added:
5 Added:
6 Added: {% block title %}Add a new invoice{% endblock %}
7 Added: {% block content %}
8 Added:
9 Added: {% if message %}
10 Added: {# the form was submitted and message exists #}
11 Added: <p><strong>{{ item }}</strong></p>
12 Added: {# links #}
13 Added: <p><a href="{{ url_for('add_item', item=item) }}" class="button">Submit another {{ item }}</a></p>
14 Added: <p><a href="/fapg/home">Return to the index</a></p>
15 Added:
16 Added: {% else %}
17 Added: {# the form is displayed when template opens via GET not POST #}
18 Added:
19 Added: {# show flash - based on WTForms validators see
20 Added: https://pythonprogramming.net/flash-flask-tutorial/
21 Added: get_flashed_messages() exists here because of flash() in the route
22 Added: function #}
23 Added:
24 Added: {% with errors = get_flashed_messages() %} {% if errors %}
25 Added: {% for err in errors %}
26 Added: <div class="alert alert-danger alert-dismissible" role="alert">
27 Added: <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
28 Added: {{ err }}
29 Added: </div>
30 Added: {% endfor %}
31 Added: {% endif %}
32 Added: {% endwith %}
33 Added: {# end of flash #}
34 Added:
35 Added:
36 Added: {# the form #}
37 Added: <form action="{{ url_for('add_item', item=item) }}" method="POST">
38 Added: <fieldset>
39 Added: <legend>Add a new {{ item }} to our database.</legend>
40 Added: {% for field in form %}
41 Added: {{ field.label() }}
42 Added: {{ field() }}<br/>
43 Added: {% endfor %}
44 Added: </fieldset>
45 Added: </form>
46 Added:
47 Added: {% endif %}
48 Added: {% endblock %}
app/templates/modules/add-item.html
index 00000000..356ce9f3 000000..100644
@@ -0,0 +1,19 @@
1 Added: {# -*- mode: web; -*- #}
2 Added:
3 Added: {% extends "base.html" %}
4 Added:
5 Added:
6 Added: {% block title %}Add {{ table }} item{% endblock %}
7 Added: {% block content %}
8 Added:
9 Added: <form action="{{ request.path }}" method="POST">
10 Added: <fieldset>
11 Added: <legend>Add a new item to our {{ table }} table.</legend>
12 Added: {% for field in form %}
13 Added: {{ field.label() }}
14 Added: {{ field() }}<br/>
15 Added: {% endfor %}
16 Added: </fieldset>
17 Added: </form>
18 Added:
19 Added: {% endblock %}
app/templates/modules/customers.html
index c693097a..64ed4c23 100644..100644
@@ -5,15 +5,17 @@
5 5 Customers
6 6 {% endblock %}
7 7
8 Added: {% block actions %}
9 Added: <li><a href="{{ url_for('common.add_item', module='customers', table='Customer' ) }}" class="button">Add customer</a></li>
10 Added: {% endblock %}
11 Added:
8 12 {% block content %}
9 Removed: <div id="actions">
10 Removed: <a href="{{ url_for('add_item', item='customer') }}" class="button">Add customer</a>
11 Removed: </div>
12 13
13 14 <table>
14 15 <thead>
15 16 <tr>
16 17 <th></th>
18 Added: <th>ID</th>
17 19 <th>Name</th>
18 20 <th>City</th>
19 21 <th>Phone</th>
@@ -23,7 +25,15 @@
23 25 <tbody>
24 26 {% for customer in customers %}
25 27 <tr>
26 Removed: <td><button>edit</button></td>
28 Added: <td>
29 Added: <form method="post" action="{{ url_for('common.edit_item', module='customers', pk=customer.primary_key, table='Customer') }}">
30 Added: <button>edit</button>
31 Added: </form>
32 Added: <form method="post" action="{{ url_for('common.delete_item', module='customers', pk=customer.primary_key, table='Customer') }}">
33 Added: <button>delete</button>
34 Added: </form>
35 Added: </td>
36 Added: <td>{{ customer.primary_key }}</td>
27 37 {% if customer.website %}
28 38 <td><a href="{{ customer.website }}">{{ customer.name }}</a></td>
29 39 {% else %}
app/templates/modules/edit-item.html
index 00000000..194aa770 000000..100644
@@ -0,0 +1,19 @@
1 Added: {# -*- mode: web; -*- #}
2 Added:
3 Added: {% extends "base.html" %}
4 Added:
5 Added:
6 Added: {% block title %}Edit {{ table }} item{% endblock %}
7 Added: {% block content %}
8 Added:
9 Added: <form action="{{ request.path }}" method="POST">
10 Added: <fieldset>
11 Added: <legend>Edit item #{{ pk }} in our {{ table }} table.</legend>
12 Added: {% for field in form %}
13 Added: {{ field.label() }}
14 Added: {{ field() }}<br/>
15 Added: {% endfor %}
16 Added: </fieldset>
17 Added: </form>
18 Added:
19 Added: {% endblock %}
app/templates/modules/ferti.html
index 00000000..549059b1 000000..100644
@@ -0,0 +1,99 @@
1 Added: {# -*- mode: web; -*- #}
2 Added:
3 Added: {% extends "base.html" %}
4 Added:
5 Added: {% block title %}
6 Added: Logger
7 Added: {% endblock %}
8 Added:
9 Added: {% block actions %}
10 Added: <li><a href="{{ url_for('common.add_item', module='ferti', table='FertiLog') }}" class="button">Add log</a></li>
11 Added: <li><a href="{{ url_for('common.add_item', module='ferti', table='FertiTarget') }}" class="button">Add target</a></li>
12 Added: {% endblock %}
13 Added:
14 Added: {% block content %}
15 Added:
16 Added: <i>Track operating logs.</i>
17 Added:
18 Added: <table>
19 Added: <thead>
20 Added: <tr>
21 Added: <th colspan=2><i>Actions</i></th>
22 Added: <th>ID</th>
23 Added: <th>Updated</th>
24 Added: <th>NNO3</th>
25 Added: <th>P</th>
26 Added: <th>K</th>
27 Added: <th>Ca</th>
28 Added: <th>Mg</th>
29 Added: <th>S</th>
30 Added: <th>Na</th>
31 Added: <th>Cl</th>
32 Added: <th>Fe</th>
33 Added: <th>Zn</th>
34 Added: <th>B</th>
35 Added: <th>Mn</th>
36 Added: <th>Cu</th>
37 Added: <th>Mo</th>
38 Added: <th>Si</th>
39 Added: <th>NNH4</th>
40 Added: </tr>
41 Added: </thead>
42 Added: <tbody>
43 Added: {% if target %}
44 Added: <tr class="latest-target">
45 Added: <td></td>
46 Added: <td></td>
47 Added: <td>{{ target.primary_key }}</td>
48 Added: <td>{{ target.date_time_updated }}</td>
49 Added: <td>{{ target.nno3 }}</td>
50 Added: <td>{{ target.p }}</td>
51 Added: <td>{{ target.k }}</td>
52 Added: <td>{{ target.ca }}</td>
53 Added: <td>{{ target.mg }}</td>
54 Added: <td>{{ target.s }}</td>
55 Added: <td>{{ target.na }}</td>
56 Added: <td>{{ target.cl }}</td>
57 Added: <td>{{ target.fe }}</td>
58 Added: <td>{{ target.zn }}</td>
59 Added: <td>{{ target.b }}</td>
60 Added: <td>{{ target.mn }}</td>
61 Added: <td>{{ target.cu }}</td>
62 Added: <td>{{ target.mo }}</td>
63 Added: <td>{{ target.si }}</td>
64 Added: <td>{{ target.nnh4 }}</td>
65 Added: </tr>
66 Added: {% endif %}
67 Added: {% for log in logs %}
68 Added: <tr>
69 Added: <td>
70 Added: <button>edit</button>
71 Added: </td>
72 Added: <td>
73 Added: <form method="post" action="{{ url_for('modules.delete_item', pk=log.primary_key, table='Fertilog' ) }}">
74 Added: <button>delete</button>
75 Added: </form>
76 Added: </td>
77 Added: <td>{{ log.primary_key }}</td>
78 Added: <td>{{ log.date_time_updated }}</td>
79 Added: <td>{{ log.nno3 }}</td>
80 Added: <td>{{ log.p }}</td>
81 Added: <td>{{ log.k }}</td>
82 Added: <td>{{ log.ca }}</td>
83 Added: <td>{{ log.mg }}</td>
84 Added: <td>{{ log.s }}</td>
85 Added: <td>{{ log.na }}</td>
86 Added: <td>{{ log.cl }}</td>
87 Added: <td>{{ log.fe }}</td>
88 Added: <td>{{ log.zn }}</td>
89 Added: <td>{{ log.b }}</td>
90 Added: <td>{{ log.mn }}</td>
91 Added: <td>{{ log.cu }}</td>
92 Added: <td>{{ log.mo }}</td>
93 Added: <td>{{ log.si }}</td>
94 Added: <td>{{ log.nnh4 }}</td>
95 Added: </tr>
96 Added: {% endfor %}
97 Added: </tbody>
98 Added: </table>
99 Added: {% endblock %}
app/templates/modules/invoice-preview.html
index 00000000..f86f9a29 000000..100644
@@ -0,0 +1,108 @@
1 Added: {# -*- mode: web; -*- #}
2 Added:
3 Added: <!doctype html>
4 Added:
5 Added: <html lang="en">
6 Added: <head>
7 Added: <meta charset="utf-8">
8 Added: <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to">
9 Added: <title>Invoice preview for {{ invoice.customer.name }}</title>
10 Added: <meta name="author" content="Marius Peter">
11 Added: <meta name="description" content="A new invoice for your project.">
12 Added: <!-- <link rel="icon" href="{{ url_for('static', filename='img/favicon.png') }}"> -->
13 Added: <link rel="stylesheet" href="{{ url_for('static', filename='styles/invoice.css') }}">
14 Added: </head>
15 Added: <body>
16 Added: <div id="content">
17 Added: <header class="clearfix">
18 Added: <div id="logo">
19 Added: <img src="{{ url_for('static', filename='img/logo.png') }}">
20 Added: </div>
21 Added: <div id="company">
22 Added: <h2 class="name">FAPG</h2>
23 Added: <div>Route de Versonnex</div>
24 Added: <div>(602) 519-0450</div>
25 Added: <div><a href="mailto:company@example.com">company@example.com</a></div>
26 Added: </div>
27 Added:
28 Added: </header>
29 Added: <main>
30 Added: <div id="details" class="clearfix">
31 Added: <div id="client">
32 Added: <div class="to">INVOICE TO:</div>
33 Added: <h2 class="name">{{ invoice.customer.name }}</h2>
34 Added: <div class="address">{{ invoice.customer.address }}</div>
35 Added: {% if invoice.customer.email %}
36 Added: <div class="email"><a href="mailto:{{ invoice.customer.email }}">{{ invoice.customer.email }}</a></div>
37 Added: {% endif %}
38 Added: </div>
39 Added: <div id="invoice">
40 Added: <h1>INVOICE {{ invoice.invoice_id_alt }}</h1>
41 Added: <div class="date">Date of Invoice: {{ invoice.date_billed }}</div>
42 Added: <div class="date">Due Date: {{ invoice.date_due }}</div>
43 Added: </div>
44 Added: </div>
45 Added: <table cellspacing="0" cellpadding="0" border="0">
46 Added: <thead>
47 Added: <tr>
48 Added: <th class="no">#</th>
49 Added: <th class="desc">DESCRIPTION</th>
50 Added: <th class="unit">UNIT PRICE</th>
51 Added: <th class="qty">QUANTITY</th>
52 Added: <th class="total">TOTAL</th>
53 Added: </tr>
54 Added: </thead>
55 Added: <tbody>
56 Added: <tr>
57 Added: <td class="no">01</td>
58 Added: <td class="desc"><h3>Website Design</h3>Creating a recognizable design solution based on the company's existing visual identity</td>
59 Added: <td class="unit">$40.00</td>
60 Added: <td class="qty">30</td>
61 Added: <td class="total">$1,200.00</td>
62 Added: </tr>
63 Added: <tr>
64 Added: <td class="no">02</td>
65 Added: <td class="desc"><h3>Website Development</h3>Developing a Content Management System-based Website</td>
66 Added: <td class="unit">$40.00</td>
67 Added: <td class="qty">80</td>
68 Added: <td class="total">$3,200.00</td>
69 Added: </tr>
70 Added: <tr>
71 Added: <td class="no">03</td>
72 Added: <td class="desc"><h3>Search Engines Optimization</h3>Optimize the site for search engines (SEO)</td>
73 Added: <td class="unit">$40.00</td>
74 Added: <td class="qty">20</td>
75 Added: <td class="total">$800.00</td>
76 Added: </tr>
77 Added: </tbody>
78 Added: <tfoot>
79 Added: <tr>
80 Added: <td colspan="2"></td>
81 Added: <td colspan="2">SUBTOTAL</td>
82 Added: <td>$5,200.00</td>
83 Added: </tr>
84 Added: <tr>
85 Added: <td colspan="2"></td>
86 Added: <td colspan="2">TAX 25%</td>
87 Added: <td>$1,300.00</td>
88 Added: </tr>
89 Added: <tr>
90 Added: <td colspan="2"></td>
91 Added: <td colspan="2">GRAND TOTAL</td>
92 Added: <td>$6,500.00</td>
93 Added: </tr>
94 Added: </tfoot>
95 Added: </table>
96 Added: <div id="thanks">Thank you!</div>
97 Added: <div id="notices">
98 Added: <div>NOTICE:</div>
99 Added: <div class="notice">A finance charge of 1.5% will be made on unpaid balances after 30 days.</div>
100 Added: </div>
101 Added: </main>
102 Added: <footer>
103 Added: Invoice was created on a computer and is valid without the signature and seal.
104 Added: </footer>
105 Added:
106 Added: </div>
107 Added: </body>
108 Added: </html>
app/templates/modules/invoices.html
index 76fe267d..55a4b87c 100644..100644
@@ -1,44 +1,80 @@
1 Removed: {# -*- mode: jinja2; -*- #}
1 Added: {# -*- mode: web; -*- #}
2 2
3 3 {% extends "base.html" %}
4 4 {% block title %}
5 Removed: Products
5 Added: Invoices
6 6 {% endblock %}
7 7
8 Added: {% block actions %}
9 Added: <li><a href="{{ url_for('common.add_item', module='invoices', table='Invoice') }}" class="button">Add invoice</a></li>
10 Added: <li></li>
11 Added: {% endblock %}
12 Added:
8 13 {% block content %}
14 Added: <i>Track your invoices and create new ones here.</i><br/>
9 15
10 Removed: <div id="actions">
11 Removed: <a href="{{ url_for('add_invoice') }}" class="button">New invoice</a>
12 Removed: </div>
13 Removed:
14 Removed: <i>Track your invoices and create new ones here.</i>
15 Removed:
16 Removed: <table>
16 Added: <center>
17 Added: {% for page_num in invoices.iter_pages(left_edge=1, right_edge=1, left_current=1, right_current=2) %}
18 Added: {% if page_num %}
19 Added: <!-- Check for the active page and set the link to "Active"-->
20 Added: {% if invoices.page == page_num %}
21 Added: <a href="{{ url_for('invoices.view', page=page_num) }}"
22 Added: class="button">
23 Added: {{ page_num }}
24 Added: </a>
25 Added: {% else %}
26 Added: <a href="{{ url_for('invoices.view', page=page_num) }}"
27 Added: class="button button-light">
28 Added: {{ page_num }}
29 Added: </a>
30 Added: {% endif %}
31 Added: {% else %}
32 Added: ...
33 Added: {% endif %}
34 Added: {% endfor %}
35 Added: </center>
36 Added: <table>
17 37 <thead>
18 Removed: <tr>
19 Removed: <th colspan=2><i>Actions</i></th>
20 Removed: <th>Name</th>
21 Removed: <th>Price (net)</th>
22 Removed: <th>Price (gross)</th>
23 Removed: <th>Updated</th>
24 Removed: </tr>
38 Added: <tr>
39 Added: <th><i>Actions</i></th>
40 Added: <th>ID</th>
41 Added: <th>Created</th>
42 Added: <th>Alternative Invoice ID</th>
43 Added: <th>Customer Name</th>
44 Added: <th>Customer Reference</th>
45 Added: <th>Date Billed</th>
46 Added: <th>Date Due</th>
47 Added: <th>Amount (Net €)</th>
48 Added: <th>Amount (Gross €)</th>
49 Added: <th>Tax Amount (€)</th>
50 Added: </tr>
25 51 </thead>
26 52 <tbody>
27 Removed: {% for invoice in invoices %}
53 Added: {% for invoice in invoices.items %}
28 54 <tr>
29 Removed: <td><button>edit</button></td>
30 Removed: <td><button formaction="/">delete</button></td>
31 Removed: <td>{{ product.name }}</td>
32 Removed: <td>{{ product.price_net }}</td>
33 Removed: <td>{{ product.price_gross }}</td>
34 Removed: {% if product.date_time_updated %}
35 Removed: <td>{{ product.date_time_updated }}</td>
36 Removed: {% else %}
37 Removed: <td>{{ product.date_time_created }}</td>
38 Removed: {% endif %}
39 Removed:
55 Added: <td>
56 Added: <form method="post" action="{{ url_for('common.delete_item', module='invoices', pk=invoice.primary_key, table='Invoice') }}">
57 Added: <button>delete</button>
58 Added: </form>
59 Added: <form method="post" action="{{ url_for('common.edit_item', module='invoices', pk=invoice.primary_key, table='Invoice') }}">
60 Added: <button>edit</button>
61 Added: </form>
62 Added: <form method="get" action="{{ url_for('invoices.preview', pk=invoice.primary_key) }}">
63 Added: <button>preview</button>
64 Added: </form>
65 Added: </td>
66 Added: <td>{{ invoice.primary_key }}</td>
67 Added: <td>{{ invoice.date_time_created }}</td>
68 Added: <td>{{ invoice.invoice_id_alt }}</td>
69 Added: <td>{{ invoice.customer.name }}</td>
70 Added: <td>{{ invoice.customer_reference }}</td>
71 Added: <td>{{ invoice.date_billed }}</td>
72 Added: <td>{{ invoice.date_due }}</td>
73 Added: <td>{{ invoice.amount_net }}</td>
74 Added: <td>{{ invoice.amount_gross }}</td>
75 Added: <td>{{ invoice.amount_tax }}</td>
40 76 </tr>
41 Removed: {% endfor %}
77 Added: {% endfor %}
42 78 </tbody>
43 Removed: </table>
79 Added: </table>
44 80 {% endblock %}
app/templates/modules/logger.html
index f3321e9a..00000000 100644..000000
@@ -1,142 +0,0 @@
1 Removed: {# -*- mode: web; -*- #}
2 Removed:
3 Removed: {% extends "base.html" %}
4 Removed:
5 Removed: {% block title %}
6 Removed: Logger
7 Removed: {% endblock %}
8 Removed:
9 Removed: {% block content %}
10 Removed:
11 Removed:
12 Removed: <div id="actions">
13 Removed: <a href="{{ url_for('add_item', item='log') }}" class="button">Add log</a>
14 Removed: </div>
15 Removed:
16 Removed: <i>Track operating logs.</i>
17 Removed:
18 Removed: <p>Most recent target</p>
19 Removed: <table>
20 Removed: <thead>
21 Removed: <tr>
22 Removed: <th colspan=2><i>Actions</i></th>
23 Removed: <th>ID</th>
24 Removed: <th>Type</th>
25 Removed: <th>Updated</th>
26 Removed: <th>NNO3</th>
27 Removed: <th>P</th>
28 Removed: <th>K</th>
29 Removed: <th>Ca</th>
30 Removed: <th>Mg</th>
31 Removed: <th>S</th>
32 Removed: <th>Na</th>
33 Removed: <th>Cl</th>
34 Removed: <th>Fe</th>
35 Removed: <th>Zn</th>
36 Removed: <th>B</th>
37 Removed: <th>Mn</th>
38 Removed: <th>Cu</th>
39 Removed: <th>Mo</th>
40 Removed: <th>Si</th>
41 Removed: <th>NNH4</th>
42 Removed: </tr>
43 Removed: </thead>
44 Removed: <tbody>
45 Removed: <tr>
46 Removed: <td>
47 Removed: <button>edit</button>
48 Removed: </td>
49 Removed: <td>
50 Removed: <form method="post" action="{{ url_for('delete_item', pk=target.primary_key, table='Log' ) }}">
51 Removed: <button>delete</button>
52 Removed: </form>
53 Removed: </td>
54 Removed: <td>{{ target.primary_key }}</td>
55 Removed: <td>Target</td>
56 Removed: <td>{{ target.date_time_updated }}</td>
57 Removed: <td>{{ target.nno3 }}</td>
58 Removed: <td>{{ target.p }}</td>
59 Removed: <td>{{ target.k }}</td>
60 Removed: <td>{{ target.ca }}</td>
61 Removed: <td>{{ target.mg }}</td>
62 Removed: <td>{{ target.s }}</td>
63 Removed: <td>{{ target.na }}</td>
64 Removed: <td>{{ target.cl }}</td>
65 Removed: <td>{{ target.fe }}</td>
66 Removed: <td>{{ target.zn }}</td>
67 Removed: <td>{{ target.b }}</td>
68 Removed: <td>{{ target.mn }}</td>
69 Removed: <td>{{ target.cu }}</td>
70 Removed: <td>{{ target.mo }}</td>
71 Removed: <td>{{ target.si }}</td>
72 Removed: <td>{{ target.nnh4 }}</td>
73 Removed: </tr>
74 Removed: </tbody>
75 Removed: </table>
76 Removed:
77 Removed: <p>Logs</p>
78 Removed:
79 Removed: <table>
80 Removed: <thead>
81 Removed: <tr>
82 Removed: <th colspan=2><i>Actions</i></th>
83 Removed: <th>ID</th>
84 Removed: <th>Type</th>
85 Removed: <th>Updated</th>
86 Removed: <th>NNO3</th>
87 Removed: <th>P</th>
88 Removed: <th>K</th>
89 Removed: <th>Ca</th>
90 Removed: <th>Mg</th>
91 Removed: <th>S</th>
92 Removed: <th>Na</th>
93 Removed: <th>Cl</th>
94 Removed: <th>Fe</th>
95 Removed: <th>Zn</th>
96 Removed: <th>B</th>
97 Removed: <th>Mn</th>
98 Removed: <th>Cu</th>
99 Removed: <th>Mo</th>
100 Removed: <th>Si</th>
101 Removed: <th>NNH4</th>
102 Removed: </tr>
103 Removed: </thead>
104 Removed: <tbody>
105 Removed: {% for log in logs %}
106 Removed: <tr>
107 Removed: <td>
108 Removed: <button>edit</button>
109 Removed: </td>
110 Removed: <td>
111 Removed: <form method="post" action="{{ url_for('delete_item', pk=log.primary_key, table='Log' ) }}">
112 Removed: <button>delete</button>
113 Removed: </form>
114 Removed: </td>
115 Removed: <td>{{ log.primary_key }}</td>
116 Removed: {% if log.target == "True" %}
117 Removed: <td>Target</td>
118 Removed: {% else %}
119 Removed: <td>Log</td>
120 Removed: {% endif %}
121 Removed: <td>{{ log.date_time_updated }}</td>
122 Removed: <td>{{ log.nno3 }}</td>
123 Removed: <td>{{ log.p }}</td>
124 Removed: <td>{{ log.k }}</td>
125 Removed: <td>{{ log.ca }}</td>
126 Removed: <td>{{ log.mg }}</td>
127 Removed: <td>{{ log.s }}</td>
128 Removed: <td>{{ log.na }}</td>
129 Removed: <td>{{ log.cl }}</td>
130 Removed: <td>{{ log.fe }}</td>
131 Removed: <td>{{ log.zn }}</td>
132 Removed: <td>{{ log.b }}</td>
133 Removed: <td>{{ log.mn }}</td>
134 Removed: <td>{{ log.cu }}</td>
135 Removed: <td>{{ log.mo }}</td>
136 Removed: <td>{{ log.si }}</td>
137 Removed: <td>{{ log.nnh4 }}</td>
138 Removed: </tr>
139 Removed: {% endfor %}
140 Removed: </tbody>
141 Removed: </table>
142 Removed: {% endblock %}
app/templates/modules/login.html
index 00000000..e66e6a45 000000..100644
@@ -0,0 +1,16 @@
1 Added: {# -*- mode: web; -*- #}
2 Added:
3 Added: {% extends "base.html" %}
4 Added:
5 Added: {# the login form #}
6 Added: {% block content %}
7 Added: <form action="{{ url_for('auth.login') }}" method="POST">
8 Added: <fieldset>
9 Added: <legend>Login</legend>
10 Added: {% for field in form %}
11 Added: {{ field.label() }}
12 Added: {{ field() }}<br/>
13 Added: {% endfor %}
14 Added: </fieldset>
15 Added: </form>
16 Added: {% endblock %}
app/templates/modules/orders.html
index bf94d3d7..fd0c13b5 100644..100644
@@ -5,12 +5,12 @@
5 5 Orders
6 6 {% endblock %}
7 7
8 Added: {% block actions %}
9 Added: <a href="{{ url_for('add_item', item='order') }}" class="button">Add order</a>
10 Added: {% endblock %}
11 Added:
8 12 {% block content %}
9 13 <i>Track your orders and their payment status here.</i>
10 Removed:
11 Removed: <p>
12 Removed: <a href="{{ url_for('add_item', item='order') }}" class="button">Add order</a>
13 Removed: </p>
14 14
15 15 <table>
16 16 <thead>
app/templates/modules/products.html
index 97b692ae..fda1afd0 100644..100644
@@ -5,19 +5,19 @@
5 5 Products
6 6 {% endblock %}
7 7
8 Added: {% block actions %}
9 Added: <li><a href="{{ url_for('common.add_item', module='products', table='Product') }}" class="button">Add product</a></li>
10 Added: {% endblock %}
11 Added:
8 12 {% block content %}
9 13
10 Removed:
11 Removed: <div id="actions">
12 Removed: <a href="{{ url_for('add_item', item='product') }}" class="button">Add product</a>
13 Removed: </div>
14 Removed:
15 14 <i>Track products you sell here.</i>
16 15
17 16 <table>
18 17 <thead>
19 18 <tr>
20 19 <th colspan=2><i>Actions</i></th>
20 Added: <th>ID</th>
21 21 <th>Name</th>
22 22 <th>Price (net)</th>
23 23 <th>Price (gross)</th>
@@ -28,13 +28,15 @@
28 28 {% for product in products %}
29 29 <tr>
30 30 <td>
31 Removed: <button>edit</button>
32 Removed: </td>
31 Added: <form method="post" action="{{ url_for('common.edit_item', module='products', pk=product.primary_key, table='Product') }}">
32 Added: <button>edit</button>
33 Added: </form> </td>
33 34 <td>
34 Removed: <form method="post" action="{{ url_for('delete_item', pk=product.primary_key, table='Product' ) }}">
35 Added: <form method="post" action="{{ url_for('common.delete_item', module='products', pk=product.primary_key, table='Product') }}">
35 36 <button>delete</button>
36 37 </form>
37 38 </td>
39 Added: <td>{{ product.primary_key }}</td>
38 40 <td>{{ product.name }}</td>
39 41 <td>{{ product.price_net }}</td>
40 42 <td>{{ product.price_gross }}</td>
app/templates/modules/register.html
index 00000000..76fc1e26 000000..100644
@@ -0,0 +1,16 @@
1 Added: {# -*- mode: web; -*- #}
2 Added:
3 Added: {% extends "base.html" %}
4 Added:
5 Added: {# the register form #}
6 Added: {% block content %}
7 Added: <form action="{{ url_for('auth.register') }}" method="POST">
8 Added: <fieldset>
9 Added: <legend>Register</legend>
10 Added: {% for field in form %}
11 Added: {{ field.label() }}
12 Added: {{ field() }}<br/>
13 Added: {% endfor %}
14 Added: </fieldset>
15 Added: </form>
16 Added: {% endblock %}
app/templates/modules/settings.html
index 00000000..0b8f0c09 000000..100644
@@ -0,0 +1,57 @@
1 Added: {# -*- mode: web; -*- #}
2 Added:
3 Added: {% extends "base.html" %}
4 Added:
5 Added: {% block title %}
6 Added: Settings for user {{ current_user.username }}
7 Added: {% endblock %}
8 Added:
9 Added: {% block content %}
10 Added:
11 Added: <p>Welcome, {{ current_user.username }}!</p>
12 Added:
13 Added: <h2>User profile</h2>
14 Added:
15 Added: <form method="post" action="{{ url_for('common.edit_item', module='settings', pk=current_user.primary_key, table='Users' ) }}">
16 Added: <button>edit</button>
17 Added: </form>
18 Added:
19 Added: <table>
20 Added: <thead>
21 Added: <tr>
22 Added: <th>Field</th>
23 Added: <th>Value</th>
24 Added: </tr>
25 Added: </thead>
26 Added: <tbody>
27 Added: <tr>
28 Added: <td>Username</td>
29 Added: <td>{{ current_user.username }}</td>
30 Added: </tr>
31 Added: <tr>
32 Added: <td>First Name</td>
33 Added: <td>{{ current_user.name_first }}</td>
34 Added: </tr>
35 Added: <tr>
36 Added: <td>Last Name</td>
37 Added: <td>{{ current_user.name_last }}</td>
38 Added: </tr>
39 Added: <tr>
40 Added: <td>E-mail</td>
41 Added: <td>{{ current_user.email }}</td>
42 Added: </tr>
43 Added: <tr>
44 Added: <td>Phone (mobile)</td>
45 Added: <td>{{ current_user.phone_mobile }}</td>
46 Added: </tr>
47 Added: <tr>
48 Added: <td>Phone (alt)</td>
49 Added: <td>{{ current_user.phone_alternative }}</td>
50 Added: </tr>
51 Added: <tr>
52 Added: <td> Last Updated</td>
53 Added: <td>{{ current_user.date_time_updated }}</td>
54 Added: </tr>
55 Added: </tbody>
56 Added: </table>
57 Added: {% endblock %}
app/templates/preview-invoice.html
index 5ddeb002..00000000 100644..000000
@@ -1,106 +0,0 @@
1 Removed: {# -*- mode: web; -*- #}
2 Removed:
3 Removed: <!doctype html>
4 Removed:
5 Removed: <html lang="en">
6 Removed: <head>
7 Removed: <meta charset="utf-8">
8 Removed: <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to">
9 Removed: <title>New Invoice for {{ customer.name }}</title>
10 Removed: <meta name="author" content="Marius Peter">
11 Removed: <meta name="description" content="A new invoice for your project.">
12 Removed: <!-- <link rel="icon" href="{{ url_for('static', filename='img/favicon.png') }}"> -->
13 Removed: <link rel="stylesheet" href="{{ url_for('static', filename='styles/invoice.css') }}">
14 Removed: </head>
15 Removed: <body>
16 Removed: <div id="content">
17 Removed: <header class="clearfix">
18 Removed: <div id="logo">
19 Removed: <img src="{{ url_for('static', filename='img/logo.png') }}">
20 Removed: </div>
21 Removed: <div id="company">
22 Removed: <h2 class="name">Company Name</h2>
23 Removed: <div>455 Foggy Heights, AZ 85004, US</div>
24 Removed: <div>(602) 519-0450</div>
25 Removed: <div><a href="mailto:company@example.com">company@example.com</a></div>
26 Removed: </div>
27 Removed:
28 Removed: </header>
29 Removed: <main>
30 Removed: <div id="details" class="clearfix">
31 Removed: <div id="client">
32 Removed: <div class="to">INVOICE TO:</div>
33 Removed: <h2 class="name">John Doe</h2>
34 Removed: <div class="address">796 Silver Harbour, TX 79273, US</div>
35 Removed: <div class="email"><a href="mailto:john@example.com">john@example.com</a></div>
36 Removed: </div>
37 Removed: <div id="invoice">
38 Removed: <h1>INVOICE 3-2-1</h1>
39 Removed: <div class="date">Date of Invoice: 01/06/2014</div>
40 Removed: <div class="date">Due Date: 30/06/2014</div>
41 Removed: </div>
42 Removed: </div>
43 Removed: <table cellspacing="0" cellpadding="0" border="0">
44 Removed: <thead>
45 Removed: <tr>
46 Removed: <th class="no">#</th>
47 Removed: <th class="desc">DESCRIPTION</th>
48 Removed: <th class="unit">UNIT PRICE</th>
49 Removed: <th class="qty">QUANTITY</th>
50 Removed: <th class="total">TOTAL</th>
51 Removed: </tr>
52 Removed: </thead>
53 Removed: <tbody>
54 Removed: <tr>
55 Removed: <td class="no">01</td>
56 Removed: <td class="desc"><h3>Website Design</h3>Creating a recognizable design solution based on the company's existing visual identity</td>
57 Removed: <td class="unit">$40.00</td>
58 Removed: <td class="qty">30</td>
59 Removed: <td class="total">$1,200.00</td>
60 Removed: </tr>
61 Removed: <tr>
62 Removed: <td class="no">02</td>
63 Removed: <td class="desc"><h3>Website Development</h3>Developing a Content Management System-based Website</td>
64 Removed: <td class="unit">$40.00</td>
65 Removed: <td class="qty">80</td>
66 Removed: <td class="total">$3,200.00</td>
67 Removed: </tr>
68 Removed: <tr>
69 Removed: <td class="no">03</td>
70 Removed: <td class="desc"><h3>Search Engines Optimization</h3>Optimize the site for search engines (SEO)</td>
71 Removed: <td class="unit">$40.00</td>
72 Removed: <td class="qty">20</td>
73 Removed: <td class="total">$800.00</td>
74 Removed: </tr>
75 Removed: </tbody>
76 Removed: <tfoot>
77 Removed: <tr>
78 Removed: <td colspan="2"></td>
79 Removed: <td colspan="2">SUBTOTAL</td>
80 Removed: <td>$5,200.00</td>
81 Removed: </tr>
82 Removed: <tr>
83 Removed: <td colspan="2"></td>
84 Removed: <td colspan="2">TAX 25%</td>
85 Removed: <td>$1,300.00</td>
86 Removed: </tr>
87 Removed: <tr>
88 Removed: <td colspan="2"></td>
89 Removed: <td colspan="2">GRAND TOTAL</td>
90 Removed: <td>$6,500.00</td>
91 Removed: </tr>
92 Removed: </tfoot>
93 Removed: </table>
94 Removed: <div id="thanks">Thank you!</div>
95 Removed: <div id="notices">
96 Removed: <div>NOTICE:</div>
97 Removed: <div class="notice">A finance charge of 1.5% will be made on unpaid balances after 30 days.</div>
98 Removed: </div>
99 Removed: </main>
100 Removed: <footer>
101 Removed: Invoice was created on a computer and is valid without the signature and seal.
102 Removed: </footer>
103 Removed:
104 Removed: </div>
105 Removed: </body>
106 Removed: </html>