Ejemplo n.º 1
0
def etcd_add(request):
    """
    Etcd add view
    添加参数
    """
    header_title, path1, path2 = u'添加参数', u'参数管理', u'添加参数'
    etcd_group_all = EtcdGroup.objects.all()
    af = EtcdForm()
    default_setting = get_object(Setting, name='default')
    if request.method == 'POST':
        af_post = EtcdForm(request.POST)
        value = request.POST.get('value', '')
        name = request.POST.get('name', '')
        is_active = True if request.POST.get('is_active') == '1' else False
        use_default_auth = request.POST.get('use_default_auth', '')
        try:
            if Etcd.objects.filter(name=str(name)):
                error = u'该参数名 %s 已存在!' % name
                raise ServerError(error)
        except ServerError:
            pass
        else:
            if af_post.is_valid():
                etcd_save = af_post.save(commit=False)
                if not value:
                    etcd_save.value = name
                etcd_save.is_active = True if is_active else False
                etcd_save.save()
                af_post.save_m2m()

                msg = u'参数 %s 添加成功' % name
            else:
                esg = u'参数 %s 添加失败' % name

    return my_render('upetcd/etcd_add.html', locals(), request)
Ejemplo n.º 2
0
def etcd_edit_batch(request):
    af = EtcdForm()
    name = request.user.username
    etcd_group_all = EtcdGroup.objects.all()

    if request.method == 'POST':
        etcd_env = request.POST.get('etcd_env', '')
        group = request.POST.getlist('group', [])
        comment = request.POST.get('comment', '')
        use_default_auth = request.POST.get('use_default_auth', '')
        etcd_id_all = unicode(request.GET.get('etcd_id_all', ''))
        etcd_id_all = etcd_id_all.split(',')
        for etcd_id in etcd_id_all:
            alert_list = []
            etcd = get_object(Etcd, id=etcd_id)
            if etcd:
                if etcd_env:
                    if etcd.etcd_env != etcd_env:
                        etcd.etcd_env = etcd_env
                        alert_list.append([u'环境', etcd.etcd_env, etcd_env])

                if use_default_auth:
                    if use_default_auth == 'default':
                        etcd.use_default_auth = 1
                        alert_list.append(
                            [u'使用默认管理账号', etcd.use_default_auth, u'默认'])

                if group:
                    group_new, group_old, group_new_name, group_old_name = [], etcd.group.all(
                    ), [], []
                    for group_id in group:
                        g = get_object(EtcdGroup, id=group_id)
                        if g:
                            group_new.append(g)
                    if not set(group_new) < set(group_old):
                        group_instance = list(set(group_new) | set(group_old))
                        for g in group_instance:
                            group_new_name.append(g.name)
                        for g in group_old:
                            group_old_name.append(g.name)
                        etcd.group = group_instance
                        alert_list.append([
                            u'参数组', ','.join(group_old_name),
                            ','.join(group_new_name)
                        ])
                if comment:
                    if etcd.comment != comment:
                        etcd.comment = comment
                        alert_list.append([u'备注', etcd.comment, comment])
                etcd.save()

            if alert_list:
                recode_name = unicode(name) + ' - ' + u'批量'
                EtcdRecord.objects.create(etcd=etcd,
                                          username=recode_name,
                                          content=alert_list)
        return my_render('upetcd/etcd_update_status.html', locals(), request)

    return my_render('upetcd/etcd_edit_batch.html', locals(), request)
Ejemplo n.º 3
0
def etcd_add(request):
    """
    Etcd add view
    添加参数
    """
    header_title, path1, path2 = u'添加参数', u'参数管理', u'添加参数'
    etcd_group_all = EtcdGroup.objects.all()
    af = EtcdForm()
    default_setting = get_object(Setting, name='default')
    if request.method == 'POST':
        af_post = EtcdForm(request.POST)
        value = request.POST.get('value', '')
        name = request.POST.get('name', '')
        is_active = True if request.POST.get('is_active') == '1' else False
        use_default_auth = request.POST.get('use_default_auth', '')
        try:
            if Etcd.objects.filter(name=str(name)):
                error = u'该参数名 %s 已存在!' % name
                raise ServerError(error)
        except ServerError:
            pass
        else:
            if af_post.is_valid():
                etcd_save = af_post.save(commit=False)
                if not value:
                    etcd_save.value = name
                etcd_save.is_active = True if is_active else False
                etcd_save.save()
                af_post.save_m2m()

                msg = u'参数 %s 添加成功' % name
            else:
                esg = u'参数 %s 添加失败' % name

    return my_render('upetcd/etcd_add.html', locals(), request)
Ejemplo n.º 4
0
def etcd_edit(request):
    """
    edit a etcd
    修改参数
    """
    header_title, path1, path2 = u'修改参数', u'参数管理', u'修改参数'

    etcd_id = request.GET.get('id', '')
    etcd = get_object(Etcd, id=etcd_id)
    af = EtcdForm(instance=etcd)
    if request.method == 'POST':
        af_post = EtcdForm(request.POST, instance=etcd)
        value = request.POST.get('value', '')
        name = request.POST.get('name', '')
        is_active = True if request.POST.get('is_active') == '1' else False
        use_default_auth = request.POST.get('use_default_auth', '')
        try:
            etcd_test = get_object(Etcd, name=name)
            if etcd_test and etcd_id != unicode(etcd_test.id):
                emg = u'该参数名 %s 已存在!' % name
                raise ServerError(emg)
        except ServerError:
            pass
        else:
            if af_post.is_valid():
                af_save = af_post.save(commit=False)
                af_save.is_active = True if is_active else False
                af_save.save()
                af_post.save_m2m()
                info = etcd_diff(af_post.__dict__.get('initial'), request.POST)
                smg = u'参数 %s 修改成功' % value
            else:
                emg = u'参数 %s 修改失败' % value
                return my_render('upetcd/error.html', locals(), request)
            return HttpResponseRedirect(reverse('etcd_detail')+'?id=%s' % etcd_id)

    return my_render('upetcd/etcd_edit.html', locals(), request)
Ejemplo n.º 5
0
def etcd_edit(request):
    """
    edit a etcd
    修改参数
    """
    header_title, path1, path2 = u'修改参数', u'参数管理', u'修改参数'

    etcd_id = request.GET.get('id', '')
    etcd = get_object(Etcd, id=etcd_id)
    af = EtcdForm(instance=etcd)
    if request.method == 'POST':
        af_post = EtcdForm(request.POST, instance=etcd)
        value = request.POST.get('value', '')
        name = request.POST.get('name', '')
        is_active = True if request.POST.get('is_active') == '1' else False
        use_default_auth = request.POST.get('use_default_auth', '')
        try:
            etcd_test = get_object(Etcd, name=name)
            if etcd_test and etcd_id != unicode(etcd_test.id):
                emg = u'该参数名 %s 已存在!' % name
                raise ServerError(emg)
        except ServerError:
            pass
        else:
            if af_post.is_valid():
                af_save = af_post.save(commit=False)
                af_save.is_active = True if is_active else False
                af_save.save()
                af_post.save_m2m()
                info = etcd_diff(af_post.__dict__.get('initial'), request.POST)
                smg = u'参数 %s 修改成功' % value
            else:
                emg = u'参数 %s 修改失败' % value
                return my_render('upetcd/error.html', locals(), request)
            return HttpResponseRedirect(
                reverse('etcd_detail') + '?id=%s' % etcd_id)

    return my_render('upetcd/etcd_edit.html', locals(), request)