]> git.sur5r.net Git - bacula/bacula/commitdiff
Add warning dialogs before purging and befoe deleting volumes and jobs.
authorDirk H Bartley <dbartley@schupan.com>
Wed, 9 May 2007 01:31:32 +0000 (01:31 +0000)
committerDirk H Bartley <dbartley@schupan.com>
Wed, 9 May 2007 01:31:32 +0000 (01:31 +0000)
Put todo in priority order.

git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@4734 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/src/qt-console/TODO
bacula/src/qt-console/joblist/joblist.cpp
bacula/src/qt-console/medialist/medialist.cpp
bacula/src/qt-console/restore/prerestore.cpp

index a97a604ae0c3ff39865538cc73bdd68872b90cad..68a1a2e92f57660969c6a16c53e27d5e6bdb1cfb 100644 (file)
@@ -1,28 +1,21 @@
 dhb
 ====================================================
-See if there is a solution to images fun with designer other than:
-%s/<iconset>[\.\/]*:images/<iconset>images/g
-%s/<iconset>images/<iconset>..\/images/g
-
 Color code termination code in joblist.  Create class to display messages from
 a specific job.  Want the ability to create an instance of that class from
 joblist.  I also want a table to convert termination code into human readable
 text.
 
-Allow for selecting multiple jobs to restore from in joblist.  Right click
-restore from job works, but not with multiple selected jobs.
+move behavior of:
+  MainWin::setContextMenuDockText
+  MainWin::setTreeWidgetItemDockColor
+to the pages class
 
 Test left pane of restore with 2 windows drives in one backup job.
 
-Resolve issue of connection during restore selection.  Could go with preempt of
-connections.
-
 User preferences.  With log to stdout options.
 Have settings for defaults of limits on joblist
 
-Add numerous are you sure dialog boxes.  Like are you sure you want to
-delete/purge that volume.  Show a little of the documentation about what
-the consequences of delete or purging are.
+show purged flag in joblist.  Don't have purge option show if already purged.
 
 Add context sensitive options for most commands
 status dir on page select director item
@@ -31,17 +24,17 @@ As well as many more
 update slots scan
 see COMMANDS file
 
-preempt all connections to console with 
-if (!is_connectedGui())
-or some other mechanism.  Partially done.
+Option in joblist like with restore from jobid but restore populating timestamp
+of the selected job.
 
-Create documentation for any other developers interested in creating
-new classes to add more pages.  Explain how to use the pages class
-and about not populating until the tree widget is clicked etc...
+Resolve issue of connection during restore selection.  Could go with preempt of
+connections.  (Kern is to work on)
 
-LOW priority items:
+Purging not working from console or from context sensitive.  (Kern)
 
-User configuration dialog.  Include options for debugging output to stdout.
+========LOW priority items:
+Allow for selecting multiple jobs to restore from in joblist.  Right click
+restore from job works, but not with multiple selected jobs.
 
 Is there a way to query the director/database for whether a storage is currently
 mounted so I am not presenting both mount and unmount to the user??
@@ -49,12 +42,9 @@ mounted so I am not presenting both mount and unmount to the user??
 Is there a way to identify a slot as having a cleaning tape???
 (Kern says more work needs to be done in bacula with autochangers)
 
-Get rid of "Warning: name layoutWidget is already used" when make uic's restore.ui
-
-move behavior of:
-  MainWin::setContextMenuDockText
-  MainWin::setTreeWidgetItemDockColor
-to the pages class
+See if there is a solution to images fun with designer other than:
+%s/<iconset>[\.\/]*:images/<iconset>images/g
+%s/<iconset>images/<iconset>..\/images/g
 
 Think about good ways to clean up the Console creation part of the
 loop creating pages.
@@ -82,9 +72,6 @@ cancelled graphically.
 Add a status client window.  Keep updating showing what file is being
 processed.
 
-A Tree widget context sensitive menu option and class to jump from known job
-to surf the filestructure on the job.
-
 bRestore add code to get working.
 
 ===========================================================
@@ -101,6 +88,24 @@ global one defined in the mainWin class (if I remember right).
 ============================================================
 DONE:
 ============================================================
+preempt all connections to console with 
+if (!is_connectedGui())
+or some other mechanism.  May find more as users start finding them.
+
+Create documentation for any other developers interested in creating
+new classes to add more pages.  Explain how to use the pages class
+and about not populating until the tree widget is clicked etc...
+
+Add numerous are you sure dialog boxes.  Like are you sure you want to
+delete/purge that volume.  Show a little of the documentation about what
+the consequences of delete or purging are.
+
+A Tree widget context sensitive menu option and class to jump from known job
+to surf the filestructure on the job.
+  This was future, but it is kind of done with restore from jobid
+
+Get rid of "Warning: name layoutWidget is already used" when make uic's restore.ui
+
 Create the ability to start a restore from joblist.  Right click, select
 "restore from Jobid=xx" create an instance of restore defaulting in the jobid
 or a list of selected jobs.
