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)
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)
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)
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)