diff --git a/Mango/ui/headerwidget.cpp b/Mango/ui/headerwidget.cpp index 2e0c653..9b12258 100644 --- a/Mango/ui/headerwidget.cpp +++ b/Mango/ui/headerwidget.cpp @@ -55,14 +55,14 @@ void HeaderWidget::createToolButtons() reportsButton->setFont(font); // add menu for report button - QAction *todayReportAction = new QAction(QIcon(":/images/find.png"),tr("التقرير اليومي"), this); - connect(todayReportAction, SIGNAL(triggered()), this, SIGNAL(todayReportActionClicked())); + QAction *todayLogginReportAction = new QAction(QIcon(":/images/find.png"),tr("التقرير اليومي"), this); + connect(todayLogginReportAction, SIGNAL(triggered()), this, SIGNAL(todayLogginReportActionClicked())); QAction *generalReportAction = new QAction(QIcon(":/images/find.png"),tr("تقرير مخصص"), this); connect(generalReportAction, SIGNAL(triggered()), this, SIGNAL(generalReportActionClicked())); QMenu *reportMenu = new QMenu(this); - reportMenu->addAction(todayReportAction); + reportMenu->addAction(todayLogginReportAction); reportMenu->addAction(generalReportAction); reportsButton->setMenu(reportMenu); diff --git a/Mango/ui/headerwidget.h b/Mango/ui/headerwidget.h index 2212334..a225f73 100644 --- a/Mango/ui/headerwidget.h +++ b/Mango/ui/headerwidget.h @@ -14,7 +14,7 @@ class HeaderWidget : public QWidget signals: void homeClicked(); void logoutClicked(); - void todayReportActionClicked(); + void todayLogginReportActionClicked(); void generalReportActionClicked(); void closeSystemActionClicked(); void aboutSystemActionClicked(); diff --git a/Mango/ui/invoiceveiwerwidget.cpp b/Mango/ui/invoiceveiwerwidget.cpp index b428eed..49e9d5c 100644 --- a/Mango/ui/invoiceveiwerwidget.cpp +++ b/Mango/ui/invoiceveiwerwidget.cpp @@ -43,114 +43,12 @@ void InvoiceVeiwerWidget::renderReport() { QString InvoiceVeiwerWidget:: getHtmlCode () { QDateTime from = QDateTime::currentDateTime(); - QDateTime fto = QDateTime::currentDateTime(); + QDateTime to = QDateTime::currentDateTime(); Report* report = new LogginReport(from, to); return (report->getHTML()); } -QString InvoiceVeiwerWidget::getSellTable () { -// QString tableBegin = "" -// ""; -// QString tableEnd = "
Number of BatteriesType of BatteriesBatteries Price
"; - -// QString htmlTableResult = tableBegin; - -// foreach(BattaryPrice battary, sell.battariesList) { -// QString tableRaw = QString(" %1 أمبير %2 %3") -// .arg( battary.battaryType, battary.battaryCount, battary.battaryPrice); - -// htmlTableResult += tableRaw ; -// } - -// htmlTableResult += tableEnd; -// return htmlTableResult; - return ""; -} - - - -QString InvoiceVeiwerWidget:: getBillHTMLCode () { -// QFile *reportFile = new QFile(":/reports/htmlReport.html"); - -// if ( ! reportFile->open(QIODevice::ReadOnly | QIODevice::Text) ) { -// qDebug() << "File Openining Problem"; -// return ""; -// } - -// QString originalCode = reportFile->readAll(); - -// QString price = "100"; - -// QString reportCode = originalCode.replace("%TITLE%", TITLE) -// .replace("%COMPANY_NAME_EN%",COMPANY_NAME_EN).replace("%COMPANY_NAME_AR%",COMPANY_NAME_AR) -// .replace("%OWNER_NAME%", OWNER_NAME).replace("%COMPANY_ADDRESS%", COMPANY_ADDRESS) -// .replace("%COMPANY_MOBILE%", COMPANY_MOBILE).replace("%COMPANY_EMAIL%", COMPANY_EMAIL) -// .replace("%CLIENT_ID%", bill.customerNo) -// .replace("%BILL_ID%", bill.invoiceNO).replace("%CLIENT_COMPANY%", bill.companyName) -// .replace("%CLIENT_NAME%", bill.customerName).replace("%CLIENT_MOBILE%", bill.mobile) -// .replace("%SUCC_NUM%", price) -// .replace("%CLIENT_ADDRESS%", bill.address).replace("%DATE%", bill.invoiceDate.toString("dd/MM/yyyy")) -// .replace("%TIME%", bill.invoiceTime.toString("HH:mm A")).replace("%ADD_TABLE%", getBillTable()); - -// return (reportCode); - return ""; -} - - -QString InvoiceVeiwerWidget::getBillTable () { -// QString tableBegin = "" -// ""; -// QString tableEnd = "
Number of BatteriesType of BatteriesVoucher NoBatteries Price
"; - -// QString htmlTableResult = tableBegin; - -// foreach(BattaryPrice battary, bill.battariesList) { -// QString tableRaw = QString(" %1 أمبير %2 %3%4") -// .arg( battary.battaryType, battary.battaryCount, bill.invoiceNO, battary.battaryPrice); - -// htmlTableResult += tableRaw ; -// } - -// htmlTableResult += tableEnd; -// return htmlTableResult; - return ""; -} - -QString InvoiceVeiwerWidget::generateHTML () { -// QFile *reportFile = new QFile(":/reports/sanadReport.html"); - -// if ( ! reportFile->open(QIODevice::ReadOnly | QIODevice::Text) ) { -// qDebug() << "File Openining Problem"; -// return ""; -// } - -// QString originalCode = reportFile->readAll(); - -// QString reportType ; - -// if ( type == INSERT ) -// reportType = "إدخال بطاريات"; -// else -// reportType = "سحب بطاريات"; - -// QString reportCode = originalCode.replace("%TITLE%", TITLE) - -// .replace("%COMPANY_LOGO%", "qrc:/reports/logo.png") -// .replace("%COMPANY_NAME_EN%",COMPANY_NAME_EN).replace("%COMPANY_NAME_AR%",COMPANY_NAME_AR) -// .replace("%OWNER_NAME%", OWNER_NAME).replace("%COMPANY_ADDRESS%", COMPANY_ADDRESS) -// .replace("%COMPANY_MOBILE%", COMPANY_MOBILE).replace("%COMPANY_FAX%", COMPANY_FAX) -// .replace("%COMPANY_EMAIL%", COMPANY_EMAIL) -// .replace("%BILL_TYPE%",reportType).replace("%CLIENT_ID%", invoice.customerNo) -// .replace("%BILL_ID%", invoice.invoiceNO).replace("%CLIENT_COMPANY%", invoice.companyName) -// .replace("%CLIENT_NAME%", invoice.customerName).replace("%CLIENT_MOBILE%", invoice.mobile) -// .replace("%CLIENT_ADDRESS%", invoice.address).replace("%DATE%", invoice.invoiceDate.toString("dd/MM/yyyy")) -// .replace("%TIME%", invoice.invoiceTime.toString("hh:mm:ss A")).replace("%ADD_TABLE%", getHTMLTable(type)); - -// return (reportCode); - return ""; -} - void InvoiceVeiwerWidget::printReportSlot(){ QPrinter printer; QPrintDialog dialog(&printer, this); @@ -175,28 +73,3 @@ void InvoiceVeiwerWidget::saveReportSlot(){ void InvoiceVeiwerWidget::cancelReportSlot(){ this->hide(); } - -void InvoiceVeiwerWidget::consolePrinting(){ -/* - qDebug() << "Customer Details:"; - qDebug() << "===================" ; - qDebug() << "\tcustomer no: " << invoice.customerNo ; - qDebug() << "\tcustomer name: " << invoice.customerName ; - qDebug() << "\tcustomer company: " << invoice.companyName ; - qDebug() << "\tcustomer mobile: " << invoice.mobile ; - qDebug() << "\tAddress: " << invoice.address ; - - qDebug() << "Invoice Details:"; - qDebug() << "===================" ; - qDebug() << "\tInvoice no: " << invoice.invoiceNO ; - qDebug() << "\tinvoice Date: " << invoice.invoiceDate ; - qDebug() << "\tinvouce time: " << invoice.invoiceTime ; - - qDebug() << "Battary Details:"; - qDebug() << "===================" ; - foreach(Battary battary, invoice.battariesList) { - qDebug() << "\tType: " << battary.battaryType << " Count: " << battary.battaryCount ; - } - - qDebug() << "\n\n" */; -} diff --git a/Mango/ui/invoiceveiwerwidget.h b/Mango/ui/invoiceveiwerwidget.h index ffafe3b..18538ae 100644 --- a/Mango/ui/invoiceveiwerwidget.h +++ b/Mango/ui/invoiceveiwerwidget.h @@ -17,15 +17,7 @@ class InvoiceVeiwerWidget : public QWidget private: void renderReport(); - QString generateHTML(); - QString getHtmlCode(); - QString getSellTable(); - - QString getBillHTMLCode(); - QString getBillTable(); - - void consolePrinting(); private slots: void saveReportSlot(); diff --git a/Mango/ui/mainwindow.cpp b/Mango/ui/mainwindow.cpp index 3f6666b..5906e89 100644 --- a/Mango/ui/mainwindow.cpp +++ b/Mango/ui/mainwindow.cpp @@ -68,7 +68,7 @@ void MainWindow::createHeaderDockWidget() { this->headerWidget = new HeaderWidget; connect(this->headerWidget, SIGNAL(homeClicked()), SLOT(ShowHomePage())); - connect(this->headerWidget, SIGNAL(todayReportActionClicked()), SLOT(todayReportClickedSlot())); + connect(this->headerWidget, SIGNAL(todayLogginReportActionClicked()), SLOT(todayLogginReportClickedSlot())); connect(this->headerWidget, SIGNAL(generalReportActionClicked()), SLOT(generalReportClickedSlot())); connect(this->headerWidget, SIGNAL(closeSystemActionClicked()), SLOT(closeSystemClickedSlot())); connect(this->headerWidget, SIGNAL(aboutSystemActionClicked()), SLOT(aboutSystemClickedSlot())); @@ -124,20 +124,11 @@ void MainWindow::ShowHomePage() this->setCurrentPage(CategoryPage); } -void MainWindow::todayReportClickedSlot() +void MainWindow::todayLogginReportClickedSlot() { InvoiceVeiwerWidget *viewer = new InvoiceVeiwerWidget; viewer->show(); - QList events = Services::Event::getAll(); - foreach(Model::Event event, events) { - Model::Event::EventTypes type = event.eventType(); - QString eventType = type == Model::Event::Login ? "Loggin" : " Logout"; - - qDebug() << event.id() << " " << event.user().userName() << " " << event.createdDateTime() << " " - << eventType; - } - // show reports // event logging table, order table, cancel table, summary table diff --git a/Mango/ui/mainwindow.h b/Mango/ui/mainwindow.h index 7d69ccd..1f56791 100644 --- a/Mango/ui/mainwindow.h +++ b/Mango/ui/mainwindow.h @@ -38,7 +38,7 @@ class MainWindow : public QMainWindow private slots: void ShowHomePage(); void orderItemClicked(QString orderIndexId); - void todayReportClickedSlot(); + void todayLogginReportClickedSlot(); void generalReportClickedSlot(); void closeSystemClickedSlot(); void aboutSystemClickedSlot(); diff --git a/MangoReports/MangoReports.pro b/MangoReports/MangoReports.pro index 15545ec..619cc1b 100644 --- a/MangoReports/MangoReports.pro +++ b/MangoReports/MangoReports.pro @@ -12,11 +12,11 @@ TEMPLATE = lib DEFINES += MANGOREPORTS_LIBRARY SOURCES += report.cpp \ - logginreport.cpp + logginreport.cpp HEADERS += report.h\ MangoReports_global.h \ - logginreport.h + logginreport.h unix:DESTDIR = ../bin unix:OBJECTS_DIR = build/_obj diff --git a/MangoReports/logginreport.cpp b/MangoReports/logginreport.cpp index 71b2e96..a427116 100644 --- a/MangoReports/logginreport.cpp +++ b/MangoReports/logginreport.cpp @@ -1,5 +1,9 @@ #include "logginreport.h" +#include "../MangoModel/event.h" +#include "../MangoService/event.h" +#include + LogginReport::LogginReport(const QDateTime& from, const QDateTime& to) :Report(from, to) { @@ -8,7 +12,8 @@ LogginReport::LogginReport(const QDateTime& from, const QDateTime& to) QString LogginReport::getHTML() { QString orignalHTML = getTemplateFileContent(); - originalHtml = orignalHTML.replace("%LOGIN_REPORT_TYPE%", "Loging Report"); + orignalHTML = orignalHTML.replace("%LOGIN_REPORT_TYPE%", "Loging Report"); + orignalHTML = orignalHTML.replace("%LOGIN_TABLE%", getTableData()); return orignalHTML; } @@ -17,3 +22,33 @@ QString LogginReport::getReportTemplateName() { return ":/reports/LogginReport.html"; } + +QString LogginReport::getTableData() +{ + QString tableBegin = "" + ""; + QString tableEnd = "
IdUsernameDateActions
"; + + QString htmlTableResult = tableBegin; + + QList events = Services::Event::getAll(); + foreach(Model::Event event, events) { + Model::Event::EventTypes type = event.eventType(); + QString eventType = type == Model::Event::Login ? "Loggin" : " Logout"; + + QString tableRaw = QString( + " " + "%1 " + "%2 " + "%3 " + "%4 " + "" + ).arg( QString::number(event.id()), event.user().userName(), event.createdDateTime().toString(), eventType); + + htmlTableResult += tableRaw ; + } + + htmlTableResult += tableEnd; + + return htmlTableResult; +} diff --git a/MangoReports/logginreport.h b/MangoReports/logginreport.h index 12f645f..9189f54 100644 --- a/MangoReports/logginreport.h +++ b/MangoReports/logginreport.h @@ -11,6 +11,9 @@ class MANGOREPORTSSHARED_EXPORT LogginReport: public Report virtual QString getHTML(); virtual QString getReportTemplateName(); + +private: + QString getTableData(); }; #endif // LOGGINREPORT_H diff --git a/MangoReports/report.cpp b/MangoReports/report.cpp index d80e231..f985f58 100644 --- a/MangoReports/report.cpp +++ b/MangoReports/report.cpp @@ -18,7 +18,7 @@ QString Report::getTemplateFileContent() return replaceHeader(htmlContent); } -QString Report::replaceHeader(const QString& content) { +QString Report::replaceHeader(QString& content) { QString TITLE = "Mango Talaat"; QString COMPANY_NAME_EN = "Mango Talaat"; QString OWNER_NAME = "Mohmmaed Allhowh"; diff --git a/MangoReports/report.h b/MangoReports/report.h index 6107fc4..decf1a2 100644 --- a/MangoReports/report.h +++ b/MangoReports/report.h @@ -5,6 +5,7 @@ #include #include +#include class MANGOREPORTSSHARED_EXPORT Report { public: @@ -15,7 +16,7 @@ class MANGOREPORTSSHARED_EXPORT Report { virtual QString getReportTemplateName() = 0; private: - QString replaceHeader(const QString& content); + QString replaceHeader(QString& content); QDateTime m_from, m_to; };