Added ability to store creator, updater, date of create and date of edit on entities- columns for this added to Voucher and CampData.
Removed permission check from Service::loadById- caused access violation when user had not have read permission.
This commit is contained in:
+7
-1
@@ -8,7 +8,7 @@
|
|||||||
"default" : "",
|
"default" : "",
|
||||||
"CZ" : ""
|
"CZ" : ""
|
||||||
},
|
},
|
||||||
"schemaVersion" : 7,
|
"schemaVersion" : 8,
|
||||||
"sql" : [
|
"sql" : [
|
||||||
"CREATE TABLE \"CampData\" (
|
"CREATE TABLE \"CampData\" (
|
||||||
\"id\" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
\"id\" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||||
@@ -97,6 +97,12 @@ ALTER TABLE CampData ADD \"totalSale\" INTEGER NULL;
|
|||||||
|
|
||||||
"ALTER TABLE AddressItem ADD \"sale\" INTEGER NULL;
|
"ALTER TABLE AddressItem ADD \"sale\" INTEGER NULL;
|
||||||
ALTER TABLE AddressItem ADD \"totalPrice\" INTEGER NULL;
|
ALTER TABLE AddressItem ADD \"totalPrice\" INTEGER NULL;
|
||||||
|
",
|
||||||
|
|
||||||
|
"ALTER TABLE CampData ADD \"createdBy\" TEXT NULL;
|
||||||
|
ALTER TABLE CampData ADD \"created\" TEXT NULL;
|
||||||
|
ALTER TABLE CampData ADD \"updatedBy\" TEXT NULL;
|
||||||
|
ALTER TABLE CampData ADD \"updated\" TEXT NULL;
|
||||||
"
|
"
|
||||||
],
|
],
|
||||||
"dependencies" : [ "ADDRESSBOOK", "SHOP", "SERVICES" ],
|
"dependencies" : [ "ADDRESSBOOK", "SHOP", "SERVICES" ],
|
||||||
|
|||||||
@@ -105,6 +105,8 @@ void CampService::saveCamp(CampDataPtr data)
|
|||||||
NumberSeriesService numSrv;
|
NumberSeriesService numSrv;
|
||||||
data->setNumSer(numSrv.nextStrForPlugin("CAMP"));
|
data->setNumSer(numSrv.nextStrForPlugin("CAMP"));
|
||||||
|
|
||||||
|
addDateAndUser(data, true);
|
||||||
|
|
||||||
db->persist(data);
|
db->persist(data);
|
||||||
|
|
||||||
foreach (ServiceItemPtr item, data->services()) {
|
foreach (ServiceItemPtr item, data->services()) {
|
||||||
@@ -153,6 +155,8 @@ void CampService::updateCamp(CampDataPtr data)
|
|||||||
db->persist(item);
|
db->persist(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
addDateAndUser(data, false);
|
||||||
|
|
||||||
db->update(data);
|
db->update(data);
|
||||||
tr.commit();
|
tr.commit();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -191,3 +191,43 @@ void CampData::setOnVoucher(bool onVoucher)
|
|||||||
{
|
{
|
||||||
m_onVoucher = onVoucher;
|
m_onVoucher = onVoucher;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString CampData::createdBy() const
|
||||||
|
{
|
||||||
|
return m_createdBy;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CampData::setCreatedBy(const QString &createdBy)
|
||||||
|
{
|
||||||
|
m_createdBy = createdBy;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString CampData::updatedBy() const
|
||||||
|
{
|
||||||
|
return m_updatedBy;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CampData::setUpdatedBy(const QString &updatedBy)
|
||||||
|
{
|
||||||
|
m_updatedBy = updatedBy;
|
||||||
|
}
|
||||||
|
|
||||||
|
QDateTime CampData::created() const
|
||||||
|
{
|
||||||
|
return m_created;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CampData::setCreated(const QDateTime &created)
|
||||||
|
{
|
||||||
|
m_created = created;
|
||||||
|
}
|
||||||
|
|
||||||
|
QDateTime CampData::updated() const
|
||||||
|
{
|
||||||
|
return m_updated;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CampData::setUpdated(const QDateTime &updated)
|
||||||
|
{
|
||||||
|
m_updated = updated;
|
||||||
|
}
|
||||||
|
|||||||
@@ -25,6 +25,10 @@ class CampData : public QObject
|
|||||||
Q_PROPERTY(bool fixedSale READ fixedSale WRITE setFixedSale)
|
Q_PROPERTY(bool fixedSale READ fixedSale WRITE setFixedSale)
|
||||||
Q_PROPERTY(QDecDouble totalSale READ totalSale WRITE setTotalSale)
|
Q_PROPERTY(QDecDouble totalSale READ totalSale WRITE setTotalSale)
|
||||||
Q_PROPERTY(bool onVoucher READ onVoucher WRITE setOnVoucher)
|
Q_PROPERTY(bool onVoucher READ onVoucher WRITE setOnVoucher)
|
||||||
|
Q_PROPERTY(QString createdBy READ createdBy WRITE setCreatedBy)
|
||||||
|
Q_PROPERTY(QString updatedBy READ updatedBy WRITE setUpdatedBy)
|
||||||
|
Q_PROPERTY(QDateTime created READ created WRITE setCreated)
|
||||||
|
Q_PROPERTY(QDateTime updated READ updated WRITE setUpdated)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit CampData(QObject *parent = 0);
|
explicit CampData(QObject *parent = 0);
|
||||||
@@ -81,6 +85,18 @@ public:
|
|||||||
bool onVoucher() const;
|
bool onVoucher() const;
|
||||||
void setOnVoucher(bool onVoucher);
|
void setOnVoucher(bool onVoucher);
|
||||||
|
|
||||||
|
QString createdBy() const;
|
||||||
|
void setCreatedBy(const QString &createdBy);
|
||||||
|
|
||||||
|
QString updatedBy() const;
|
||||||
|
void setUpdatedBy(const QString &updatedBy);
|
||||||
|
|
||||||
|
QDateTime created() const;
|
||||||
|
void setCreated(const QDateTime &created);
|
||||||
|
|
||||||
|
QDateTime updated() const;
|
||||||
|
void setUpdated(const QDateTime &updated);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
friend class odb::access;
|
friend class odb::access;
|
||||||
#pragma db id auto
|
#pragma db id auto
|
||||||
@@ -102,6 +118,10 @@ private:
|
|||||||
bool m_fixedSale;
|
bool m_fixedSale;
|
||||||
SeasonPtr m_season;
|
SeasonPtr m_season;
|
||||||
bool m_onVoucher;
|
bool m_onVoucher;
|
||||||
|
QString m_createdBy;
|
||||||
|
QString m_updatedBy;
|
||||||
|
QDateTime m_created;
|
||||||
|
QDateTime m_updated;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // CAMPDATA_H
|
#endif // CAMPDATA_H
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ System::System()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
System::~System()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
int System::id() const
|
int System::id() const
|
||||||
{
|
{
|
||||||
return m_id;
|
return m_id;
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ class CORESHARED_EXPORT System
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
System();
|
System();
|
||||||
|
virtual ~System();
|
||||||
|
|
||||||
int id() const;
|
int id() const;
|
||||||
void setId(int id);
|
void setId(int id);
|
||||||
|
|||||||
+28
-2
@@ -82,6 +82,8 @@ public:
|
|||||||
|
|
||||||
Transaction tx;
|
Transaction tx;
|
||||||
|
|
||||||
|
addDateAndUser(entity, true);
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
db->persist(entity);
|
db->persist(entity);
|
||||||
@@ -108,6 +110,8 @@ public:
|
|||||||
|
|
||||||
Transaction tx;
|
Transaction tx;
|
||||||
|
|
||||||
|
addDateAndUser(entity, false);
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
db->update(entity);
|
db->update(entity);
|
||||||
@@ -126,9 +130,9 @@ public:
|
|||||||
QSharedPointer<T> loadById(int id) {
|
QSharedPointer<T> loadById(int id) {
|
||||||
QSharedPointer<T> entity;
|
QSharedPointer<T> entity;
|
||||||
|
|
||||||
if (!checkPermission(PERM_READ)) {
|
/*if (!checkPermission(PERM_READ)) {
|
||||||
return entity;
|
return entity;
|
||||||
}
|
}*/
|
||||||
|
|
||||||
odb::database *db = Context::instance().db();
|
odb::database *db = Context::instance().db();
|
||||||
|
|
||||||
@@ -233,6 +237,28 @@ protected:
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void addDateAndUser(QSharedPointer<T> entity, bool creating) {
|
||||||
|
|
||||||
|
T *inner = entity.data();
|
||||||
|
QObject *obj = dynamic_cast<QObject*>(inner);
|
||||||
|
|
||||||
|
if (obj == NULL)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (creating)
|
||||||
|
{
|
||||||
|
obj->setProperty("createdBy", Context::instance().currentUser()->login());
|
||||||
|
obj->setProperty("created", QDateTime::currentDateTime());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
obj->setProperty("updatedBy", Context::instance().currentUser()->login());
|
||||||
|
obj->setProperty("updated", QDateTime::currentDateTime());
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // SERVICE_H
|
#endif // SERVICE_H
|
||||||
|
|||||||
@@ -301,6 +301,46 @@ void Voucher::setSeason(const SeasonPtr &season)
|
|||||||
m_season = season;
|
m_season = season;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString Voucher::createdBy() const
|
||||||
|
{
|
||||||
|
return m_createdBy;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Voucher::setCreatedBy(const QString &createdBy)
|
||||||
|
{
|
||||||
|
m_createdBy = createdBy;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString Voucher::updatedBy() const
|
||||||
|
{
|
||||||
|
return m_updatedBy;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Voucher::setUpdatedBy(const QString &updatedBy)
|
||||||
|
{
|
||||||
|
m_updatedBy = updatedBy;
|
||||||
|
}
|
||||||
|
|
||||||
|
QDateTime Voucher::created() const
|
||||||
|
{
|
||||||
|
return m_created;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Voucher::setCreated(const QDateTime &created)
|
||||||
|
{
|
||||||
|
m_created = created;
|
||||||
|
}
|
||||||
|
|
||||||
|
QDateTime Voucher::updated() const
|
||||||
|
{
|
||||||
|
return m_updated;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Voucher::setUpdated(const QDateTime &updated)
|
||||||
|
{
|
||||||
|
m_updated = updated;
|
||||||
|
}
|
||||||
|
|
||||||
int Voucher::id() const
|
int Voucher::id() const
|
||||||
{
|
{
|
||||||
return m_id;
|
return m_id;
|
||||||
|
|||||||
@@ -46,6 +46,10 @@ class SHOPSHARED_EXPORT Voucher : public QObject
|
|||||||
Q_ENUMS(VoucherStatus)
|
Q_ENUMS(VoucherStatus)
|
||||||
Q_ENUMS(EetStatus)
|
Q_ENUMS(EetStatus)
|
||||||
Q_PROPERTY(VoucherStatus status READ status WRITE setStatus)
|
Q_PROPERTY(VoucherStatus status READ status WRITE setStatus)
|
||||||
|
Q_PROPERTY(QString createdBy READ createdBy WRITE setCreatedBy)
|
||||||
|
Q_PROPERTY(QString updatedBy READ updatedBy WRITE setUpdatedBy)
|
||||||
|
Q_PROPERTY(QDateTime created READ created WRITE setCreated)
|
||||||
|
Q_PROPERTY(QDateTime updated READ updated WRITE setUpdated)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit Voucher(QObject *parent = 0);
|
explicit Voucher(QObject *parent = 0);
|
||||||
@@ -155,6 +159,18 @@ public:
|
|||||||
SeasonPtr season() const;
|
SeasonPtr season() const;
|
||||||
void setSeason(const SeasonPtr &season);
|
void setSeason(const SeasonPtr &season);
|
||||||
|
|
||||||
|
QString createdBy() const;
|
||||||
|
void setCreatedBy(const QString &createdBy);
|
||||||
|
|
||||||
|
QString updatedBy() const;
|
||||||
|
void setUpdatedBy(const QString &updatedBy);
|
||||||
|
|
||||||
|
QDateTime created() const;
|
||||||
|
void setCreated(const QDateTime &created);
|
||||||
|
|
||||||
|
QDateTime updated() const;
|
||||||
|
void setUpdated(const QDateTime &updated);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
friend class odb::access;
|
friend class odb::access;
|
||||||
#pragma db id auto
|
#pragma db id auto
|
||||||
@@ -186,6 +202,10 @@ private:
|
|||||||
QOdbList<QSharedPointer<VoucherItem> > m_items;
|
QOdbList<QSharedPointer<VoucherItem> > m_items;
|
||||||
VoucherStatus m_status;
|
VoucherStatus m_status;
|
||||||
SeasonPtr m_season;
|
SeasonPtr m_season;
|
||||||
|
QString m_createdBy;
|
||||||
|
QString m_updatedBy;
|
||||||
|
QDateTime m_created;
|
||||||
|
QDateTime m_updated;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef QSharedPointer<Voucher> VoucherPtr;
|
typedef QSharedPointer<Voucher> VoucherPtr;
|
||||||
|
|||||||
+7
-1
@@ -8,7 +8,7 @@
|
|||||||
"default" : "",
|
"default" : "",
|
||||||
"CZ" : ""
|
"CZ" : ""
|
||||||
},
|
},
|
||||||
"schemaVersion" : 6,
|
"schemaVersion" : 7,
|
||||||
"sql" : [
|
"sql" : [
|
||||||
"CREATE TABLE \"VoucherItem\" (
|
"CREATE TABLE \"VoucherItem\" (
|
||||||
\"id\" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
\"id\" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||||
@@ -76,6 +76,12 @@ CREATE TABLE \"Voucher\" (
|
|||||||
|
|
||||||
"ALTER TABLE \"Voucher\" ADD \"season\" INTEGER NULL;
|
"ALTER TABLE \"Voucher\" ADD \"season\" INTEGER NULL;
|
||||||
UPDATE \"Voucher\" SET season = (SELECT id FROM \"Season\" WHERE active = 1);
|
UPDATE \"Voucher\" SET season = (SELECT id FROM \"Season\" WHERE active = 1);
|
||||||
|
",
|
||||||
|
|
||||||
|
"ALTER TABLE Voucher ADD \"createdBy\" TEXT NULL;
|
||||||
|
ALTER TABLE Voucher ADD \"created\" TEXT NULL;
|
||||||
|
ALTER TABLE Voucher ADD \"updatedBy\" TEXT NULL;
|
||||||
|
ALTER TABLE Voucher ADD \"updated\" TEXT NULL;
|
||||||
"
|
"
|
||||||
],
|
],
|
||||||
"dependencies" : [ "ADDRESSBOOK" ],
|
"dependencies" : [ "ADDRESSBOOK" ],
|
||||||
|
|||||||
@@ -349,6 +349,8 @@ void ShopService::saveVoucher(VoucherPtr entity)
|
|||||||
Transaction tr;
|
Transaction tr;
|
||||||
odb::database *db = Context::instance().db();
|
odb::database *db = Context::instance().db();
|
||||||
|
|
||||||
|
addDateAndUser(entity, true);
|
||||||
|
|
||||||
db->persist(entity);
|
db->persist(entity);
|
||||||
|
|
||||||
foreach (QSharedPointer<VoucherItem> item, entity->items()) {
|
foreach (QSharedPointer<VoucherItem> item, entity->items()) {
|
||||||
@@ -371,6 +373,8 @@ void ShopService::updateVoucher(VoucherPtr entity)
|
|||||||
db->persist(item);
|
db->persist(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
addDateAndUser(entity, false);
|
||||||
|
|
||||||
db->update(entity);
|
db->update(entity);
|
||||||
|
|
||||||
tr.commit();
|
tr.commit();
|
||||||
|
|||||||
Reference in New Issue
Block a user