using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, domainName)) {\r
while (true) {\r
logger.Debug("Trying authenticate user {0}", UserName);\r
- bool isValid = pc.ValidateCredentials(UserName, password);\r
- if (isValid) {\r
- logger.Debug("Authenticated: {0}", UserName);\r
- break;\r
+\r
+ if (!String.IsNullOrEmpty(password)) {\r
+ bool isValid = pc.ValidateCredentials(UserName, password);\r
+ if (isValid) {\r
+ logger.Debug("Authenticated: {0}", UserName);\r
+ break;\r
+ }\r
}\r
\r
if (loginForm == null)\r
<custom-attributes org.zkoss.zul.listbox.preloadSize="50" />\r
<div id="scdiv" width="100%" height="100%" apply="org.zkoss.bind.BindComposer"\r
viewModel="@id('jlm') @init('user.jobengine.zk.model.MissingMaterialsModel')">\r
- <timer id="timer" delay="500" repeats="true" onTimer="@command('uiTick')" />\r
+ <timer id="timer" delay="100" repeats="true" onTimer="@command('uiTick')" />\r
\r
<space bar="false" />\r
\r
<div align="left" width="100%">\r
<space bar="false" />\r
<button label="Importálás" onClick="@command('executeImportJob')" autodisable="self" disabled="@load(jlm.importDisabled)" />\r
+ <button label="Visszaállítás" onClick="@command('executeRestoreJobs')" autodisable="self" disabled="false" />\r
</div>\r
\r
<div height="100%" width="100%" style="background: #e3e3e3" align="left">\r
<caption sclass="boldfont" label="Hiányzó adásanyagok" />\r
<listbox id="lbJobList" sizedByContent="false" model="@load(jlm.jobList)" multiple="true" pagingPosition="top" mold="paging" autopaging="true"\r
vflex="true" checkmark="true" onSelect="@command('selectJob')" style="border: none; background: #e3e3e3 !important;" oddRowSclass="listbox-odd-style"\r
- sclass="listbox-normal-style" emptyMessage="Nincs hiányzó anyag.">\r
+ sclass="listbox-normal-style" emptyMessage="Nincs hiányzó anyag." selectedItems="@bind(jlm.selectedJobs)">\r
<listhead sizable="true">\r
<listheader label="Adásbakerülés" hflex="min" align="left" sort="auto" />\r
<listheader label="Adásanyag" hflex="min" align="left" sort="auto" />\r
<listheader label="Importálva" hflex="min" align="left" sort="auto" />\r
- <listheader label="Elérhetőség" hflex="min" align="left" sort="auto" />\r
+ <listheader label="Elérhetőség" hflex="100%" align="left" sort="auto" />\r
</listhead>\r
\r
<template name="model">\r
import java.util.ArrayList;\r
import java.util.List;\r
import java.util.Optional;\r
+import java.util.Set;\r
\r
import org.apache.logging.log4j.LogManager;\r
import org.apache.logging.log4j.Logger;\r
+import org.zkoss.bind.BindUtils;\r
import org.zkoss.bind.annotation.Command;\r
import org.zkoss.bind.annotation.Init;\r
import org.zkoss.zul.ListModelList;\r
private static final String COLLECTION_NAME = "missing_materials";\r
private ListModelList<BasicDBObject> jobList = new ListModelList<BasicDBObject>();\r
private BasicDBObject selectedJob = null;\r
+ private Set<BasicDBObject> selectedJobs;\r
private IJobEngine jobEngine = null;\r
private boolean importDisabled;\r
\r
break;\r
}\r
}\r
-\r
+ if (importJob == null)\r
+ throw new NullPointerException("Nem található az import sablon.");\r
ScheduledJob scheduledJob = scheduler.createScheduledJob(importJob);\r
scheduledJob.setJobEngine(jobEngine);\r
scheduledJob.doJob();\r
}\r
}\r
\r
+ @Command\r
+ public void executeRestoreJobs() {\r
+ logger.info(selectedJobs.size());\r
+ registerTask(() -> {\r
+\r
+ for (BasicDBObject job : selectedJobs) {\r
+ job.put("Status", "???");\r
+ BindUtils.postNotifyChange(null, null, job, "*");\r
+ }\r
+ //BasicDBObject dbObject = jobList.get(0);\r
+ });\r
+\r
+ }\r
+\r
public ListModelList<BasicDBObject> getJobList() {\r
return jobList;\r
}\r
return this.selectedJob;\r
}\r
\r
+ public Set<BasicDBObject> getSelectedJobs() {\r
+ return selectedJobs;\r
+ }\r
+\r
@Init\r
public void init() {\r
try {\r
SessionUtil.addJobChangedListener(this);\r
this.jobEngine = JobEngine.getInstance();\r
if (jobEngine == null)\r
- throw new Exception("Internal error! JobEngine instance unavailable.");\r
+ throw new Exception("Belső hiba! A JobEngine szolgáltatás elérhetetlen.");\r
List<IJobRuntime> jobRuntimes = new ArrayList<>(jobEngine.getJobs().values());\r
Optional<IJobRuntime> findFirst = jobRuntimes.stream().filter(j -> isImportJob(j.getTemplate())).findFirst();\r
if (findFirst.isPresent())\r
private void initializeList() {\r
DB db = NoSQLUtils.getNoSQLDB();\r
DBCollection collection = db.getCollection(COLLECTION_NAME);\r
- DBCursor cursor = collection.find().sort(new BasicDBObject("TimeToAir", -1)).limit(1000);\r
-\r
+ DBCursor cursor = collection.find().sort(new BasicDBObject("TimetoAir", -1)).limit(1000);\r
+ if (selectedJobs != null)\r
+ selectedJobs.clear();\r
jobList.clear();\r
while (cursor.hasNext())\r
jobList.add((BasicDBObject) cursor.next());\r
this.selectedJob = selectedJob;\r
}\r
\r
+ public void setSelectedJobs(Set<BasicDBObject> selectedJobs) {\r
+ this.selectedJobs = selectedJobs;\r
+ }\r
+\r
}\r