@@ -214,7 +219,6 @@ m_currentConsole is saved in each page subclass's m_console.  This value
 is set by all but the console class calling Pages::pgInitialie() in it's
 constructor
 
-
 In short, there is a lot of work to be done to make multiple
 simultaneous directors work.
 
index 1806f40b76b62d8ce482c1cb0f5514e82af38877..963c63ed17792b9981873efa43f57c633980ad5c 100644 (file)
@@ -333,12 +333,36 @@ void JobList::consoleListVolumes()
 }
 void JobList::consoleDeleteJob()
 {
+   if (QMessageBox::warning(this, tr("Bat"),
+      tr("Are you sure you want to delete??  !!!.\n"
+"This delete command is used to delete a Job record and all associated catalog"
+" records that were created. This command operates only on the Catalog"
+" database and has no effect on the actual data written to a Volume. This"
+" command can be dangerous and we strongly recommend that you do not use"
+" it unless you know what you are doing.  The Job and all its associated"
+" records (File and JobMedia) will be deleted from the catalog."
+      "Press OK to proceed with delete operation.?"),
+      QMessageBox::Ok | QMessageBox::Cancel)
+      == QMessageBox::Cancel) { return; }
+
    QString cmd("delete job jobid=");
    cmd += m_currentJob;
    consoleCommand(cmd);
 }
 void JobList::consolePurgeFiles()
 {
+   if (QMessageBox::warning(this, tr("Bat"),
+      tr("Are you sure you want to purge ??  !!!.\n"
+"The Purge command will delete associated Catalog database records from Jobs and"
+" Volumes without considering the retention period. Purge  works only on the"
+" Catalog database and does not affect data written to Volumes. This command can"
+" be dangerous because you can delete catalog records associated with current"
+" backups of files, and we recommend that you do not use it unless you know what"
+" you are doing.\n"
+      "Press OK to proceed with the purge operation?"),
+      QMessageBox::Ok | QMessageBox::Cancel)
+      == QMessageBox::Cancel) { return; }
+
    QString cmd("purge files jobid=");
    cmd += m_currentJob;
    consoleCommand(cmd);
index ed6e25ec5f50d30912931823ad76b6c0b79d1c47..0f6c54aaa92808d13d942b0290698a8cdfaf86bb 100644 (file)
@@ -258,6 +258,18 @@ void MediaList::currentStackItem()
  */
 void MediaList::deleteVolume()
 {
+   if (QMessageBox::warning(this, tr("Bat"),
+      tr("Are you sure you want to delete??  !!!.\n"
+"This delete command is used to delete a Volume record and all associated catalog"
+" records that were created. This command operates only on the Catalog"
+" database and has no effect on the actual data written to a Volume. This"
+" command can be dangerous and we strongly recommend that you do not use"
+" it unless you know what you are doing.  All Jobs and all associated"
+" records (File and JobMedia) will be deleted from the catalog."
+      "Press OK to proceed with delete operation.?"),
+      QMessageBox::Ok | QMessageBox::Cancel)
+      == QMessageBox::Cancel) { return; }
+
    QString cmd("delete volume=");
    cmd += m_currentVolumeName;
    consoleCommand(cmd);
@@ -267,6 +279,18 @@ void MediaList::deleteVolume()
  */
 void MediaList::purgeVolume()
 {
+   if (QMessageBox::warning(this, tr("Bat"),
+      tr("Are you sure you want to purge ??  !!!.\n"
+"The Purge command will delete associated Catalog database records from Jobs and"
+" Volumes without considering the retention period. Purge  works only on the"
+" Catalog database and does not affect data written to Volumes. This command can"
+" be dangerous because you can delete catalog records associated with current"
+" backups of files, and we recommend that you do not use it unless you know what"
+" you are doing.\n"
+      "Press OK to proceed with the purge operation?"),
+      QMessageBox::Ok | QMessageBox::Cancel)
+      == QMessageBox::Cancel) { return; }
+
    QString cmd("purge volume=");
    cmd += m_currentVolumeName;
    consoleCommand(cmd);
index 490d81ea02f05283e97023852bc8b698f1e17034..458201237a34f177d59b46c963063bb7413dd5c9 100644 (file)
@@ -241,7 +241,7 @@ void prerestorePage::jobdefsFromJob(QStringList &fieldlist, QString jobId)
    " From Job, Client, FileSet"
    " WHERE Job.FileSetId=FileSet.FileSetId AND Job.ClientId=Client.ClientId"
    " AND JobId=\'" + jobId + "\'";
-   printf("query = %s\n", query.toUtf8().data());
+   //printf("query = %s\n", query.toUtf8().data());
    QStringList results;
    if (m_console->sql_cmd(query, results)) {
       QString field;