Merge branch 'matej-drobna-vylepseni'
This commit is contained in:
		
						commit
						2c12aed37e
					
				
					 2 changed files with 51 additions and 18 deletions
				
			
		|  | @ -8,6 +8,8 @@ from solo.admin import SingletonModelAdmin | ||||||
| from ckeditor.widgets import CKEditorWidget | from ckeditor.widgets import CKEditorWidget | ||||||
| from django.db.models import Count | from django.db.models import Count | ||||||
| from django.db import models | from django.db import models | ||||||
|  | from django.utils.safestring import mark_safe | ||||||
|  | from django.core.urlresolvers import reverse | ||||||
| 
 | 
 | ||||||
| from django.contrib.auth.models import User | from django.contrib.auth.models import User | ||||||
| 
 | 
 | ||||||
|  | @ -478,11 +480,37 @@ create_modeladmin(ProblemNavrhAdmin, Problem, 'ProblemNavrh', verbose_name=u'Pro | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class ProblemZadanyAdmin(ProblemAdmin): | class ProblemZadanyAdmin(ProblemAdmin): | ||||||
|     list_display = ['nazev', 'typ', 'autor', 'opravovatel', 'kod', 'verejne'] |     list_display = [ | ||||||
|  |         'nazev', | ||||||
|  |         'typ', | ||||||
|  |         'cislo_zadani_link', | ||||||
|  |         'cislo_reseni_link', | ||||||
|  |         'autor', | ||||||
|  |         'opravovatel', | ||||||
|  |         'kod', | ||||||
|  |         'verejne' | ||||||
|  |     ] | ||||||
|     list_filter = [ |     list_filter = [ | ||||||
|         'typ', 'zamereni', 'cislo_zadani__cislo', 'cislo_zadani__rocnik' |         'typ', 'zamereni', 'cislo_zadani__cislo', 'cislo_zadani__rocnik' | ||||||
|     ] |     ] | ||||||
| 
 | 
 | ||||||
|  |     def cislo_zadani_link(self, obj): | ||||||
|  |         return mark_safe('<a href="{}">{}</a>'.format( | ||||||
|  |             reverse("admin:seminar_cislo_change", args=(obj.cislo_zadani.pk,)), | ||||||
|  |             obj.cislo_zadani | ||||||
|  |         )) | ||||||
|  |     cislo_zadani_link.short_description = u'Číslo zadání' | ||||||
|  | 
 | ||||||
|  |     # TODO pokud se budou odkazy v adminu více používat, možná by se hodilo je | ||||||
|  |     # nějak zjednodušit, např. tímto? | ||||||
|  |     # https://github.com/gitaarik/django-admin-relation-links | ||||||
|  |     def cislo_reseni_link(self, obj): | ||||||
|  |         return mark_safe('<a href="{}">{}</a>'.format( | ||||||
|  |             reverse("admin:seminar_cislo_change", args=(obj.cislo_reseni.pk,)), | ||||||
|  |             obj.cislo_reseni | ||||||
|  |         )) | ||||||
|  |     cislo_reseni_link.short_description = u'Číslo řešení' | ||||||
|  | 
 | ||||||
|     def get_inline_instances(self, request, obj=None): |     def get_inline_instances(self, request, obj=None): | ||||||
|         if obj and obj.typ == Problem.TYP_ULOHA: |         if obj and obj.typ == Problem.TYP_ULOHA: | ||||||
|             inlines = [ReseniKProblemuInline, PohadkaKProblemuInline] |             inlines = [ReseniKProblemuInline, PohadkaKProblemuInline] | ||||||
|  |  | ||||||
|  | @ -13,23 +13,27 @@ | ||||||
|   {% endif %} |   {% endif %} | ||||||
|   <p><a href='{{ cislo.rocnik.verejne_url }}'>Ročník {{ cislo.rocnik }}</a> |   <p><a href='{{ cislo.rocnik.verejne_url }}'>Ročník {{ cislo.rocnik }}</a> | ||||||
| 
 | 
 | ||||||
|   <h2>Zadané problémy</h2> |   {% if v_cisle_zadane %} | ||||||
|   <ul> |     <h2>Zadané problémy</h2> | ||||||
|   {% for p in v_cisle_zadane %} |     <ul> | ||||||
|     <li>{# TODO zprovoznit odkazy i pro účastníky, až bude na co #} |     {% for p in v_cisle_zadane %} | ||||||
|       {% if user.is_staff %} |       <li{% if user.is_staff and not cislo.verejne %} class='mam-org-only'{% endif %}> | ||||||
|         <a href='{{ p.verejne_url }}'>{% endif %}{{ p.kod_v_rocniku }} {{ p.nazev }} {{ p.body_v_zavorce }}{% if user.is_staff %}</a>{% endif %} |         {% if user.is_staff or cislo.verejne %} | ||||||
|   {% endfor %} |           <a href='{{ p.verejne_url }}'>{% endif %}{{ p.kod_v_rocniku }} {{ p.nazev }} {{ p.body_v_zavorce }}{% if user.is_staff or cislo.verejne %}</a>{% endif %} | ||||||
|   </ul> |     {% endfor %} | ||||||
|  |     </ul> | ||||||
|  |   {% endif %} | ||||||
| 
 | 
 | ||||||
|   <h2>Řešené problémy</h2> |   {% if resene_problemy %} | ||||||
|   <ul> |     <h2>Řešené problémy</h2> | ||||||
|   {% for p in resene_problemy %} |     <ul> | ||||||
|     <li>{# TODO zprovoznit odkazy i pro účastníky, až bude na co #} |     {% for p in resene_problemy %} | ||||||
|       {% if user.is_staff %} |       <li{% if user.is_staff and not cislo.verejne %} class='mam-org-only'{% endif %}> | ||||||
|         <a href='{{ p.verejne_url }}'>{% endif %}{{ p.kod_v_rocniku }} {{ p.nazev }} {{ p.body_v_zavorce }}{% if user.is_staff %}</a>{% endif %} |         {% if user.is_staff or cislo.verejne %} | ||||||
|   {% endfor %} |           <a href='{{ p.verejne_url }}'>{% endif %}{{ p.kod_v_rocniku }} {{ p.nazev }} {{ p.body_v_zavorce }}{% if user.is_staff or cislo.verejne %}</a>{% endif %} | ||||||
|   </ul> |     {% endfor %} | ||||||
|  |     </ul> | ||||||
|  |   {% endif %} | ||||||
| 
 | 
 | ||||||
|   {% if user.is_staff %} |   {% if user.is_staff %} | ||||||
|       <div class="mam-org-only"> |       <div class="mam-org-only"> | ||||||
|  | @ -57,8 +61,9 @@ | ||||||
|       <tr class='border-b'> |       <tr class='border-b'> | ||||||
|         <th class='border-r'># |         <th class='border-r'># | ||||||
|         <th class='border-r'>Jméno |         <th class='border-r'>Jméno | ||||||
|  |         {# problémy by měly být veřejné, když je veřejná výsledkovka #} | ||||||
|         {% for p in problemy %} |         {% for p in problemy %} | ||||||
|         <th class='border-r'>{# TODO <a href="{{ p.verejne_url }}"> #}{{ p.kod_v_rocniku }}{# </a> #} |         <th class='border-r'><a href="{{ p.verejne_url }}">{{ p.kod_v_rocniku }}</a> | ||||||
|         {% endfor %} |         {% endfor %} | ||||||
|         <th class='border-r'>Za číslo</sup> |         <th class='border-r'>Za číslo</sup> | ||||||
|         <th class='border-r'>Za ročník |         <th class='border-r'>Za ročník | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Matěj Kocián
						Matěj Kocián