]> rtime.felk.cvut.cz Git - coffee/coffee-flask.git/blob - templates/user.html
a757cb809c04c3e3f9e7ce6f982a55e68b5fcbf6
[coffee/coffee-flask.git] / templates / user.html
1 <style>
2 .events {
3     margin: 0.8em;
4     margin-bottom: 1.5em;
5     padding: 2px;
6     border-spacing: 2em 0;
7 }
8
9 .events h3 {
10     display: inline-block;
11     margin-top: 1ex;
12     margin-right: 0.7em;
13 }
14
15 .events-box {
16     border: 1px solid black;
17     padding: 0.5em;
18     display: inline-block;
19     vertical-align: top;
20 }
21
22 .events-box h4 {
23     margin: 0.5ex;
24 }
25 .events-box .btnline {
26     text-align: left;
27 }
28 .events-box input {
29     padding: 1.5ex;
30     margin: 0.5ex;
31 }
32 </style>
33
34 {###############}
35 {# Graphs etc. #}
36 {###############}
37 {% if name %}
38     <form style="position: absolute; right: 15%; width: 15%; height: 15%;">
39         <button type="button" id="logout_button" onclick="logout()" style="width: 100%; height: 100%;">logout</button>
40     </form>
41
42     <h1>Hello, {{ name }}!</h1>
43
44     <p id="eventMsg"></p>
45     <p id="nextStep"></p>
46
47     {% if counts|length > 0 %}
48     <p>You've had
49     {% for c in counts %}
50         {%- if counts|length > 1 -%}
51             {%- if loop.last -%}
52                 {%- if counts|length > 2 -%}
53                     ,
54                 {% endif %}
55                 and
56             {%- elif not loop.first -%}
57                 ,
58             {% endif %}
59         {% endif %}
60         {{ c[1] }}
61         {% if c[0] == "" %}
62             other beverage
63         {%- else -%}
64             {{ c[0] }}
65         {%- endif -%}
66         {%- if c[1] != 1 -%}s{%- endif -%}
67     {% endfor %}
68     today.</p>
69     {% endif %}
70
71     <img src="{{ url_for('coffee_graph_history', _external=True, stamp=stamp) }}">
72     <img src="{{ url_for('coffee_graph_flavors', _external=True, stamp=stamp) }}">
73
74     <p>
75         {% if flavors %}
76         <form>
77         {% for flavor in flavors %}
78         <input type="button" value="{{ flavor }}" onclick="addCoffee(this.value)" style="padding: 1.2%; margin: 3px">
79         {% endfor %}
80         </form>
81         {% endif %}
82     </p>
83 {% else %}
84     <p>Use your card/token to log in...</p>
85
86     <img src="{{ url_for('coffee_graph_history', _external=True, stamp=stamp) }}">
87     <img src="{{ url_for('coffee_graph_flavors', _external=True, stamp=stamp, days=7) }}">
88 {% endif %}
89
90 {##########}
91 {# Events #}
92 {##########}
93     <br />
94     <form>
95       {%- macro event_box(title, events) -%}
96         <div class="events-box">
97           <h4>{{title | capitalize}}</h4>
98           {#- The first item in the list is used as button label, last item in the overview -#}
99           {%- set verb = {
100                            "COFFEE_MACHINE_CLEANED": ["cleaned"],
101                            "COFFEE_PACK_OPENED": ["opened"],
102                            "LAST_COFFEE_PACK_OPENED": ["last opened"],
103                            "MILK_CONTAINER_CLEANED": ["cleaned (water)", "cleaned"],
104                            "MILK_CONTAINER_CLEANED_WITH_TABLET": ["cleaned (tablet)"],
105                          }
106           -%}
107           {% if name -%} {# User logged in - show action buttons #}
108             {%- for event in events %}
109               <div class="btnline">
110                 <input type="button" value="{{ verb[event]|first }}"
111                        onclick="addEvent('{{ event }}', '{{ verb[events[0]]|last }} the {{ title }}')" />
112                        ({{ last_events[event] | humanize(max_interval="days") if event in last_events else "never" }})
113               </div>
114             {%- endfor -%}
115           {%- else -%}    {# Nobody logged in - show overview with summary times #}
116             {# Calculate maximum timestamp of all relevant events #}
117             {%- set when = last_events.items() | selectattr(0, 'in',
118           events) | map(attribute=1) | max | humanize(max_interval="days") -%}
119               {%- if when -%}
120                 {{ verb[events[0]]|last }} {{ when }}
121               {%- else -%}
122                 never {{ verb[events[0]]|last }}
123               {%- endif -%}
124           {%- endif %}
125         </div>
126       {%- endmacro %}
127       <div class="events">
128         <h3>{{ ("Record<br />event" if name else "Events") | safe }}:</h3>
129         {{ event_box('coffee machine', ['COFFEE_MACHINE_CLEANED'] ) }}
130         {{ event_box('milk container', ['MILK_CONTAINER_CLEANED', 'MILK_CONTAINER_CLEANED_WITH_TABLET'] ) }}
131         &nbsp;&nbsp;
132         {{ event_box('coffee pack', ['COFFEE_PACK_OPENED'] ) }}
133       </div>
134     </form>
135
136 {##################################}
137 {# User name and chip idnetifiers #}
138 {##################################}
139 {% if name %}
140     <br />
141     <p>
142         <form>
143             <label for="username">Username:</label>
144             <input id="username" type="text" name="name">
145             <input type="button" value="rename" onclick="renameUser()">
146         </form>
147     </p>
148     <form>
149         <table style="padding: 2px">
150             <tr>
151                 <td colspan="4" align="center"><b>Identifiers:</b></td>
152             </tr>
153             {% for id in identifiers %}
154             <tr>
155                 <td><input type="text" id="identifier_name_{{ loop.index }}" value="{{ id[2] }}" /></td>
156                 <td {% if iid == id[1] %} style="font-weight: bold" {% endif %}>#<span id="identifier_{{ loop.index }}">{{ id[1] }}</span></td>
157                 <td><input type="button" value="rename" onclick="renameIdentifier({{ loop.index }})" /></td>
158                 <td><input type="button" value="remove" onclick="disableIdentifier('{{ id[1] }}')" /></td>
159             </tr>
160             {% endfor %}
161             <tr>
162                 <td><input type="button" id="addIdentifier" value="add identifier" onclick="addIdentifier_start()" /></td>
163                 <td colspan="2" style="visibility: hidden" id="labelIdentifier"><b>Use your identifier.</b></td>
164                 <td><input type="button" id="abortIdentifier" value="abort" disabled onclick="addIdentifier_finish()" /></td>
165             </tr>
166         </table>
167     </form>
168 {% endif %}