Admin: odkazy na čísla zadání/řešení z problémů
This commit is contained in:
		
							parent
							
								
									e1fc2ec00a
								
							
						
					
					
						commit
						c7a792257f
					
				
					 1 changed files with 29 additions and 1 deletions
				
			
		|  | @ -8,6 +8,8 @@ from solo.admin import SingletonModelAdmin | |||
| from ckeditor.widgets import CKEditorWidget | ||||
| from django.db.models import Count | ||||
| 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 | ||||
| 
 | ||||
|  | @ -478,11 +480,37 @@ create_modeladmin(ProblemNavrhAdmin, Problem, 'ProblemNavrh', verbose_name=u'Pro | |||
| 
 | ||||
| 
 | ||||
| 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 = [ | ||||
|         '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): | ||||
|         if obj and obj.typ == Problem.TYP_ULOHA: | ||||
|             inlines = [ReseniKProblemuInline, PohadkaKProblemuInline] | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Matěj Kocián
						Matěj Kocián