73 lines
		
	
	
	
		
			3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
	
		
			3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
from django.contrib import admin
 | 
						|
from .models import InstallationAssignment, InstallationReport, InstallationPhoto, InstallationItemChange
 | 
						|
 | 
						|
 | 
						|
@admin.register(InstallationAssignment)
 | 
						|
class InstallationAssignmentAdmin(admin.ModelAdmin):
 | 
						|
    list_display = ('process_instance', 'installer', 'scheduled_date', 'created')
 | 
						|
    search_fields = ('process_instance__code', 'installer__username', 'installer__first_name', 'installer__last_name')
 | 
						|
    list_filter = ('scheduled_date',)
 | 
						|
 | 
						|
 | 
						|
class InstallationPhotoInline(admin.TabularInline):
 | 
						|
    model = InstallationPhoto
 | 
						|
    extra = 0
 | 
						|
 | 
						|
 | 
						|
class InstallationItemChangeInline(admin.TabularInline):
 | 
						|
    model = InstallationItemChange
 | 
						|
    extra = 0
 | 
						|
 | 
						|
 | 
						|
@admin.register(InstallationReport)
 | 
						|
class InstallationReportAdmin(admin.ModelAdmin):
 | 
						|
    list_display = (
 | 
						|
        'assignment', 'visited_date', 'meter_type', 'meter_size', 'water_meter_manufacturer',
 | 
						|
        'discharge_pipe_diameter', 'usage_type', 'exploitation_license_number',
 | 
						|
        'motor_power', 'flow_rate', 'meter_reading', 'meter_charge', 'meter_charge_expiration_date',
 | 
						|
        'new_water_meter_serial', 'seal_number', 'sim_number',
 | 
						|
        'is_panel_sealed', 'is_panel_cut', 'is_disconnection_done',
 | 
						|
        'is_meter_suspicious', 'approved', 'created'
 | 
						|
    )
 | 
						|
    list_filter = ('is_meter_suspicious', 'is_panel_sealed', 'is_panel_cut', 'is_disconnection_done', 'approved', 'visited_date', 'meter_type', 'usage_type', 'water_meter_manufacturer')
 | 
						|
    search_fields = (
 | 
						|
        'assignment__process_instance__code', 'new_water_meter_serial', 'seal_number', 'exploitation_license_number', 'sim_number'
 | 
						|
    )
 | 
						|
    inlines = [InstallationPhotoInline, InstallationItemChangeInline]
 | 
						|
    fieldsets = (
 | 
						|
        ('زمان و تایید', {
 | 
						|
            'fields': ('visited_date', 'approved', 'approved_at')
 | 
						|
        }),
 | 
						|
        ('کنتور و سازنده', {
 | 
						|
            'fields': (
 | 
						|
                'meter_type', 'meter_size', 'water_meter_manufacturer', 'new_water_meter_serial', 'seal_number', 'is_meter_suspicious', 'sim_number'
 | 
						|
            )
 | 
						|
        }),
 | 
						|
        ('مشخصات هیدرولیکی', {
 | 
						|
            'fields': ('discharge_pipe_diameter', 'flow_rate', 'meter_reading', 'meter_charge', 'meter_charge_expiration_date')
 | 
						|
        }),
 | 
						|
        ('کاربری و مجوز', {
 | 
						|
            'fields': ('usage_type', 'exploitation_license_number')
 | 
						|
        }),
 | 
						|
        ('توان و محرکه', {
 | 
						|
            'fields': ('driving_force', 'motor_power')
 | 
						|
        }),
 | 
						|
        ('وضعیت تابلو/قطع', {
 | 
						|
            'fields': ('is_panel_sealed', 'is_panel_cut', 'is_disconnection_done')
 | 
						|
        }),
 | 
						|
        ('توضیحات', {
 | 
						|
            'fields': ('description',)
 | 
						|
        }),
 | 
						|
    )
 | 
						|
 | 
						|
 | 
						|
@admin.register(InstallationPhoto)
 | 
						|
class InstallationPhotoAdmin(admin.ModelAdmin):
 | 
						|
    list_display = ('report', 'created')
 | 
						|
 | 
						|
 | 
						|
@admin.register(InstallationItemChange)
 | 
						|
class InstallationItemChangeAdmin(admin.ModelAdmin):
 | 
						|
    list_display = ('report', 'item', 'change_type', 'quantity', 'unit_price', 'total_price', 'created')
 | 
						|
    list_filter = ('change_type',)
 | 
						|
 |