Camp wizard is now able to open from shop plugin
This commit is contained in:
+2
-1
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
#include "campgrid.h"
|
#include "campgrid.h"
|
||||||
#include "campform.h"
|
#include "campform.h"
|
||||||
|
#include "campservice.h"
|
||||||
#include "settings/campsettingsform.h"
|
#include "settings/campsettingsform.h"
|
||||||
|
|
||||||
Camp::Camp()
|
Camp::Camp()
|
||||||
@@ -10,7 +11,7 @@ Camp::Camp()
|
|||||||
|
|
||||||
void Camp::initServiceUi()
|
void Camp::initServiceUi()
|
||||||
{
|
{
|
||||||
m_service = new Service<CampData>();
|
m_service = new CampService();
|
||||||
m_ui = new CampGrid();
|
m_ui = new CampGrid();
|
||||||
((CampGrid*)m_ui)->setForm(new CampForm());
|
((CampGrid*)m_ui)->setForm(new CampForm());
|
||||||
m_settingsUi = new CampSettingsForm();
|
m_settingsUi = new CampSettingsForm();
|
||||||
|
|||||||
+6
-2
@@ -34,7 +34,9 @@ SOURCES += camp.cpp \
|
|||||||
settings/campsettings.cpp \
|
settings/campsettings.cpp \
|
||||||
campwizard.cpp \
|
campwizard.cpp \
|
||||||
campservice.cpp \
|
campservice.cpp \
|
||||||
addservicedialog.cpp
|
addservicedialog.cpp \
|
||||||
|
campshopitem.cpp \
|
||||||
|
campseller.cpp
|
||||||
|
|
||||||
HEADERS += camp.h\
|
HEADERS += camp.h\
|
||||||
camp_global.h \
|
camp_global.h \
|
||||||
@@ -50,7 +52,9 @@ HEADERS += camp.h\
|
|||||||
settings/campsettings.h \
|
settings/campsettings.h \
|
||||||
campwizard.h \
|
campwizard.h \
|
||||||
campservice.h \
|
campservice.h \
|
||||||
addservicedialog.h
|
addservicedialog.h \
|
||||||
|
campshopitem.h \
|
||||||
|
campseller.h
|
||||||
|
|
||||||
include(../config_plugin.pri)
|
include(../config_plugin.pri)
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
#include "campseller.h"
|
||||||
|
|
||||||
|
#include "campwizard.h"
|
||||||
|
#include "campservice.h"
|
||||||
|
#include "data/camp-data.h"
|
||||||
|
#include "campshopitem.h"
|
||||||
|
|
||||||
|
CampSeller::CampSeller(QObject *parent)
|
||||||
|
:ISeller(parent)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void CampSeller::prepareItem()
|
||||||
|
{
|
||||||
|
CampWizard *wizard = new CampWizard();
|
||||||
|
wizard->setAttribute(Qt::WA_DeleteOnClose);
|
||||||
|
|
||||||
|
CampService srv;
|
||||||
|
CampDataPtr data = srv.create();
|
||||||
|
wizard->setData(data);
|
||||||
|
wizard->show();
|
||||||
|
|
||||||
|
connect(wizard, &QDialog::accepted, [this, data](){
|
||||||
|
CampShopItemPtr item(new CampShopItem);
|
||||||
|
item->setUnitPrice(data->totalPrice());
|
||||||
|
emit itemPrepared(item, 1);
|
||||||
|
});
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
#ifndef CAMPSELLER_H
|
||||||
|
#define CAMPSELLER_H
|
||||||
|
|
||||||
|
#include <iseller.h>
|
||||||
|
|
||||||
|
class CampSeller : public ISeller
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
explicit CampSeller(QObject *parent = 0);
|
||||||
|
|
||||||
|
// ISeller interface
|
||||||
|
public:
|
||||||
|
void prepareItem();
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // CAMPSELLER_H
|
||||||
+31
-2
@@ -2,13 +2,14 @@
|
|||||||
#include <settingsservice.h>
|
#include <settingsservice.h>
|
||||||
#include <seasonservice.h>
|
#include <seasonservice.h>
|
||||||
#include <numberseriesservice.h>
|
#include <numberseriesservice.h>
|
||||||
|
#include "campshopitem.h"
|
||||||
|
#include "campseller.h"
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
CampService::CampService()
|
CampService::CampService()
|
||||||
{
|
{
|
||||||
SettingsService srv("CAMP");
|
|
||||||
m_settings = srv.loadSettings<CampSettings>();
|
|
||||||
m_pluginId = "CAMP";
|
m_pluginId = "CAMP";
|
||||||
|
m_seller = new CampSeller(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CampService::addPerson(CampDataPtr data, AddressbookDataPtr address)
|
void CampService::addPerson(CampDataPtr data, AddressbookDataPtr address)
|
||||||
@@ -73,6 +74,9 @@ CampDataPtr CampService::create()
|
|||||||
|
|
||||||
void CampService::calculate(CampDataPtr data)
|
void CampService::calculate(CampDataPtr data)
|
||||||
{
|
{
|
||||||
|
SettingsService srv("CAMP");
|
||||||
|
m_settings = srv.loadSettings<CampSettings>();
|
||||||
|
|
||||||
calcServices(data);
|
calcServices(data);
|
||||||
calcPeople(data);
|
calcPeople(data);
|
||||||
calcPrice(data);
|
calcPrice(data);
|
||||||
@@ -268,6 +272,31 @@ void CampService::addAccFee(CampDataPtr data, AddressItemPtr item, int startAge,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QList<ShopItemPtr> CampService::shopItems()
|
||||||
|
{
|
||||||
|
CampShopItemPtr item(new CampShopItem);
|
||||||
|
|
||||||
|
QList<ShopItemPtr> items;
|
||||||
|
items.append(item);
|
||||||
|
|
||||||
|
return items;
|
||||||
|
}
|
||||||
|
|
||||||
|
ShopItemPtr CampService::shopItem(int )
|
||||||
|
{
|
||||||
|
return CampShopItemPtr(new CampShopItem);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CampService::addedToVoucher(int , int )
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
ISeller *CampService::seller()
|
||||||
|
{
|
||||||
|
return m_seller;
|
||||||
|
}
|
||||||
|
|
||||||
ServiceItemPtr CampService::addServiceInt(CampDataPtr data, AccServicePtr service)
|
ServiceItemPtr CampService::addServiceInt(CampDataPtr data, AccServicePtr service)
|
||||||
{
|
{
|
||||||
ServiceItemPtr serviceItem(new ServiceItem);
|
ServiceItemPtr serviceItem(new ServiceItem);
|
||||||
|
|||||||
+11
-1
@@ -4,14 +4,16 @@
|
|||||||
#include <core.h>
|
#include <core.h>
|
||||||
#include <addressbookdata.h>
|
#include <addressbookdata.h>
|
||||||
#include <accservice.h>
|
#include <accservice.h>
|
||||||
|
#include <isellableservice.h>
|
||||||
#include "data/camp-data.h"
|
#include "data/camp-data.h"
|
||||||
#include "settings/campsettings.h"
|
#include "settings/campsettings.h"
|
||||||
#include "camp-odb.hxx"
|
#include "camp-odb.hxx"
|
||||||
|
|
||||||
class CampService : public Service<CampData>
|
class CampService : public Service<CampData>, public ISellableService
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CampService();
|
CampService();
|
||||||
|
|
||||||
void addPerson(CampDataPtr data, AddressbookDataPtr address);
|
void addPerson(CampDataPtr data, AddressbookDataPtr address);
|
||||||
void addService(CampDataPtr data, AccServicePtr service);
|
void addService(CampDataPtr data, AccServicePtr service);
|
||||||
void addService(CampDataPtr data, AccServicePtr service, QDecDouble price, QString description);
|
void addService(CampDataPtr data, AccServicePtr service, QDecDouble price, QString description);
|
||||||
@@ -27,6 +29,14 @@ private:
|
|||||||
void calcPrice(CampDataPtr data);
|
void calcPrice(CampDataPtr data);
|
||||||
void addAccFee(CampDataPtr data, AddressItemPtr item, int startAge, int endAge, int days);
|
void addAccFee(CampDataPtr data, AddressItemPtr item, int startAge, int endAge, int days);
|
||||||
CampSettingsPtr m_settings;
|
CampSettingsPtr m_settings;
|
||||||
|
ISeller *m_seller;
|
||||||
|
|
||||||
|
// ISellableService interface
|
||||||
|
public:
|
||||||
|
QList<ShopItemPtr> shopItems();
|
||||||
|
ShopItemPtr shopItem(int itemId);
|
||||||
|
void addedToVoucher(int itemId, int countAdded);
|
||||||
|
ISeller *seller();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // CAMPSERVICE_H
|
#endif // CAMPSERVICE_H
|
||||||
|
|||||||
@@ -0,0 +1,48 @@
|
|||||||
|
#include "campshopitem.h"
|
||||||
|
|
||||||
|
CampShopItem::CampShopItem(QObject *parent)
|
||||||
|
:ShopItem(parent)
|
||||||
|
{
|
||||||
|
m_unitPrice = QDecDouble(0);
|
||||||
|
m_vatType = Enums::NONE;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString CampShopItem::name()
|
||||||
|
{
|
||||||
|
return "Camp";
|
||||||
|
}
|
||||||
|
|
||||||
|
QString CampShopItem::shortName()
|
||||||
|
{
|
||||||
|
return "Camp";
|
||||||
|
}
|
||||||
|
|
||||||
|
QDecDouble CampShopItem::unitPrice()
|
||||||
|
{
|
||||||
|
return m_unitPrice;
|
||||||
|
}
|
||||||
|
|
||||||
|
Enums::VatType CampShopItem::vatType()
|
||||||
|
{
|
||||||
|
return m_vatType;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString CampShopItem::pluginId()
|
||||||
|
{
|
||||||
|
return "CAMP";
|
||||||
|
}
|
||||||
|
|
||||||
|
QString CampShopItem::code()
|
||||||
|
{
|
||||||
|
return "Camp";
|
||||||
|
}
|
||||||
|
|
||||||
|
void CampShopItem::setUnitPrice(const QDecDouble &unitPrice)
|
||||||
|
{
|
||||||
|
m_unitPrice = unitPrice;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CampShopItem::setVatType(const Enums::VatType &vatType)
|
||||||
|
{
|
||||||
|
m_vatType = vatType;
|
||||||
|
}
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
#ifndef CAMPSHOPITEM_H
|
||||||
|
#define CAMPSHOPITEM_H
|
||||||
|
|
||||||
|
#include <shopitem.h>
|
||||||
|
|
||||||
|
class CampShopItem : public ShopItem
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CampShopItem(QObject *parent = 0);
|
||||||
|
|
||||||
|
// IShopItem interface
|
||||||
|
public:
|
||||||
|
QString name();
|
||||||
|
QString shortName();
|
||||||
|
QDecDouble unitPrice();
|
||||||
|
Enums::VatType vatType();
|
||||||
|
QString pluginId();
|
||||||
|
|
||||||
|
// ShopItem interface
|
||||||
|
public:
|
||||||
|
QString code();
|
||||||
|
|
||||||
|
void setUnitPrice(const QDecDouble &unitPrice);
|
||||||
|
|
||||||
|
void setVatType(const Enums::VatType &vatType);
|
||||||
|
|
||||||
|
private:
|
||||||
|
QDecDouble m_unitPrice;
|
||||||
|
Enums::VatType m_vatType;
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef QSharedPointer<CampShopItem> CampShopItemPtr;
|
||||||
|
|
||||||
|
#endif // CAMPSHOPITEM_H
|
||||||
Reference in New Issue
Block a user