mirror of
				https://gitlab.crans.org/bde/nk20
				synced 2025-10-31 15:50:03 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			181 lines
		
	
	
		
			8.2 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			181 lines
		
	
	
		
			8.2 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| {% extends "base.html" %}
 | |
| 
 | |
| {% load i18n static pretty_money django_tables2 %}
 | |
| 
 | |
| {# Remove page title #}
 | |
| {% block contenttitle %}{% endblock %}
 | |
| 
 | |
| {% block content %}
 | |
|     <div class="row mt-4">
 | |
|         <div class="col-sm-5 col-md-4" id="infos_div">
 | |
|             <div class="row">
 | |
|                 {# User details column #}
 | |
|                 <div class="col">
 | |
|                     <div class="card border-success shadow mb-4 text-center">
 | |
|                         <img src="/media/pic/default.png"
 | |
|                              id="profile_pic" alt="" class="card-img-top">
 | |
|                         <div class="card-body text-center">
 | |
|                             <span id="user_note"></span>
 | |
|                         </div>
 | |
|                     </div>
 | |
|                 </div>
 | |
| 
 | |
|                 {# User selection column #}
 | |
|                 <div class="col-xl-7" id="user_select_div">
 | |
|                     <div class="card border-success shadow mb-4">
 | |
|                         <div class="card-header">
 | |
|                             <p class="card-text font-weight-bold">
 | |
|                                 {% trans "Consum" %}
 | |
|                             </p>
 | |
|                         </div>
 | |
|                         <div class="card-body p-0" style="min-height:125px;">
 | |
|                             <ul class="list-group list-group-flush" id="note_list">
 | |
|                             </ul>
 | |
|                         </div>
 | |
| 
 | |
|                         {# User search with autocompletion #}
 | |
|                         <div class="card-footer">
 | |
|                             <input class="form-control mx-auto d-block"
 | |
|                                 placeholder="{% trans "Name or alias..." %}" type="text" id="note" autofocus />
 | |
|                         </div>
 | |
|                     </div>
 | |
|                 </div>
 | |
| 
 | |
|                 <div class="col-xl-5 d-none" id="consos_list_div">
 | |
|                     <div class="card border-info shadow mb-4">
 | |
|                         <div class="card-header">
 | |
|                             <p class="card-text font-weight-bold">
 | |
|                                 {% trans "Select consumptions" %}
 | |
|                             </p>
 | |
|                         </div>
 | |
|                         <div class="card-body p-0" style="min-height:125px;">
 | |
|                             <ul class="list-group list-group-flush" id="consos_list">
 | |
|                             </ul>
 | |
|                         </div>
 | |
|                         <div class="card-footer text-center">
 | |
|                             <a id="consume_all" href="#" class="btn btn-primary">
 | |
|                                 {% trans "Consume!" %}
 | |
|                             </a>
 | |
|                         </div>
 | |
|                     </div>
 | |
|                 </div>
 | |
|             </div>
 | |
|         </div>
 | |
| 
 | |
|         {# Buttons column #}
 | |
|         <div class="col">
 | |
|             {# Show last used buttons #}
 | |
|             <div class="card shadow mb-4">
 | |
|                 <div class="card-header">
 | |
|                     <p class="card-text font-weight-bold">
 | |
|                         {% trans "Most used buttons" %}
 | |
|                     </p>
 | |
|                 </div>
 | |
|                 <div class="card-body text-nowrap" style="overflow:auto hidden">
 | |
|                     <div class="d-inline-flex flex-wrap justify-content-center" id="most_used">
 | |
|                         {% for button in most_used %}
 | |
|                             {% if button.display %}
 | |
|                                 <button class="btn btn-outline-dark rounded-0 flex-fill"
 | |
|                                         id="most_used_button{{ button.id }}" name="button" value="{{ button.name }}">
 | |
|                                     {{ button.name }} ({{ button.amount | pretty_money }})
 | |
|                                 </button>
 | |
|                             {% endif %}
 | |
|                         {% endfor %}
 | |
|                     </div>
 | |
|                 </div>
 | |
|             </div>
 | |
| 
 | |
|             {# Regroup buttons under categories #}
 | |
|             {% regroup transaction_templates by category as categories %}
 | |
| 
 | |
|             <div class="card border-primary text-center shadow mb-4">
 | |
|                 {# Tabs for button categories #}
 | |
|                 <div class="card-header">
 | |
|                     <ul class="nav nav-tabs nav-fill card-header-tabs">
 | |
|                         {% for category in categories %}
 | |
|                             <li class="nav-item">
 | |
|                                 <a class="nav-link font-weight-bold" data-toggle="tab" href="#{{ category.grouper|slugify }}">
 | |
|                                     {{ category.grouper }}
 | |
|                                 </a>
 | |
|                             </li>
 | |
|                         {% endfor %}
 | |
|                     </ul>
 | |
|                 </div>
 | |
| 
 | |
|                 {# Tabs content #}
 | |
|                 <div class="card-body">
 | |
|                     <div class="tab-content">
 | |
|                         {% for category in categories %}
 | |
|                             <div class="tab-pane" id="{{ category.grouper|slugify }}">
 | |
|                                 <div class="d-inline-flex flex-wrap justify-content-center">
 | |
|                                     {% for button in category.list %}
 | |
|                                         {% if button.display %}
 | |
|                                             <button class="btn btn-outline-dark rounded-0 flex-fill"
 | |
|                                                     id="button{{ button.id }}" name="button" value="{{ button.name }}">
 | |
|                                                 {{ button.name }} ({{ button.amount | pretty_money }})
 | |
|                                             </button>
 | |
|                                         {% endif %}
 | |
|                                     {% endfor %}
 | |
|                                 </div>
 | |
|                             </div>
 | |
|                         {% endfor %}
 | |
|                     </div>
 | |
|                 </div>
 | |
| 
 | |
|                 {# Mode switch #}
 | |
|                 <div class="card-footer border-primary">
 | |
|                     <a class="btn btn-sm btn-secondary float-left" href="{% url 'note:template_list' %}">
 | |
|                         <i class="fa fa-edit"></i> {% trans "Edit" %}
 | |
|                     </a>
 | |
|                     <div class="btn-group btn-group-toggle float-right" data-toggle="buttons">
 | |
|                         <label for="single_conso" class="btn btn-sm btn-outline-primary active">
 | |
|                             <input type="radio" name="conso_type" id="single_conso" checked>
 | |
|                             <i class="fa fa-long-arrow-left" aria-hidden="true"></i>
 | |
|                             {% trans "Single consumptions" %}
 | |
|                         </label>
 | |
|                         <label for="double_conso" class="btn btn-sm btn-outline-primary">
 | |
|                             <input type="radio" name="conso_type" id="double_conso">
 | |
|                             <i class="fa fa-arrows-h" aria-hidden="true"></i>
 | |
|                             {% trans "Double consumptions" %}
 | |
|                         </label>
 | |
|                     </div>
 | |
|                 </div>
 | |
|             </div>
 | |
|         </div>
 | |
|     </div>
 | |
| 
 | |
|     <div class="card shadow mb-4" id="history">
 | |
|         <div class="card-header">
 | |
|             <p class="card-text font-weight-bold">
 | |
|                 {% trans "Recent transactions history" %}
 | |
|             </p>
 | |
|         </div>
 | |
|         {% render_table table %}
 | |
|     </div>
 | |
| {% endblock %}
 | |
| 
 | |
| {% block extrajavascript %}
 | |
|     <script type="text/javascript" src="{% static "js/consos.js" %}"></script>
 | |
|     <script type="text/javascript">
 | |
|         {% for button in most_used %}
 | |
|             {% if button.display %}
 | |
|                 $("#most_used_button{{ button.id }}").click(function() {
 | |
|                     addConso({{ button.destination.id }}, {{ button.amount }},
 | |
|                         {{ polymorphic_ctype }}, {{ button.category.id }}, "{{ button.category.name }}",
 | |
|                         {{ button.id }}, "{{ button.name }}");
 | |
|                 });
 | |
|             {% endif %}
 | |
|         {% endfor %}
 | |
| 
 | |
|         {% for button in transaction_templates %}
 | |
|             {% if button.display %}
 | |
|                 $("#button{{ button.id }}").click(function() {
 | |
|                     addConso({{ button.destination.id }}, {{ button.amount }},
 | |
|                         {{ polymorphic_ctype }}, {{ button.category.id }}, "{{ button.category.name }}",
 | |
|                         {{ button.id }}, "{{ button.name }}");
 | |
|                 });
 | |
|             {% endif %}
 | |
|         {% endfor %}
 | |
|     </script>
 | |
| {% endblock %}
 |