def add_view(self, request):
client = self.parent.client
data = request.POST or None
form = JobConfigForm(data=data)
advanced_form = JobConfigForm.AdvancedForm(data=data)
if data and form.is_valid() and advanced_form.is_valid():
config = form.cleaned_data
config.update(advanced_form.cleaned_data)
config['paths'] = config.get('paths', '').split('\n')
config['excludes'] = [s for s in config.get('excludes', '').split('\n') if s]
repository = config.pop('repository')
job_config = BackupConfig(client=client, repository=repository, label=config['label'])
job_config._update(config)
client.job_configs.append(job_config)
transaction.get().note('Added job config to client %s' % client.hostname)
transaction.commit()
# TODO StringListValidator
# TODO Pattern validation
# TODO fancy pattern editor with test area
return self[job_config.oid].redirect_to()
return self.render(request, 'core/client/config_add.html', {
'form': form,
'advanced_form': advanced_form,
})
评论列表
文章目录