mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-10-11 17:13:47 +02:00
2017-12-21 Fred Gleason <fredg@paravelsystems.com>
* Added log locking logic to the 'SaveLog' Web API call.
This commit is contained in:
@@ -174,6 +174,26 @@ void RDLogLock::clearLock(const QString &guid)
|
||||
}
|
||||
|
||||
|
||||
bool RDLogLock::validateLock(const QString &log_name,const QString &guid)
|
||||
{
|
||||
QString sql;
|
||||
RDSqlQuery *q;
|
||||
bool ret=false;
|
||||
QDateTime now=QDateTime::currentDateTime();
|
||||
|
||||
sql=QString("select NAME from LOGS where ")+
|
||||
"(NAME=\""+RDEscapeString(log_name)+"\")&&"+
|
||||
"(LOCK_GUID=\""+RDEscapeString(guid)+"\")&&"+
|
||||
"(LOCK_DATETIME>\""+RDEscapeString(now.addSecs(-RD_LOG_LOCK_TIMEOUT/1000).
|
||||
toString("yyyy-MM-dd hh:mm:ss"))+"\")";
|
||||
q=new RDSqlQuery(sql);
|
||||
ret=q->first();
|
||||
delete q;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
QString RDLogLock::makeGuid(const QString &stationname)
|
||||
{
|
||||
return stationname+QDateTime::currentDateTime().
|
||||
|
@@ -43,6 +43,7 @@ class RDLogLock : public QObject
|
||||
const QString &log_name,const QString &guid);
|
||||
static void updateLock(const QString &log_name,const QString &guid);
|
||||
static void clearLock(const QString &guid);
|
||||
static bool validateLock(const QString &log_name,const QString &guid);
|
||||
static QString makeGuid(const QString &stationname);
|
||||
|
||||
private slots:
|
||||
|
Reference in New Issue
Block a user