WIP. Improved database cleanup + various db fixes

This commit is contained in:
emeric
2014-08-07 15:29:54 +02:00
parent 5bdabec325
commit 2fbb1a7260
15 changed files with 274 additions and 128 deletions
+12 -4
View File
@@ -75,14 +75,14 @@ MediaDirectories::refresh(void)
Wt::WPushButton* delBtn = new Wt::WPushButton("Delete");
delBtn->setStyleClass("btn-danger");
_table->elementAt(id, 3)->addWidget(delBtn);
delBtn->clicked().connect(boost::bind( &MediaDirectories::handleDelMediaDirectory, this, mediaDirectory->getPath() ) );
delBtn->clicked().connect(boost::bind( &MediaDirectories::handleDelMediaDirectory, this, mediaDirectory->getPath(), mediaDirectory->getType() ) );
++id;
}
}
void
MediaDirectories::handleDelMediaDirectory(boost::filesystem::path p)
MediaDirectories::handleDelMediaDirectory(boost::filesystem::path p, Database::MediaDirectory::Type type)
{
Wt::WMessageBox *messageBox = new Wt::WMessageBox
("Delete Folder",
@@ -98,12 +98,15 @@ MediaDirectories::handleDelMediaDirectory(boost::filesystem::path p)
Wt::Dbo::Transaction transaction(_db.getSession());
// Delete the media diretory
Database::MediaDirectory::pointer mediaDirectory = Database::MediaDirectory::getByPath(_db.getSession(), p);
Database::MediaDirectory::pointer mediaDirectory = Database::MediaDirectory::get(_db.getSession(), p, type);
if (mediaDirectory)
mediaDirectory.remove();
}
refresh();
// Emit something changed in the settings
_sigChanged.emit();
}
delete messageBox;
@@ -129,10 +132,15 @@ MediaDirectories::handleMediaDirectoryFormCompleted(bool changed)
{
_stack->setCurrentIndex(0);
// Refresh the user table if a change has been made
if (changed)
{
// Refresh the user table if a change has been made
refresh();
// Emit something changed in the settings
_sigChanged.emit();
}
// Delete the form view
delete _stack->widget(1);