def copy_config(request):
tpl = 'admin/api/custom/copy_config.html'
servers = models.Server.objects.all()
if request.method == 'POST':
sfrom = int(request.POST['server_from'])
sto = int(request.POST['server_to'])
if sfrom == 0:
message = 'Server "from" hasn\'t been chosen.'
messages.error(request, message)
elif sto == 0:
message = 'Server "to" hasn\'t been chosen.'
messages.error(request, message)
elif sfrom == sto:
message = 'Server "from" and server "to" should be different.'
messages.error(request, message)
else:
count = 0
objs = models.Conf.objects.filter(server_id=sfrom)
for obj in objs:
dic = {
'server_id': sto,
'filename': obj.filename,
'type': models.Conf.SERVER,
'item': obj.item
}
if not models.Conf.objects.filter(**dic).exists():
dic['data'] = obj.data
conf = models.Conf(**dic)
conf.save()
count += 1
message = '{:d} configs have been copied.'.format(count)
messages.success(request, message)
return render_to_response(
tpl, locals(), context_instance=RequestContext(request))
评论列表
文章目录