19 package org.turro.dossier.content;
21 import java.io.Writer;
22 import java.util.ArrayList;
23 import java.util.Collection;
24 import org.turro.string.Strings;
25 import org.turro.attach.www.AttachCtrl;
26 import org.turro.contacts.db.ContactsPU;
27 import org.turro.dossier.db.DossierPU;
28 import org.turro.dossier.entity.ProjectGrant;
29 import org.turro.dossier.grant.ProjectGrantCriteria;
30 import org.turro.elephant.context.ElephantContext;
31 import org.turro.elephant.context.IConstructor;
32 import org.turro.elephant.db.WhereClause;
33 import org.turro.elephant.impl.repository.Repository;
34 import org.turro.elephant.impl.repository.RepositoryFile;
35 import org.turro.elephant.web.SocialImageMap;
36 import org.turro.elephant.web.SocialNet;
37 import org.turro.entities.Entities;
38 import org.turro.file.util.FileAttach;
39 import org.turro.jpa.content.EntityDaoContentIterator;
40 import org.turro.jpa.search.DaoHtmlSearch;
41 import org.turro.jpa.search.DaoSearchKey;
42 import org.turro.marker.ElephantMarker;
43 import org.turro.plugin.contacts.IContact;
44 import org.turro.polls.PollsCtrl;
45 import org.turro.tags.TagCloud;
46 import org.turro.www.commentit.CommentItCtrl;
47 import org.turro.www.describeit.DescribeItCtrl;
48 import org.turro.www.starit.StarItCtrl;
49 import org.turro.www.voteit.VoteItCtrl;
72 wc.
addClause(
"order by (case when g.endDate < now() then 1 else 0 end) asc, g.endDate asc, g.title");
86 prepareValues(e, page);
94 prepareValues(e, page);
100 return "project-grant";
112 private void processSearch() {
120 dsk = dhs.get(
"minimis");
123 if(
"minimis".equals(minimis)) {
125 }
else if(
"nominimis".equals(minimis)) {
131 dsk = dhs.get(
"grant");
134 if(
"subvention".equals(grant)) {
136 }
else if(
"loan".equals(grant)) {
138 }
else if(
"combination".equals(grant)) {
144 dsk = dhs.get(
"collab");
147 if(
"collaboration".equals(collab)) {
149 }
else if(
"individual".equals(collab)) {
155 dsk = dhs.get(
"micro");
159 dsk = dhs.get(
"small");
163 dsk = dhs.get(
"medium");
167 dsk = dhs.get(
"big");
171 dsk = dhs.get(
"hiring");
175 dsk = dhs.get(
"idi");
179 dsk = dhs.get(
"investment");
183 dsk = dhs.get(
"start-up");
187 dsk = dhs.get(
"deadline");
190 if(
"active".equals(deadline)) {
192 }
else if(
"ended".equals(deadline)) {
194 }
else if(
"recurrent".equals(deadline)) {
206 return super.isValid(e);
217 private WhereClause createCount() {
219 if(TagCloud.hasSelected(
constructor,
"project-grant")) {
220 wc.
addIn(
"and",
"g.id", TagCloud.getIdentifiersAsLong(
constructor,
"project-grant"));
225 private void prepareValues(
final ProjectGrant practicalWork,
int page) {
231 if(!Strings.isBlank(e.
getName())) {
239 ArrayList<RepositoryFile> files =
new ArrayList<>();
254 return isMail() ?
"content/newsletter/sections/projectgrants" :
"projectgrant";
307 if(Strings.isBlank(path)) {
310 if(Strings.isBlank(path)) {
318 return "/user/projectgrants";
Object doDescriptionsCtrl(ProjectGrant e)
String getRestrictedLink()
String title(ProjectGrant e)
Object doAttachmentsCtrl(ProjectGrant e)
Object doFilesCtrl(ProjectGrant e)
ProjectGrantCriteria getCriteria()
Object doCommentsCtrl(ProjectGrant e)
void renderSummary(ElephantMarker marker, ProjectGrant e, int page)
Collection< String > metas(ProjectGrant e)
Object doVotesCtrl(ProjectGrant e)
ProjectGrantContentIterator(IConstructor constructor, Writer writer, IContact contact, boolean mail, String pubPath)
Object doInterestCtrl(ProjectGrant e)
String getItemLink(ProjectGrant e)
WhereClause getWhereClause()
boolean isValid(ProjectGrant e)
void renderItem(ElephantMarker marker, ProjectGrant e, int page)
WhereClause getCountClause()
ProjectGrant entity(Long value)
Object doPollsCtrl(ProjectGrant e)
void setRecurrent(boolean recurrent)
void setCombination(boolean combination)
WhereClause createCount()
void setSmall(boolean small)
void setLoan(boolean loan)
void setSearchValue(String searchValue)
void setSubvention(boolean subvention)
void setCollaboration(boolean collaboration)
void clearCollaboration()
void setActive(boolean active)
void setMedium(boolean medium)
void setMicro(boolean micro)
void setIndividual(boolean individual)
void setInvestment(boolean investment)
void setMinimis(boolean minimis)
void setHiring(boolean hiring)
void setNominimis(boolean nominimis)
void setStartUp(boolean startUp)
void setEnded(boolean ended)
static String getContextVariable(IConstructor constructor)
static String getEntityWebContext(String path)
void addClause(String clause)
void addIn(String operator, String field, List values)
void addNamedValue(String name, Object value)
Set< RepositoryFile > getRepositoryFiles(String pattern)
static boolean hasImage(String url)
List< String > getMetas()
static IElephantEntity getController(String path)
Repository getPublishableRepository(IConstructor constructor)
Object getSingleResultOrNull(SqlClause sc)
void prepareControls(E entity, int page)
String doItemLink(E entity, ID id, boolean obfuscated)
String getSummaryTemplate()
static DaoHtmlSearch getInstance(IConstructor constructor, String context)
void process(String rootTmpl, String tmpl)
Object put(Object key, Object value)
Object configureCtrl(Object ctrl, IContact contact)