コード例 #1
0
void JobDetail::onLoad()
{
	PageBase::onLoad();

	// Ottiene l'id dell'utente richiesto
	int id = conversions::from_utf16<uint32>(getUrlID());

	shared_ptr<XMLDocument> document(OS_NEW XMLDocument());	
	
	shared_ptr<XMLExporter> exporter(OS_NEW XMLExporter(document->create(_S("job"))));

	// VERYURGENT: abolire il ciclo for	

	Engine::BackgroundJobs::const_iterator i;

	shared_ptr<Engine::BackgroundJobs> jobs = Engine::instance()->getBackgroundJobs();	

	if(jobs != nullptr)
	{
		for(i = jobs->begin(); i != jobs->end(); ++i)
		{
			shared_ptr<IBackgroundJob> job = *i;
			if(job->getID() == id)
			{
				Jobs::exportJob(exporter, job, false);				
			}
		}
	}

	jobs = Engine::instance()->getLastCompletedBackgroundJobs();
	if(jobs != nullptr)
	{
		for(i = jobs->begin(); i != jobs->end(); ++i)
		{
			shared_ptr<IBackgroundJob> job = *i;
			if(job->getID() == id)
			{
				Jobs::exportJob(exporter, job, true);				
			}
		}
	}

	String path = getSkin()->getTemplatePath(_S("job_detail.xsl"));
	shared_ptr<HtmlXSLControl> pageTemplate(OS_NEW HtmlXSLControl(loadStylesheet(path), document));	
	
	// Carica il template di riferimento
	getControls()->add(pageTemplate);
	
}
コード例 #2
0
void Jobs::onPreRender()
{
	PageBase::onPreRender();
	
	shared_ptr<XMLExporter> exporter(OS_NEW XMLExporter(m_pageTemplate->getDocument()->create(_S("jobs"))));
	exporter->createAction(_S("clearCompletedJobs"), getEventCommand(OS_JOBSPAGE_EVENT_ONCLEARCOMPLETEDJOBS));

	// Highlight job
	if(getRequest()->hasUrlParam(_W("job")))
		exporter->setAttributeString(_S("highlight"), getRequest()->getUrlParam(_W("job")));

	shared_ptr<Engine::BackgroundJobs> jobs = Engine::instance()->getBackgroundJobs();
	if(jobs != nullptr)
		exportJobs(exporter, *jobs, false);

	jobs = Engine::instance()->getLastCompletedBackgroundJobs();
	if(jobs != nullptr)
		exportJobs(exporter, *jobs, true);	
}