mirror of
				https://gitlab.crans.org/bde/nk20
				synced 2025-10-31 15:50:03 +01:00 
			
		
		
		
	Add most used buttons
This commit is contained in:
		
				
					committed by
					
						 Bombar Maxime
						Bombar Maxime
					
				
			
			
				
	
			
			
			
						parent
						
							ad66380e1b
						
					
				
				
					commit
					c42a7745bc
				
			| @@ -68,6 +68,7 @@ class TransactionTemplate(models.Model): | ||||
|     description = models.CharField( | ||||
|         verbose_name=_('description'), | ||||
|         max_length=255, | ||||
|         blank=True, | ||||
|     ) | ||||
|  | ||||
|     class Meta: | ||||
|   | ||||
| @@ -124,8 +124,11 @@ class ConsoView(LoginRequiredMixin, SingleTableView): | ||||
|         Add some context variables in template such as page title | ||||
|         """ | ||||
|         context = super().get_context_data(**kwargs) | ||||
|         context['transaction_templates'] = TransactionTemplate.objects.filter(display=True) \ | ||||
|             .order_by('category__name', 'name') | ||||
|         from django.db.models import Count | ||||
|         buttons = TransactionTemplate.objects.filter(display=True) \ | ||||
|             .annotate(clicks=Count('templatetransaction')).order_by('category__name', 'name') | ||||
|         context['transaction_templates'] = buttons | ||||
|         context['most_used'] = buttons.order_by('-clicks', 'name')[:10] | ||||
|         context['title'] = _("Consumptions") | ||||
|         context['polymorphic_ctype'] = ContentType.objects.get_for_model(TemplateTransaction).pk | ||||
|  | ||||
|   | ||||
| @@ -651,8 +651,8 @@ msgid "Consume!" | ||||
| msgstr "Consommer !" | ||||
|  | ||||
| #: templates/note/conso_form.html:62 | ||||
| msgid "The most used buttons will display here." | ||||
| msgstr "Les boutons les plus utilisés apparaîtront ici." | ||||
| msgid "Most used buttons" | ||||
| msgstr "Boutons les plus utilisés" | ||||
|  | ||||
| #: templates/note/conso_form.html:107 | ||||
| msgid "Edit" | ||||
|   | ||||
| @@ -6,6 +6,7 @@ | ||||
|  */ | ||||
| function refreshHistory() { | ||||
|     $("#history").load("/note/consos/ #history"); | ||||
|     $("#most_used").load("/note/consos/ #most_used"); | ||||
| } | ||||
|  | ||||
| $(document).ready(function() { | ||||
|   | ||||
| @@ -59,11 +59,23 @@ | ||||
|         <div class="col-sm-7 col-md-8" id="buttons_div"> | ||||
|             {# Show last used buttons #} | ||||
|             <div class="card shadow mb-4"> | ||||
|                 <div class="card-body text-nowrap" style="overflow:auto hidden"> | ||||
|                     <p class="card-text text-muted font-weight-light font-italic"> | ||||
|                         {% trans "The most used buttons will display here." %} | ||||
|                 <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="button{{ button.id }}" name="button" value="{{ button.name }}"> | ||||
|                                     {{ button.name }} ({{ button.amount | pretty_money }}) | ||||
|                                 </button> | ||||
|                             {% endif %} | ||||
|                         {% endfor %} | ||||
|                     </div> | ||||
|                 </div> | ||||
|             </div> | ||||
|  | ||||
|             {# Regroup buttons under categories #} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user