示例#1
0
def table_obj_del(request, model_name):
    admin_class = admin_func(model_name)
    obj_id = request.GET.get('idAll')
    if ',' in obj_id:
        status = {'success': None, 'error': None}
        success_count = 0
        error_count = 0
        for id in obj_id.split(','):
            if id:
                logger.logger_info(
                    "user %s delete data: %s" %
                    (request.user,
                     admin_class.model.objects.filter(id=id).values()[0]))
                savelog.log_info(
                    "%s" % request.user, "Warning", "delete data: %s" %
                    admin_class.model.objects.filter(id=id).values()[0])
                admin_class.model.delete(admin_class.model.objects.get(id=id))
                success_count += 1
            error_count += 1
        haproxy.run(admin_class)
        status.update({'success': success_count, 'error': error_count})
        return HttpResponse(json.dumps(status))
    else:
        logger.logger_info(
            "user %s delete data: %s" %
            (request.user,
             admin_class.model.objects.filter(id=obj_id).values()[0]))
        savelog.log_info(
            "%s" % request.user, "Warning", "delete data: %s" %
            admin_class.model.objects.filter(id=obj_id).values()[0])
        admin_class.model.delete(admin_class.model.objects.get(id=obj_id))
        haproxy.run(admin_class)
        return redirect("/apps/%s/list" % model_name)
示例#2
0
def table_obj_add(request, model_name):
    admin_class = admin_func(model_name)
    form = forms.create_dynamic_modelform(admin_class.model)
    logger.logger_info("user %s access url: %s" % (request.user, request.path))
    savelog.log_info("%s" % request.user, 'INFO',
                     "access url: %s" % request.path)
    if request.method == 'POST':
        try:
            file = request.FILES.get('ssl')
            if file:
                filepath = haproxy.savessl(file)
                request.POST._mutable = True  # QueryDict允许被修改
                request.POST.update({'ssl': filepath})
        except FileNotFoundError as e:
            pass
        form_obj = form(data=request.POST)
        if form_obj.is_valid():
            form_obj.save()
            haproxy.run(admin_class)
            logger.logger_info("user %s add data: %s" %
                               (request.user, request.POST))
            savelog.log_info(request.user, 'INFO',
                             "add data: %s" % request.POST)
            return redirect("/apps/%s/list" % model_name)
    elif request.method == 'GET':
        form_obj = form()
    return render(request, 'gloab-form/add_form.html', locals())
示例#3
0
def table_obj_change(request, model_name, no_render=False):
    admin_class = admin_func(model_name)
    object_id = request.GET.get('project_id')
    obj = admin_class.model.objects.get(id=object_id)
    form = forms.create_dynamic_modelform(admin_class.model)
    if request.method == 'GET':
        form_obj = form(instance=obj)

    elif request.method == 'POST':
        try:
            file = request.FILES.get('ssl')
            if file:
                filepath = haproxy.savessl(file)
                request.POST._mutable = True  #QueryDict允许被修改
                request.POST.update({'ssl': filepath})
        except FileNotFoundError as e:
            pass
        except TypeError as e:
            pass
        form_obj = form(instance=obj, data=request.POST)
        if form_obj.is_valid():
            form_obj.save()
            haproxy.run(admin_class)
            logger.logger_info(
                "user %s change data: %s" %
                (request.user,
                 admin_class.model.objects.filter(id=object_id).values()[0]))
            savelog.log_info(
                "%s" % request.user, "INFO", " change data: %s" %
                admin_class.model.objects.filter(id=object_id).values()[0])
            return redirect("/apps/%s/list" % model_name)
    if no_render:
        return locals()
    else:
        return render(request, 'gloab-form/change_form.html', locals())
示例#4
0
def table_obj_list(request, model_name):
    logger.logger_info("user %s access url: %s" % (request.user, request.path))
    savelog.log_info("%s" % request.user, 'INFO',
                     " access url: %s" % (request.path))
    admin_class = admin_func(model_name)
    form = forms.create_dynamic_modelform(admin_class.model)
    form_obj = form()
    querysets = queryset(request, admin_class)

    return render(request, 'gloab-form/list_form.html', locals())
示例#5
0
def account_login(request):
    if request.method == "POST":
        username = request.POST.get("username")
        password = request.POST.get("password")
        user = authenticate(username=username, password=password)
        if user:
            login(request, user)
            logger.logger_info("user %s success login server" % username)
            savelog.log_info("user %s", " success login server" % username)
            return redirect(request.GET.get('next') or '/apps/asset/list/')
        logger.logger_info("user %s login faild" % username)
        savelog.logger_info("%s" % request.user, 'Error' "login faild")

    return render(request, 'login.html', locals())
示例#6
0
def account_logout(request, **kwargs):
    request.session.clear()
    logout(request)
    logger.logger_info("user %s login faild" % request.user)
    savelog.logger_info("%s" % request.user, 'Error', "login faild")
    return redirect('/accounts/login/')
示例#7
0
 def save_log_to_file(self,log):
     if log['action'] == 'Info':
         logger.logger_info(log,)
     elif log['action'] == 'Error':
         logger.logger_error(log)