def user_switcher_switch(request): try: um = UserManager(request) if um.switch_user(): return redirect('/') else: return send_error(request, _('you can not switch this user')) except Exception as e: logger.error(e.message or e.args) return send_error(request, _('server error'))
def change_user_owner(request): try: um = UserManager(request) um.change_owner() return HttpResponse('200') except RequestProcessException as e: return e.get_response() except Exception as e: logger.error(e.message or e.args) return send_error(request, _('system error'))
def unlock_user(request): if request.method == 'GET': uid = request.GET.get('u') if not uid: return redirect('/') try: um = UserManager(request) um.unlock_account() return redirect('/user/nav/?uid=%s' % uid) except RequestProcessException as e: return e.get_response() except Exception as e: logger.error(e.message or e.args) return send_error(request, _('system error')) else: return render(request, 'errors/AccessDenied.html')
def user_unset_dedicated(request): try: um = UserManager(request) um.get_single_pk(True) um.unset_dedicate() um.remove_from_dedicated_group() return HttpResponse('200') except RequestProcessException as e: return e.get_response() except Exception as e: logger.error(e.message or e.args) return send_error(request, _('system error'))
def get_all(self): """ Get all system status @return: dict contains all status data @rtype: str """ rqu = self.requester res = {} if rqu.has_perm('CRM.view_dashboard') and rqu.is_staff: res['dashboard'] = get_current_user_dashboard(rqu).filter(last_state=0).count() res['today_queue'] = get_today_jobs() if rqu.has_perm('CRM.accept_orders'): res['orders'] = EquipmentOrder.objects.filter(is_processing=False).count() if rqu.has_perm('CRM.view_online_users'): ibs = IBSManager() users = ibs.get_online_users_count() res['online_customers'] = users if rqu.has_perm('CRM.view_online_crm_users'): res['online_personnel'] = UserManager.get_online() res['total_personnel'] = UserManager.get_personnel_count() return json.dumps(list(res))
def user_set_company(request): try: um = UserManager(request) um.get_single_pk(True) um.set_company() return HttpResponse('200') except RequestProcessException as e: return e.get_response() except Exception as e: logger.error(e.message or e.args) return send_error(request, _('system error'))
def update_user_comment_inline(request): try: um = UserManager(request) um.set_post() um.update_comment_inline() return HttpResponse('200') except RequestProcessException as e: return e.get_response() except Exception as e: logger.error(e.message or e.args) return send_error(request, _('system error'))
def user_set_as_reseller(request): try: um = UserManager(request) um.create_reseller() um.add_to_reseller() return HttpResponse('200') except RequestProcessException as e: return e.get_response() except Exception as e: logger.error(e.message or e.args) return send_error(request, _('system error'))
def create_user_ajax(request): ia = check_ajax(request) um = UserManager(request) if request.method == 'POST': try: um.set_post() new_user = um.update() if request.user.is_superuser: if um.is_superuser: um.set_personnel() um.set_superuser() elif um.is_personnel or um.is_reseller: um.set_personnel() if new_user.is_superuser: SuperUserCreatedEventHandler().fire(new_user, None, request.user.pk, True) elif new_user.is_staff: StaffUserCreatedEventHandler().fire(new_user, None, request.user.pk, True) if not new_user.is_active: InactiveAccountLoginEventHandler().fire( new_user, None, request.user.pk, True) return HttpResponse(str(new_user.pk)) except RequestProcessException as e: # um.roll_back() return e.get_response() if ia: return HttpResponseBadRequest(_('invalid method')) return render(request, 'errors/AccessDenied.html')
def edit_user_basics(request): u = request.user granted = False if u.is_staff or u.is_superuser: granted = True if request.method == 'GET': if granted: uid = request.GET.get('u') else: uid = u.pk try: user = User.objects.get(pk=uid) profile = UserProfile.objects.filter(user=uid).first() if not profile: profile = UserProfile() history = profile.history.all().order_by('-pk')[:5] return render(request, 'user/EditUserBasics.html', { 'u': user, 'profile': profile, 'history': history, }) except Exception as e: logger.error(e.message or e.args) return send_error(request, _('system error')) elif request.method == 'POST': um = UserManager(request) try: um.set_post() uid = um.create_profile().user_id if um.is_normal_user: update_ibs_user_from_crm(uid) elif um.is_company: um.set_company() if um.is_dedicate: um.set_dedicate() if request.user.is_superuser: if um.is_personnel: um.unset_superuser() um.set_personnel() elif um.is_superuser: um.set_superuser() if um.is_personnel: if um.is_reseller: um.create_reseller() else: um.remove_reseller() if um.is_visitor: um.create_visitor() except RequestProcessException as e: return e.get_response() except Exception as e: logger.error(e.message or e.args) return send_error(request, _('system error')) return HttpResponse('200') else: return render(request, 'errors/AccessDenied.html')