Skip to content

Commit d45fadb

Browse files
Huge changing 14.07
1 parent de4cce2 commit d45fadb

4 files changed

Lines changed: 26 additions & 8 deletions

File tree

institutions/admin.py

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,34 @@
11
from django.contrib import admin
2+
from django.utils.html import format_html
3+
24
from .models import Institution, Certificate
35

46
@admin.register(Institution)
57
class InstitutionAdmin(admin.ModelAdmin):
6-
list_display = ('id', 'name', 'created_at', 'is_approved')
8+
list_display = ('id', 'name', 'created_at', 'is_approved', 'institution_logo', 'institution_seal')
79
search_fields = ('name', )
810
list_filter = ('is_approved', 'created_at')
911
ordering = ('-created_at',)
1012

13+
def institution_logo(self, obj):
14+
return format_html(f'''<a href="{obj.logo.url}" target="_blank"><img src="{obj.logo.url}"
15+
alt="image" width="100 height="100" style="object-fit : cover;"/></a>''')
16+
17+
def institution_seal(self, obj):
18+
return format_html(f'''<a href="{obj.seal.url}" target="_blank"><img src="{obj.seal.url}"
19+
alt="image" width="100 height="100" style="object-fit : cover;"/></a>''')
20+
1121
@admin.register(Certificate)
1222
class CertificateAdmin(admin.ModelAdmin):
13-
list_display = ('id', 'student__full_name', 'institution', 'issued_date', 'is_verified')
23+
list_display = ('id', 'student__full_name', 'institution', 'issued_date', 'is_verified', 'certificate_file', 'certificate_qr_code')
1424
search_fields = ('serial_number', 'student__full_name', 'institution__name')
1525
list_filter = ('is_verified', 'institution', 'issued_date')
16-
ordering = ('-issued_date',)
26+
ordering = ('-issued_date',)
27+
28+
def certificate_file(self, obj):
29+
return format_html(f'''<a href="{obj.file.url}" target="_blank"><img src="{obj.file.url}"
30+
alt="image" width="100 height="100" style="object-fit : cover;"/></a>''')
31+
32+
def certificate_qr_code(self, obj):
33+
return format_html(f'''<a href="{obj.qr_code.url}" target="_blank"><img src="{obj.qr_code.url}"
34+
alt="image" width="100 height="100" style="object-fit : cover;"/></a>''')

institutions/models.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ def save(self, *args, **kwargs):
5555
self.hash = get_file_hash(self.file)
5656
self.file.seek(0)
5757

58-
# QR code faqat hash mavjud bo‘lsa va hali yaratilmagan bo‘lsa
5958
if self.hash and not self.qr_code:
6059
qr_data = f"http://127.0.0.1:8000/verify/{self.hash}"
6160
qr_img = qrcode.make(qr_data)

institutions/serializers.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,12 @@
44

55

66
class InstitutionSerializer(serializers.ModelSerializer):
7-
admin = UserSerializer(read_only=True)
87

98
class Meta:
109
model = Institution
1110
fields = [
12-
'id', 'name', 'inn', 'address', 'phone', 'email', 'seal',
13-
'logo', 'website', 'is_approved', 'admin', 'created_at'
11+
'id', 'name', 'inn', 'address', 'admin', 'phone', 'email', 'seal',
12+
'logo', 'website', 'is_approved', 'created_at'
1413
]
1514

1615

@@ -25,7 +24,7 @@ class Meta:
2524
]
2625
read_only_fields = ['hash', 'qr_code']
2726

28-
def get_qr_code_url(self, obj):
27+
def get_qr_code_url(self, obj) -> str:
2928
request = self.context.get('request')
3029
if obj.qr_code:
3130
url = obj.qr_code.url

users/admin.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
from django.contrib import admin
22
from django.contrib.auth.admin import UserAdmin as DefaultUserAdmin
3+
from django.utils.html import format_html
4+
35
from .models import User
46

57
@admin.register(User)

0 commit comments

Comments
 (0)