add scope to filter data
This commit is contained in:
		
							parent
							
								
									394546dc67
								
							
						
					
					
						commit
						e9dec3292c
					
				
					 13 changed files with 386 additions and 36 deletions
				
			
		| 
						 | 
				
			
			@ -7,17 +7,23 @@ from django.contrib import messages
 | 
			
		|||
from django import forms
 | 
			
		||||
from .models import Well, WaterMeterManufacturer
 | 
			
		||||
from .forms import WellForm, WaterMeterManufacturerForm
 | 
			
		||||
from django.contrib.auth.decorators import login_required
 | 
			
		||||
from common.decorators import allowed_roles
 | 
			
		||||
from common.consts import UserRoles
 | 
			
		||||
from processes.utils import scope_wells_queryset
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@login_required
 | 
			
		||||
@allowed_roles([UserRoles.ADMIN, UserRoles.BROKER, UserRoles.MANAGER, UserRoles.ACCOUNTANT])
 | 
			
		||||
def well_list(request):
 | 
			
		||||
    """نمایش لیست چاهها"""
 | 
			
		||||
    wells = Well.objects.select_related(
 | 
			
		||||
    base = Well.objects.select_related(
 | 
			
		||||
        'representative', 
 | 
			
		||||
        'water_meter_manufacturer',
 | 
			
		||||
        'affairs',
 | 
			
		||||
        'county', 
 | 
			
		||||
        'broker'
 | 
			
		||||
    ).filter(is_deleted=False)
 | 
			
		||||
    wells = scope_wells_queryset(request.user, base)
 | 
			
		||||
    
 | 
			
		||||
    # فرم برای افزودن چاه جدید
 | 
			
		||||
    form = WellForm()
 | 
			
		||||
| 
						 | 
				
			
			@ -31,6 +37,8 @@ def well_list(request):
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
@require_POST
 | 
			
		||||
@login_required
 | 
			
		||||
@allowed_roles([UserRoles.ADMIN, UserRoles.BROKER, UserRoles.MANAGER, UserRoles.ACCOUNTANT])
 | 
			
		||||
def add_well_ajax(request):
 | 
			
		||||
    """AJAX endpoint for adding wells"""
 | 
			
		||||
    try:
 | 
			
		||||
| 
						 | 
				
			
			@ -87,6 +95,8 @@ def add_well_ajax(request):
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
@require_POST
 | 
			
		||||
@login_required
 | 
			
		||||
@allowed_roles([UserRoles.ADMIN, UserRoles.BROKER, UserRoles.MANAGER, UserRoles.ACCOUNTANT])
 | 
			
		||||
def edit_well_ajax(request, well_id):
 | 
			
		||||
    """AJAX endpoint for editing wells"""
 | 
			
		||||
    well = get_object_or_404(Well, id=well_id)
 | 
			
		||||
| 
						 | 
				
			
			@ -141,6 +151,8 @@ def edit_well_ajax(request, well_id):
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
@require_POST
 | 
			
		||||
@login_required
 | 
			
		||||
@allowed_roles([UserRoles.ADMIN, UserRoles.BROKER, UserRoles.MANAGER, UserRoles.ACCOUNTANT])
 | 
			
		||||
def delete_well(request, well_id):
 | 
			
		||||
    """حذف چاه"""
 | 
			
		||||
    well = get_object_or_404(Well, id=well_id)
 | 
			
		||||
| 
						 | 
				
			
			@ -154,6 +166,7 @@ def delete_well(request, well_id):
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
@require_GET
 | 
			
		||||
@login_required
 | 
			
		||||
def get_well_data(request, well_id):
 | 
			
		||||
    """دریافت اطلاعات چاه برای ویرایش"""
 | 
			
		||||
    well = get_object_or_404(Well, id=well_id)
 | 
			
		||||
| 
						 | 
				
			
			@ -183,6 +196,7 @@ def get_well_data(request, well_id):
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
@require_POST
 | 
			
		||||
@login_required
 | 
			
		||||
def create_water_meter_manufacturer(request):
 | 
			
		||||
    """ایجاد شرکت سازنده کنتور آب جدید"""
 | 
			
		||||
    form = WaterMeterManufacturerForm(request.POST)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue