def add_saved_job(): engine_class = 'backup' available_repositories = repository_interface.get_engine_repositories() if len(available_repositories) < 1: available_repositories = [('-1', 'None Available')] available_backup_sets = backup_sets_interface.get_backup_sets_tuple() if len(available_backup_sets) < 1: available_backup_sets = [('-1', 'None Available')] form = AddBackupJobForm() form.repository.choices = available_repositories form.backup_set.choices = available_backup_sets if form.validate_on_submit(): new_info = dict(name=form.name.data, notes=form.description.data, engine_class=engine_class) param_dict = {} credential_dict = {} for item in form: if item.id != 'csrf_token' and item.id != 'submit' and item.id != 'name' and item.id != 'description': if item.type == 'RWCredentialField': credential_dict[item.id] = item.data else: param_dict[item.id] = item.data if len(credential_dict) > 0: # credentials_id = credential_manager.add_credentials_from_dict('_'.join(['Job', engine_name, engine_class, form.ub_name.data]), credential_dict) credentials_id = credential_manager.add_credentials_from_dict( 'BackupJob', new_info['name'], credential_dict) param_dict['credentials_id'] = credentials_id new_info['params'] = param_dict saved_backup_jobs_interface.add_job(new_info) flash("Job has been saved.", category='success') return redirect(url_for('backup.saved_jobs')) # we can use the same template as it's just going to be the same fields # as the fields in the edit form return render_template(f"backup/saved_jobs_add.html", form=form)
def edit_saved_job_backup(saved_job): saved_job = SavedJobs.query.filter_by(id=saved_job).first() available_repositories = repository_interface.get_engine_repositories() if len(available_repositories) < 1: available_repositories = [('-1', 'None Available')] available_backup_sets = backup_sets_interface.get_backup_sets_tuple() if len(available_backup_sets) < 1: available_backup_sets = [('-1', 'None Available')] form = EditBackupJobForm() form.repository.choices = available_repositories form.backup_set.choices = available_backup_sets form.saved_job_id.data = saved_job.id if form.validate_on_submit(): new_info = dict(name=form.name.data, notes=form.description.data, params=dict(repository=form.repository.data, backup_set=form.backup_set.data), saved_job_id=form.saved_job_id.data) saved_jobs_interface.update_job(new_info) flash("Backup job successfully edited.", category='success') return redirect(url_for('backup.saved_jobs')) else: for param in saved_job.parameters: if param.param_name == "repository": form.repository.default = param.param_value if param.param_name == 'backup_set': form.backup_set.default = param.param_value form.process() for param in saved_job.parameters: if param.param_name == 'additional_params': form.additional_params.data = param.param_value form.description.data = saved_job.notes form.name.data = saved_job.name form.saved_job_id.data = saved_job.id return render_template("backup/saved_jobs_add.html", form=form)
def edit_saved_job_prune(saved_job): available_repositories = repository_interface.get_engine_repositories() if len(available_repositories) < 1: available_repositories = [('-1', 'None Available')] form = EditPruneJobForm() form.repository.choices = available_repositories form.saved_job_id.data = saved_job.id if form.validate_on_submit(): new_info = dict(name=form.name.data, notes=form.description.data, params=dict( repository=form.repository.data, additional_params=form.additional_params.data), saved_job_id=form.saved_job_id.data) saved_jobs_interface.update_job(new_info) flash("Prune job has been saved.", category='success') return redirect(url_for('jobs.saved_jobs')) else: for param in saved_job.parameters: if param.param_name == "repository": form.repository.default = param.param_value form.process() for param in saved_job.parameters: if param.param_name == 'additional_params': form.additional_params.data = param.param_value form.description.data = saved_job.notes form.name.data = saved_job.name form.saved_job_id.data = saved_job.id return render_template("jobs/saved_jobs_add_prune.html", form=form) '''
def add_saved_job_forget(): engine_class = 'forget_policy' available_repositories = repository_interface.get_engine_repositories() if len(available_repositories) < 1: available_repositories = [('-1', 'None Available')] available_backup_sets = backup_sets_interface.get_backup_sets_tuple() if len(available_backup_sets) < 1: available_backup_sets = [('-1', 'None Available')] form = AddForgetJobForm() form.repository.choices = available_repositories form.backup_set.choices = available_backup_sets if form.validate_on_submit(): new_info = dict(name=form.name.data, notes=form.description.data, engine_class=engine_class) param_dict = {} for item in form: if item.id != 'csrf_token' and item.id != 'submit' and item.id != 'name' and item.id != 'description': param_dict[item.id] = item.data new_info['params'] = param_dict saved_jobs_interface.add_job(new_info) flash("Job has been saved.", category='success') return redirect(url_for('jobs.saved_jobs')) # we can use the same template as it's just going to be the same fields # as the fields in the edit form return render_template(f"jobs/saved_jobs_add_forget.html", form=form)
def edit_saved_job_forget(saved_job): available_repositories = repository_interface.get_engine_repositories() if len(available_repositories) < 1: available_repositories = [('-1', 'None Available')] available_backup_sets = backup_sets_interface.get_backup_sets_tuple() if len(available_backup_sets) < 1: available_backup_sets = [('-1', 'None Available')] form = EditForgetJobForm() form.repository.choices = available_repositories form.backup_set.choices = available_backup_sets form.saved_job_id.data = saved_job.id if form.validate_on_submit(): new_info = dict( name=form.name.data, notes=form.description.data, #params=dict(repository=form.repository.data, backup_set=form.backup_set.data), saved_job_id=form.saved_job_id.data) param_dict = {} for item in form: if item.id != 'csrf_token' and item.id != 'submit' and item.id != 'name' and item.id != 'description': param_dict[item.id] = item.data new_info['params'] = param_dict saved_jobs_interface.update_job(new_info) flash("Forget job successfully edited.", category='success') return redirect(url_for('jobs.saved_jobs')) else: for param in saved_job.parameters: if param.param_name == "repository": form.repository.default = param.param_value if param.param_name == 'backup_set': form.backup_set.default = param.param_value form.process() for param in saved_job.parameters: if param.param_name == 'additional_params': form.additional_params.data = param.param_value if param.param_name == 'keep_last': form.keep_last.data = param.param_value if param.param_name == 'keep_hourly': form.keep_hourly.data = param.param_value if param.param_name == 'keep_daily': form.keep_daily.data = param.param_value if param.param_name == 'keep_weekly': form.keep_weekly.data = param.param_value if param.param_name == 'keep_monthly': form.keep_monthly.data = param.param_value if param.param_name == 'keep_yearly': form.keep_yearly.data = param.param_value if param.param_name == 'keep_within': form.keep_within.data = param.param_value if param.param_name == 'prune': if int(param.param_value) > 0: form.prune.data = True else: form.prune.data = False form.description.data = saved_job.notes form.name.data = saved_job.name form.saved_job_id.data = saved_job.id return render_template("jobs/saved_jobs_add_forget.html", form=form)
def add_saved_job_prune(): engine_class = 'prune' available_repositories = repository_interface.get_engine_repositories() if len(available_repositories) < 1: available_repositories = [('-1', 'None Available')] form = AddPruneJobForm() form.repository.choices = available_repositories if form.validate_on_submit(): new_info = dict(name=form.name.data, notes=form.description.data, engine_class=engine_class, params=dict( repository=form.repository.data, additional_params=form.additional_params.data)) saved_jobs_interface.add_job(new_info) flash("Prune job has been saved.", category='success') return redirect(url_for('jobs.saved_jobs')) return render_template("jobs/saved_jobs_add_prune.html", form=form)