Added report variable filler.
							parent
							
								
									37b2dd7246
								
							
						
					
					
						commit
						1e785fd488
					
				@ -0,0 +1,52 @@
 | 
			
		||||
#include "variablefiller.h"
 | 
			
		||||
#include "../settingsservice.h"
 | 
			
		||||
 | 
			
		||||
VariableFiller::VariableFiller()
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
VariableFiller::~VariableFiller()
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void VariableFiller::fill(ReportPtr report, int recordId)
 | 
			
		||||
{
 | 
			
		||||
    if (m_settings.isNull())
 | 
			
		||||
    {
 | 
			
		||||
        loadSettings();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    QMap<QString, QString> vars;
 | 
			
		||||
    vars[COMPANY] = m_settings->firmName();
 | 
			
		||||
    vars[STREET] = m_settings->street();
 | 
			
		||||
    vars[HOUSE_NUMBER] = m_settings->houseNumber();
 | 
			
		||||
    vars[CITY] = m_settings->city();
 | 
			
		||||
    vars[ZIP_CODE] = m_settings->zipCode();
 | 
			
		||||
    vars[IC] = QString::number(m_settings->ic());
 | 
			
		||||
    vars[DIC] = m_settings->dic();
 | 
			
		||||
    vars[LOGO_PATH] = m_settings->logoPath();
 | 
			
		||||
 | 
			
		||||
    if (recordId > 0)
 | 
			
		||||
    {
 | 
			
		||||
        vars[RECORD_ID] = QString::number(recordId);
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
        vars[RECORD_ID] = "";
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    report->setVariables(vars);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void VariableFiller::fillList(QList<ReportPtr> reports, int recordId)
 | 
			
		||||
{
 | 
			
		||||
    foreach (ReportPtr report, reports) {
 | 
			
		||||
        fill(report, recordId);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void VariableFiller::loadSettings()
 | 
			
		||||
{
 | 
			
		||||
    SettingsService srv("CORE");
 | 
			
		||||
    m_settings = srv.loadSettings<GlobalSettings>();
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,32 @@
 | 
			
		||||
#ifndef VARIABLEFILLER_H
 | 
			
		||||
#define VARIABLEFILLER_H
 | 
			
		||||
 | 
			
		||||
#include "report.h"
 | 
			
		||||
#include "../settings/globalsettings.h"
 | 
			
		||||
#include "../core_global.h"
 | 
			
		||||
 | 
			
		||||
#define COMPANY "COMPANY"
 | 
			
		||||
#define STREET "STREET"
 | 
			
		||||
#define HOUSE_NUMBER "HOUSE_NUMBER"
 | 
			
		||||
#define CITY "CITY"
 | 
			
		||||
#define ZIP_CODE "ZIP_CODE"
 | 
			
		||||
#define IC "IC"
 | 
			
		||||
#define DIC "DIC"
 | 
			
		||||
#define LOGO_PATH "LOGO_PATH"
 | 
			
		||||
#define RECORD_ID "RECORD_ID"
 | 
			
		||||
 | 
			
		||||
class CORESHARED_EXPORT VariableFiller
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
    VariableFiller();
 | 
			
		||||
    virtual ~VariableFiller();
 | 
			
		||||
 | 
			
		||||
    virtual void fill(ReportPtr report, int recordId = 0);
 | 
			
		||||
    void fillList(QList<ReportPtr> reports, int recordId = 0);
 | 
			
		||||
    void loadSettings();
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    GlobalSettingsPtr m_settings;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif // VARIABLEFILLER_H
 | 
			
		||||
					Loading…
					
					
				
		Reference in New Issue