def view_equipment_state_list(request): if not check_ajax(request): return render(request, 'equipment/state_list/StateListManagement.html', {'has_nav': True, 'get': request.GET}) fields = ['pk', 'name', 'description', 'ext'] order = get_full_sort(request.GET, fields) states = search_equipment_state_list(request.GET).values(*fields).order_by(order) res = get_paginate(states, request.GET.get('current'), request.GET.get('rowCount')) return HttpResponse(res)
def view_equipment_type(request): if not check_ajax(request): return render(request, 'equipment/equipment_type/TypeManagement.html', {'has_nav': True}) fields = ['pk', 'ext', 'name'] sort = get_full_sort(request.GET, fields) res = search_equipment_type(request.GET).values(*fields).order_by(sort) p = get_paginate(res, request.GET.get('current'), request.GET.get('rowCount')) return HttpResponse(p)
def view_equipment_code(request): if not check_ajax(request): return render(request, 'equipment/codes/CodeManagement.html', {'has_nav': False}) fields = ['pk', 'ext', 'code', 'sell_price', 'used_sell_price', 'name'] sort = get_full_sort(request.GET, fields) ec = search_equipment_code(request.GET).values(*fields).order_by(sort) rs = get_paginate(ec, request.GET.get('current'), request.GET.get("rowCount")) return HttpResponse(rs)
def equipment_operation(request): equipment = get_equipment_ext(request.GET.get('pk')) if not equipment: return send_error(request, _('invalid item')) data = equipment.fk_involved_equipment_equipment.all().values('pk', 'ext', 'item_text', 'order__personnel__first_name', 'order__request_date') res = get_paginate(data, request.GET.get('current'), request.GET.get('rowCount')) return HttpResponse(res)
def view_equipment_group(request): if not check_ajax(request): return render(request, 'equipment/group/GroupManagement.html', {'has_nav': False}) fields = ['name', 'pk', 'description', 'ext', 'equipment_type__name', 'remain_items', 'used_remain_items', 'code__code'] sort = get_full_sort(request.GET, fields) groups = search_equipment_group(request.GET).values(*fields).order_by(sort) rs = get_paginate(groups, request.GET.get('current'), request.GET.get('rowCount')) return HttpResponse(rs)
def view_equipment(request): if not check_ajax(request): groups = EquipmentGroup.objects.all() return render(request, 'equipment/ViewEquipment.html', {'has_nav': True, 'equipment_groups': groups}) fields = ['ext', 'description', 'group__name', 'last_update', 'is_involved', 'is_used', 'pk', 'serial', 'fk_equipment_state_equipment__state__name'] order = get_full_sort(request.GET, fields) res = search_equipment(request.GET).values(*fields).order_by(order) x = get_paginate(res, request.GET.get('current'), request.GET.get('rowCount')) return HttpResponse(x)
def get_type_sub_group(request): ext = get_uuid(request.GET.get('pk')) if not ext: return send_error(request, _('invalid item')) fields = ['ext', 'pk', 'name', 'remain_items', 'used_remain_items', 'code__sell_price', 'code__used_sell_price', 'code__code'] sort = get_full_sort(request.GET, fields) groups = EquipmentGroup.objects.filter(Q(remain_items__gt=0) | Q(used_remain_items__gt=0), equipment_type__ext=ext).values(*fields).order_by(sort) return HttpResponse(get_paginate(groups, request.GET.get('current'), request.GET.get('rowCount')))
def view_equipment_order_select(request): order = get_equipment_order_item_ext(request.GET.get('pk')) if not order: return send_error(request, _('invalid item')) fields = ['pk', 'ext', 'is_used', 'description', 'group__name', 'serial'] sort = get_full_sort(request.GET, fields) init_eq = get_equipment_by_group_pk(order.equipment_id).filter(is_used=order.is_used) res = search_equipment(request.GET, init_eq).values(*fields).order_by(sort) x = get_paginate(res, request.GET.get('current'), request.GET.get('rowCount'), {'is_borrow': order.order.is_borrow}) return HttpResponse(x)
def get_send_history(request): dm = DedicatedInvoiceManager(request) dm.set_get() try: res = dm.get_send_history(True).values( 'pk', 'user__first_name', 'change_date', 'receiver', 'send_type__name').order_by('-pk') x = get_paginate(res, 1, -1) return HttpResponse(x) except RequestProcessException as e: return send_error(request, e.message)
def view_reseller_profit_change(request): rsl = get_reseller(request) if not rsl: return send_error(request, _('invalid user')) fields = ['pk', 'update_date', 'new_value', 'old_value'] sort = get_full_sort(request.GET, fields) data = ResellerProfitHistory.objects.filter(user_id=rsl.pk).values( *fields).order_by(sort) x = get_paginate(data, request.GET.get('current'), request.GET.get('rowCount')) return HttpResponse(x)
def view_transport(request): if not check_ajax(request): return render(request, 'transportation/TransportMain.html', {'has_nav': True}) data = search_transports(request.GET, None).values('pk', 'name', 'description', 'last_update', 'transport_type__name', 'external') res = get_paginate(data, request.GET.get('current'), request.GET.get('rowCount')) return HttpResponse(res)
def get_state_history(request): dm = DedicatedInvoiceManager(request) dm.set_get() try: res = dm.get_state_change().values('pk', 'state', 'update_time', 'extra_data', 'user__first_name').order_by('-pk') x = get_paginate(res, 1, -1) return HttpResponse(x) except RequestProcessException as e: return send_error(request, e.message)
def view_charge_packages(request): if not check_ajax(request): return render(request, 'finance/debit/ChargePackageManagement.html', {'groups': Group.objects.all()}) name = get_string(request.GET.get('searchPhrase')) fields = ['pk', 'name', 'ext', 'amount'] sort = get_full_sort(request.GET, fields) packs = PricePackage.objects.filter(is_deleted=False) if name: packs = packs.filter(name__icontains=name) packs = packs.values(*fields).order_by(sort) res = get_paginate(packs, request.GET.get('current'), request.GET.get('rowCount')) return HttpResponse(res)
def view_towers_json(request): towers = search_tower( request.GET).annotate(users=Count('fk_user_tower_tower__user')) sort = get_sort(request.GET) data_fields = ('pk', 'name', 'description', 'address', 'users') if sort[0]: if sort[0] in data_fields: if 'desc' in sort[1][0]: order = '-%s' % sort[0] else: order = sort[0] towers = towers.order_by(order) return HttpResponse( get_paginate(towers.values(*data_fields), request.GET.get('current'), request.GET.get('rowCount')))
def view_users(request): user_type = get_integer(request.GET.get('t')) if not user_type: return send_error(request, _('invalid user')) if not check_ajax(request): return render(request, 'user/ViewUsers.html', { 'has_nav': False, 'user_type': user_type }) users = UserProfile.objects.all() sp = get_string(request.GET.get('searchPhrase')) if sp: users = users.filter(user__first_name__icontains=sp) if user_type == 1 and request.user.has_perm('CRM.view_admins'): # admins users = users.filter(user__is_staff=True, user__is_superuser=True) elif user_type == 2 and request.user.has_perm( 'CRM.view_personnel'): # personnel but not resellers! users = users.filter(user__is_staff=True, user__is_superuser=False, user__fk_reseller_profile_user__isnull=True) elif user_type == 3 and request.user.has_perm('CRM.view_resellers') and not \ request.user.fk_user_profile_user.is_reseller: # Resellers users = users.filter(is_reseller=True) elif user_type == 4 and request.user.has_perm( 'CRM.view_normal_users'): # Internet users users = users.filter(user__is_staff=False, user__is_superuser=False) elif user_type == 5 and request.user.has_perm('CRM.view_dedicated_user'): users = users.filter(is_dedicated=True) elif user_type == 6: users = users.filter(user__fk_user_owner_user__owner=request.user.pk) elif user_type == 7 and request.user.has_perm('CRM.view_visitors'): users = users.filter(is_visitor=True) if request.RSL_ID is not None: users = users.filter(user__fk_user_owner_user__owner=request.RSL_ID) fields = [ 'address', 'user__pk', 'user__first_name', 'user__username', 'user__email', 'gender', 'mobile', 'telephone', 'user__is_active', 'user__fk_ibs_user_info_user__ibs_uid', 'user__fk_user_debit_user__amount', 'user__fk_user_current_service_user__service__name', 'user__fk_user_current_service_user__expire_date' ] sort = get_full_sort(request.GET, fields) users = users.values(*fields).distinct().order_by(sort) res = get_paginate(users, request.GET.get('current'), request.GET.get('rowCount')) return HttpResponse(res)
def view_pop_sites(request): if not check_ajax(request): return render(request, 'pop_site/PopSiteManagement.html', { 'request': request, 'has_nav': True }) pops = PopSite.objects.filter(is_deleted=False) name = get_string(request.GET.get('searchPhrase')) pk = get_uuid(request.GET.get('pk')) if name: pops = pops.filter(name__icontains=name) if pk: pops = pops.filter(pk=pk) vls = pops.values('pk', 'name', 'description') res = get_paginate(vls, request.GET.get('current'), request.GET.get('rowCount')) return HttpResponse(res)
def view_dashboard(request): ia = check_ajax(request) if request.method == 'GET': if not ia: # cud = get_current_user_dashboard(request.user) cud = Dashboard.objects.all() senders = cud.values_list('sender', flat=True) senders = User.objects.filter(pk__in=senders).distinct() groups = Group.objects.all() titles = Dashboard.objects.values('title').distinct() return render( request, 'dashboard/UserDashboard.html', { 'has_nav': True, 'get': request.GET, 'senders': senders, 'groups': groups, 'url_params': request.GET.urlencode, 'titles': titles, 'pre_search': request.GET.urlencode, 'uploader_address': '/dashboard/upload/' }) # dashboard = deepcopy(dashboard_x) target_user_ibs = request.GET.get('tu') target_user_id = request.GET.get('tiu') # report_edit = request.GET.get('re') is_single_user = False upk = None if validate_integer(target_user_ibs): if IBSUserInfo.objects.filter(ibs_uid=target_user_ibs).exists(): is_single_user = True upk = IBSUserInfo.objects.get(ibs_uid=target_user_ibs).user_id elif validate_integer(target_user_id): if User.objects.filter(pk=target_user_id).exists(): is_single_user = True upk = int(target_user_id) # summery = __create_job_summery__(detail_to_show) if is_single_user: dashboard_x = Dashboard.objects.filter(target_user_id=upk) else: dashboard_x = Dashboard.objects.all() # dashboard_x = get_current_user_dashboard(request.user) dashboard2 = __search_dashboard__(request.GET, dashboard_x) sort = get_sort(request.GET) if ia: fields = [ 'pk', 'title', 'sender__first_name', 'group__name', 'reader__username', 'target_user__first_name', 'create_date', 'done_date', 'last_state', 'target_text', 'fk_calendar_dashboard__priority', 'fk_dashboard_current_group_dashboard__group__name' ] order = '-create_date' if sort[0]: if sort[0] in fields: if 'desc' in sort[1][0]: order = '-%s' % sort[0] else: order = sort[0] res = get_paginate( dashboard2.order_by(order).values(*fields), request.GET.get('current'), request.GET.get('rowCount'), { 'single_user': is_single_user, 'upk': upk }) return HttpResponse(res) return render(request, 'dashboard/UserDashboard.html') else: return render(request, 'errors/AccessDenied.html')
def get_all(self): sort = get_full_sort(self.req.GET, self.fields) x = self.search().values(*self.fields).order_by(sort) return get_paginate(x, self.req.GET.get('current'), self.req.GET.get('rowCount'))
def paginate(self, l): rex = get_paginate(l, self.get_int('current', default=1), self.get_int('rowCount', default=10)) return rex