- handle empty password in .sitecopyrc.

- check for the owncloud admin script and warn if its not there.
This commit is contained in:
Klaas Freitag 2011-09-29 17:17:50 +02:00
parent e8dcfe4a3c
commit b7c7b8a566
3 changed files with 37 additions and 10 deletions

View file

@ -1,5 +1,6 @@
#include <QtCore>
#include <QProcess>
#include <QMessageBox>
#include "owncloudsetup.h"
@ -60,15 +61,12 @@ void OwncloudSetup::slotCreateOCLocalhost()
qDebug() << "Install OC on localhost";
const QString bin( "/usr/bin/owncloud-admin" );
QStringList args;
args << "install";
args << "--server-type" << "local";
args << "--root_helper" << "kdesu -c";
_process->start( bin, args );
runOwncloudAdmin( args );
}
void OwncloudSetup::slotInstallOCServer()
@ -85,19 +83,32 @@ void OwncloudSetup::slotInstallOCServer()
qDebug() << "Install OC on " << server << " as user " << user;
const QString bin( "/usr/bin/owncloud-admin" );
QStringList args;
args << "install";
args << "--server-type" << "ftp";
args << "--server" << server;
args << "--user" << user;
args << "--password" << passwd;
if( ! passwd.isEmpty() ) {
args << "--password" << passwd;
}
if( !dir.isEmpty() ) {
args << "--ftpdir" << dir;
}
_process->start( bin, args );
runOwncloudAdmin( args );
}
void OwncloudSetup::runOwncloudAdmin( const QStringList& args )
{
const QString bin("/usr/bin/owncloud-admin");
if( checkOwncloudAdmin( bin )) {
_process->start( bin, args );
} else {
slotFinished( 1, QProcess::NormalExit );
}
}
void OwncloudSetup::slotReadyReadStandardOutput()
{
QByteArray arr = _process->readAllStandardOutput();
@ -133,9 +144,9 @@ void OwncloudSetup::slotFinished( int res, QProcess::ExitStatus )
_ocWizard->button( QWizard::FinishButton )->setEnabled( true );
if( res ) {
_ocWizard->appendToResultWidget( tr("Installation of ownCloud failed!") );
_ocWizard->appendToResultWidget( tr("<font color=\"red\">Installation of ownCloud failed!</font>") );
} else {
_ocWizard->appendToResultWidget( tr("Installation of ownCloud succeeded!") );
_ocWizard->appendToResultWidget( tr("<font color=\"green\">Installation of ownCloud succeeded!</font>") );
}
}
@ -144,6 +155,17 @@ void OwncloudSetup::startWizard( )
_ocWizard->exec();
}
bool OwncloudSetup::checkOwncloudAdmin( const QString& bin )
{
QFileInfo fi( bin );
qDebug() << "checking owncloud-admin " << bin;
if( ! (fi.exists() && fi.isExecutable() ) ) {
_ocWizard->appendToResultWidget( tr("The owncloud admin script can not be found.\n"
"Setup can not be done.") );
return false;
}
return true;
}
}
#include "owncloudsetup.moc"

View file

@ -41,6 +41,9 @@ protected slots:
void slotCreateOCLocalhost();
private:
bool checkOwncloudAdmin( const QString& );
void runOwncloudAdmin( const QStringList& );
OwncloudWizard *_ocWizard;
QProcess *_process;
};

View file

@ -53,7 +53,9 @@ void SitecopyConfig::writeSiteConfig( const QString& localPath,
webdavBase += "/" + remoteFolder;
}
ocDefs["remote"] = path + webdavBase;
ocDefs["password"] = passwd;
if( ! passwd.isEmpty() ) {
ocDefs["password"] = passwd;
}
ocDefs["username"] = user;
_Sites.insert( siteAlias, ocDefs );