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); }
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); }