/*
Bacula® - The Network Backup Solution
- Copyright (C) 2001-2008 Free Software Foundation Europe e.V.
+ Copyright (C) 2001-2009 Free Software Foundation Europe e.V.
The main author of Bacula is Kern Sibbald, with contributions from
many others, a complete list can be found in the file AUTHORS.
}
+/*
+ * Select a job to enable or disable
+ */
+JOB *select_enable_disable_job_resource(UAContext *ua, bool enable)
+{
+ char name[MAX_NAME_LENGTH];
+ JOB *job;
+
+ LockRes();
+ start_prompt(ua, _("The defined Job resources are:\n"));
+ foreach_res(job, R_JOB) {
+ if (!acl_access_ok(ua, Job_ACL, job->name())) {
+ continue;
+ }
+ if (job->enabled == enable) { /* Already enabled/disabled? */
+ continue; /* yes, skip */
+ }
+ add_prompt(ua, job->name());
+ }
+ UnlockRes();
+ if (do_prompt(ua, _("Job"), _("Select Job resource"), name, sizeof(name)) < 0) {
+ return NULL;
+ }
+ job = (JOB *)GetResWithName(R_JOB, name);
+ return job;
+}
+
/*
* Select a Job resource from prompt list
*/
}
mr->PoolId = pr.PoolId;
db_list_media_records(ua->jcr, ua->db, mr, prtit, ua, HORZ_LIST);
- if (!get_cmd(ua, _("Enter MediaId or Volume name: "))) {
+ if (!get_cmd(ua, _("Enter *MediaId or Volume name: "))) {
return 0;
}
- if (is_a_number(ua->cmd)) {
- mr->MediaId = str_to_int64(ua->cmd);
+ if (ua->cmd[0] == '*' && is_a_number(ua->cmd+1)) {
+ mr->MediaId = str_to_int64(ua->cmd+1);
} else {
bstrncpy(mr->VolumeName, ua->cmd, sizeof(mr->VolumeName));
}
}
/* If running non-interactive, bail out */
if (ua->batch) {
- ua->send_msg(_("Cannot select %s in batch mode.\n"), automsg);
+ /* First print the choices he wanted to make */
+ ua->send_msg(ua->prompt[0]);
+ for (i=1; i < ua->num_prompts; i++) {
+ ua->send_msg("%6d: %s\n", i, ua->prompt[i]);
+ }
+ /* Now print error message */
+ ua->send_msg(_("Your request has multiple choices for \"%s\". Selection is not possible in batch mode.\n"), automsg);
item = -1;
goto done;
}