/impl/conf/language/MessageResources.properties |
---|
126,7 → 126,7 |
fail.role=Lamentamos o incómodo, mas necessita de permissões especiais para aceder a esta área. |
fail.owner=Lamentamos o incómodo, mas não tem permissões sobre o objecto ao qual tentou aceder. |
fail.timer=Lamentamos o incomodo, mas a acção que tentou efectuar não pode ser executada nesta data. |
fail.authenticate=Falhou a autênticação |
fail.authenticate=O nome de utilizador ou a palavra passe estão errados. Por favor tente de novo. |
#palavras comuns |
courseunit=Unidade Curricular |
/impl/conf/language/MessageResourcesCourseUnits.properties |
---|
58,6 → 58,8 |
courseunit.S2=2ª Semestre |
courseunit.ALL=Todos os Semestres |
courseunit.assignement.delivered.date=Data de Entrega |
courseunit.assignement.delivered.date.first.version=Data de Entrega da Primeira Versão |
courseunit.assignement.delivered.versions=Total de Versões Entregues |
courseunit.assignement.deliver.date=Data Limite de Entrega |
courseunit.assignement.deliver.type=Tipo de entrega |
courseunit.assignement.deliver.type.zipfile=Ficheiro Comprimido (ZIP) |
/impl/conf/app.properties |
---|
81,6 → 81,7 |
################################################## |
##Proxy Servers |
#If is an HTTP Server needs encoding config if FTP needs user pass config |
#This server is the server for unit contents, must be named ionline, it is hardcoded |
server.ionline=ftp://www.global.estgp.pt |
server.ionline.start.path= |
ionline.pass=baco |
/impl/src/java/jomm/utils/StringsUtils.java |
---|
30,19 → 30,30 |
public static String getFormatedText(String text) |
{ |
return getFormatedText(text,Integer.MAX_VALUE,Integer.MAX_VALUE); |
} |
public static String getFormatedText(String text, int maxlines, int maxLineSize) |
{ |
int linesCounter = 1; |
int lineSize = 0; |
if (text == null || text.trim().length() == 0) |
return ""; |
StringBuilder finalFormatedText = new StringBuilder(); |
boolean newLine = true; |
for (int i = 0; i < text.length(); i++) |
for (int i = 0; i < text.length() && linesCounter < maxlines; i++) |
{ |
lineSize++; |
if (newLine && text.charAt(i) == ' ') |
{ |
finalFormatedText.append(" "); |
} |
else if (text.charAt(i) == '\n') |
{ |
linesCounter++; |
lineSize = 0; |
finalFormatedText.append("<br>"); |
newLine = true; |
} |
63,6 → 74,13 |
finalFormatedText.append(text.charAt(i)); |
newLine = false; |
} |
/*Line Size Simulation*/ |
if(lineSize > maxLineSize) |
{ |
linesCounter++; |
lineSize = 0; |
} |
} |
return finalFormatedText.toString(); |
} |
/impl/src/java/jomm/web/ftp/impl/FtpFile.java |
---|
46,7 → 46,7 |
this.lastUpdate = ftpFile.getTimestamp().getTime(); |
this.name = ftpFile.getName(); |
this.directory = ftpFile.isDirectory(); |
this.size = ftpFile.getSize(); |
this.size = ftpFile.getSize() / 1024; |
if(name.lastIndexOf('.')>=0) |
this.extension = name.substring(name.lastIndexOf('.')); |
if (ftpFile.getType() == FTPFile.DIRECTORY_TYPE) |
/impl/src/java/pt/estgp/estgweb/services/courseunits/CourseUnitWorkService.java |
---|
10,6 → 10,7 |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.services.expceptions.ServiceException; |
import pt.estgp.estgweb.services.data.RepositoryService; |
import pt.estgp.estgweb.services.data.IRepositoryFile; |
import pt.estgp.estgweb.services.blogs.CreateBlogService; |
import pt.estgp.estgweb.services.email.SendEmailService; |
import pt.estgp.estgweb.services.email.EMAILJob; |
220,7 → 221,10 |
CourseUnitAssignementView courseUnitAssignementView = new CourseUnitAssignementView(assignement,assignement.getDeliverables().size()); |
for(CourseUnitDeliverable d: assignement.getDeliverables()) |
{ |
views.add(new CourseUnitDeliverableView(d,courseUnitAssignementView)); |
CourseUnitDeliverableView c = new CourseUnitDeliverableView(d,courseUnitAssignementView); |
views.add(c); |
RepositoryFileImpl repositoryFile = repositoryService.loadView(d.getDeliverableRepositoryStream()); |
c.setVersions(new ArrayList<RepositoryFileVersion>(repositoryFile.getRepositoryFileVersions())); |
} |
courseUnitAssignementView.setDeliverables(views); |
courseUnitAssignementView.setCourseUnitView(new CourseUnitView(assignement.getCourseUnit())); |
/impl/src/java/pt/estgp/estgweb/services/common/impl/DefaultResult.java |
---|
1,6 → 1,7 |
package pt.estgp.estgweb.services.common.impl; |
import pt.estgp.estgweb.services.common.IResult; |
import jomm.utils.StringsUtils; |
/** |
* @author Jorge Machado |
79,6 → 80,13 |
return text; |
} |
public String getTextSummary() |
{ |
if(text!=null) |
return StringsUtils.getFragment(text,300); |
return null; |
} |
public String getUrl() { |
return url; |
} |
/impl/src/java/pt/estgp/estgweb/services/common/CommonServicesManager.java |
---|
142,7 → 142,9 |
{ |
DefaultResult defaultResult = (DefaultResult) result; |
if(defaultResult.getBestFragments() == null || defaultResult.getBestFragments().trim().length() == 0) |
{ |
defaultResult.setBestFragments(LuceneUtils.doStandardHighlights(defaultResult.getText(), query, SEARCH_FRAGMENT_SIZE, SEARCH_MAX_FRAGMENTS)); |
} |
if (!defaultResult.isTitleKey()) |
{ |
String title = defaultResult.getTitle(); |
165,6 → 167,15 |
if (defaultResult.getText() == null || defaultResult.getText().length() == 0) |
defaultResult.setText(text); |
} |
if(defaultResult.getCreator() != null && defaultResult.getCreator().trim().length() > 0) |
{ |
String creator = defaultResult.getCreator(); |
defaultResult.setCreator(LuceneUtils.highlight(defaultResult.getCreator(), query)); |
if (defaultResult.getCreator() == null || defaultResult.getCreator().length() == 0) |
defaultResult.setCreator(creator); |
} |
} |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/common/IResult.java |
---|
17,6 → 17,7 |
public boolean isSubTitleKey(); |
public String getBestFragments(); |
public String getText(); |
public String getTextSummary(); |
public boolean isTextKey(); |
public String getUrl(); |
public boolean isAbsoluteUrl(); |
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/BlogDaoImpl.java |
---|
120,16 → 120,18 |
public int countBlogs(String query, SearchTypeEnum searchType, List<String> roles, Object o, boolean internal) |
{ |
Criterion c = DaoUtils.createSearchQuery(query,searchType,"description","title"); |
Criterion c = DaoUtils.createSearchQuery(query,searchType,"description","title","o.name"); |
Criteria criteria = createRestrictionsCriteria(roles, internal); |
criteria.createAlias("owner","o"); |
criteria.add(c); |
return criteria.list().size(); |
} |
public List<Blog> searchBlogs(String query, SearchTypeEnum searchTypeEnum, int maxBlogs, int page, List<String> roles, boolean internal) |
{ |
Criterion c = DaoUtils.createSearchQuery(query, searchTypeEnum, "description", "title"); |
Criterion c = DaoUtils.createSearchQuery(query, searchTypeEnum, "description", "title","o.name"); |
Criteria criteria = createRestrictionsCriteria(roles, internal); |
criteria.createAlias("owner","o"); |
criteria.add(c) |
.setMaxResults(maxBlogs) |
.setFirstResult(page * maxBlogs); |
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/BlogPostDaoImpl.java |
---|
125,16 → 125,18 |
public int countBlogPosts(String query, SearchTypeEnum searchType, List<String> roles, Object o, boolean internal) |
{ |
Criterion c = DaoUtils.createSearchQuery(query,searchType,"text","title"); |
Criterion c = DaoUtils.createSearchQuery(query,searchType,"text","title","o.name"); |
Criteria criteria = createRestrictionsCriteria(roles, internal); |
criteria.createAlias("owner","o"); |
criteria.add(c); |
return criteria.list().size(); |
} |
public List<BlogPost> searchBlogPosts(String query, SearchTypeEnum searchTypeEnum, int maxBlogs, int page, List<String> roles, boolean internal) |
{ |
Criterion c = DaoUtils.createSearchQuery(query, searchTypeEnum, "text", "title"); |
Criterion c = DaoUtils.createSearchQuery(query, searchTypeEnum, "text", "title","o.name"); |
Criteria criteria = createRestrictionsCriteria(roles, internal); |
criteria.createAlias("owner","o"); |
criteria.add(c) |
.setMaxResults(maxBlogs) |
.setFirstResult(page * maxBlogs); |
/impl/src/java/pt/estgp/estgweb/domain/dao/DaoUtils.java |
---|
44,6 → 44,36 |
return c; |
} |
public static Criterion createSearchQuery(String query, SearchTypeEnum searchTypeEnum, String field1, String field2,String field3) |
{ |
Criterion c = null; |
if (searchTypeEnum == SearchTypeEnum.ExactPhrase) |
c = or(or(like(field1, "%" + query + "%"), like(field2, "%" + query + "%")),like(field3, "%" + query + "%")); |
else if (searchTypeEnum == SearchTypeEnum.AllWords) |
{ |
String[] fields = query.trim().split(" "); |
for (String field : fields) |
{ |
if (c == null) |
c = or(or(like(field1, "%" + field + "%"), like(field2, "%" + field + "%")),like(field3, "%" + field + "%")); |
else |
c = and(c, or(or(like(field1, "%" + field + "%"), like(field2, "%" + field + "%")),like(field3, "%" + field + "%"))); |
} |
} |
else |
{ |
String[] fields = query.trim().split(" "); |
for (String field : fields) |
{ |
if (c == null) |
c = or(or(like(field1, "%" + field + "%"), like(field2, "%" + field + "%")),like(field3, "%" + field + "%")); |
else |
c = or(c, or(or(like(field1, "%" + field + "%"), like(field2, "%" + field + "%")), like(field3, "%" + field + "%"))); |
} |
} |
return c; |
} |
public static Criterion createSearchQuery(String query, SearchTypeEnum searchTypeEnum, String field1) |
{ |
Criterion c = null; |
/impl/src/java/pt/estgp/estgweb/domain/views/UserView.java |
---|
264,8 → 264,13 |
public void persistViewInObjectUser(User user) |
{ |
user.setName(name); |
user.setAddress(address); |
user.setZip(zip); |
user.setCountry(country); |
user.setEmail(email); |
user.setPhonenumber(phonenumber); |
user.setOutEmail(outEmail); |
user.setPop3server(pop3server); |
user.setPop3username(pop3username); |
if(pop3password != null && pop3password.length()> 0) |
273,9 → 278,12 |
user.setSkype(skype); |
user.setGmail(gmail); |
user.setMsn(msn); |
user.setPhonenumber(phonenumber); |
user.setAddress(address); |
user.setZip(zip); |
user.setOffice(office); |
user.setExt(ext); |
user.setScholarDegree(scholarDegree); |
if(user.getPassword() != null && user.getPassword().length() > 0 && password != null && password.length() > 0) |
{ |
user.setPassword(BytesUtils.getDigestMD5Hex(password)); |
/impl/src/java/pt/estgp/estgweb/domain/views/utils/CourseUnitDeliverableComparator.java |
---|
New file |
0,0 → 1,49 |
package pt.estgp.estgweb.domain.views.utils; |
import pt.estgp.estgweb.domain.RepositoryFileVersion; |
import pt.estgp.estgweb.domain.views.CourseUnitDeliverableView; |
import java.util.Comparator; |
/** |
* @author Jorge Machado |
* @date 15/Dez/2009 |
* @time 18:15:22 |
* @email machadofisher@gmail.com |
*/ |
public class CourseUnitDeliverableComparator implements Comparator<CourseUnitDeliverableView> { |
public static CourseUnitDeliverableComparator FIRST_VERSION_DESC = new CourseUnitDeliverableComparator(true,true); |
public static CourseUnitDeliverableComparator FIRST_VERSION_ASC = new CourseUnitDeliverableComparator(false,true); |
public static CourseUnitDeliverableComparator LAST_VERSION_DESC = new CourseUnitDeliverableComparator(true,false); |
public static CourseUnitDeliverableComparator LAST_VERSION_ASC = new CourseUnitDeliverableComparator(false,false); |
int sort; |
boolean first; |
private CourseUnitDeliverableComparator(boolean desc, boolean first) |
{ |
if(desc) |
sort = 1; |
else |
sort = -1; |
this.first = first; |
} |
public int compare(CourseUnitDeliverableView o1, CourseUnitDeliverableView o2) |
{ |
if(!first) |
{ |
if(o1.getDeliverDate().getTime() < o2.getDeliverDate().getTime()) return 1 * sort; |
else if(o1.getDeliverDate().getTime() < o2.getDeliverDate().getTime()) return -1 * sort; |
else return 0; |
} |
else |
{ |
if(o1.getVersions().get(0).getSaveDate().getTime() < o2.getVersions().get(0).getSaveDate().getTime()) return 1 * sort; |
else if(o1.getVersions().get(0).getSaveDate().getTime() < o2.getVersions().get(0).getSaveDate().getTime()) return -1 * sort; |
else return 0; |
} |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/views/utils/RepositoryFileVersionComparator.java |
---|
New file |
0,0 → 1,35 |
package pt.estgp.estgweb.domain.views.utils; |
import pt.estgp.estgweb.domain.RepositoryFileVersion; |
import java.util.Comparator; |
/** |
* @author Jorge Machado |
* @date 15/Dez/2009 |
* @time 18:15:22 |
* @email machadofisher@gmail.com |
*/ |
public class RepositoryFileVersionComparator implements Comparator<RepositoryFileVersion> { |
public static RepositoryFileVersionComparator DESC = new RepositoryFileVersionComparator(true); |
public static RepositoryFileVersionComparator ASC = new RepositoryFileVersionComparator(false); |
int sort; |
private RepositoryFileVersionComparator(boolean desc) |
{ |
if(desc) |
sort = 1; |
else |
sort = -1; |
} |
public int compare(RepositoryFileVersion o1, RepositoryFileVersion o2) |
{ |
if(o1.getSaveDate().getTime() < o2.getSaveDate().getTime()) return 1 * sort; |
else if(o1.getSaveDate().getTime() < o2.getSaveDate().getTime()) return -1 * sort; |
else return 0; |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/views/BlogPostView.java |
---|
29,6 → 29,7 |
private String text; |
private Image image; |
private GenericUser owner; |
private long ownerId; |
private String ownerUsername; |
private String ownerName; |
private String ownerEmail; |
52,6 → 53,7 |
this.id = blogPost.getId(); |
this.owner = blogPost.getOwner(); |
ownerUsername = owner.getUsername(); |
ownerId = owner.getId(); |
ownerName = owner.getName(); |
ownerEmail = owner.getEmail(); |
this.blogId = blogPost.getBlog().getId(); |
203,6 → 205,11 |
return ownerUsername; |
} |
public long getOwnerId() |
{ |
return ownerId; |
} |
public String getOwnerName() |
{ |
return ownerName; |
/impl/src/java/pt/estgp/estgweb/domain/views/AnnouncementView.java |
---|
371,6 → 371,16 |
return StringsUtils.getFormatedText(text); |
} |
public String getFormatedTextSummary(int maxLines, int maxLineSize) |
{ |
return StringsUtils.getFormatedText(getText(),maxLines, maxLineSize); |
} |
public Boolean getFormatedTextBiggerThenPermited(int maxLines, int maxLineSize) |
{ |
return StringsUtils.getFormatedText(getText()).length() > StringsUtils.getFormatedText(getText(),maxLines, maxLineSize).length(); |
} |
public Boolean getTextBiggerThenPermited() |
{ |
if(getInternalUrlPath() != null && getInternalUrlPath().trim().length()>0) |
/impl/src/java/pt/estgp/estgweb/domain/views/CourseUnitDeliverableView.java |
---|
1,13 → 1,15 |
package pt.estgp.estgweb.domain.views; |
import pt.estgp.estgweb.domain.CourseUnitAssignement; |
import pt.estgp.estgweb.domain.CourseUnitAssignementImpl; |
import pt.estgp.estgweb.domain.CourseUnitDeliverableImpl; |
import pt.estgp.estgweb.domain.CourseUnitDeliverable; |
import pt.estgp.estgweb.domain.*; |
import pt.estgp.estgweb.domain.views.utils.RepositoryFileVersionComparator; |
import pt.estgp.estgweb.web.utils.DatesUtils; |
import pt.estgp.estgweb.services.data.RepositoryService; |
import pt.estgp.estgweb.services.data.IRepositoryFile; |
import java.io.Serializable; |
import java.util.Date; |
import java.util.List; |
import java.util.Collections; |
/** |
* @author Jorge Machado |
22,9 → 24,13 |
private String fileStreamId; |
private Date deliverDate; |
private String deliverDateStr; |
private String deliverDateMinutesSecondsStr; |
private String deliverDateStrFirstVersion; |
private String deliverDateMinutesSecondsStrFirstVersion; |
private UserView student; |
private String grade; |
private String obs; |
private List<RepositoryFileVersion> versions; |
private CourseUnitDeliverable courseUnitDeliverable; |
private CourseUnitAssignementView courseUnitAssignementView; |
55,6 → 61,7 |
this.fileStreamId = courseUnitDeliverable.getDeliverableRepositoryStream(); |
this.deliverDate = courseUnitDeliverable.getDeliverDate(); |
this.deliverDateStr = DatesUtils.getStringFromDate(deliverDate); |
this.deliverDateMinutesSecondsStr = DatesUtils.getStringFromDateWithMinutesAndSeconds(getDeliverDate()); |
//if is null will create a userview even if deleted |
this.student = new UserView(courseUnitDeliverable.getStudent()); |
if(this.student.isDeleted() && courseUnitDeliverable.getStudentId() > 0) |
106,6 → 113,40 |
} |
public String getDeliverDateMinutesSecondsStrFirstVersion() { |
return deliverDateMinutesSecondsStrFirstVersion; |
} |
public List<RepositoryFileVersion> getVersions() { |
return versions; |
} |
public int getVersionsSize() { |
if(versions == null) |
return 0; |
return versions.size(); |
} |
public void setVersions(List<RepositoryFileVersion> versions) |
{ |
this.versions = versions; |
if(versions != null) |
{ |
Collections.sort(versions, RepositoryFileVersionComparator.DESC); |
deliverDateStrFirstVersion = DatesUtils.getStringFromDate(versions.get(0).getSaveDate()); |
deliverDateMinutesSecondsStrFirstVersion = DatesUtils.getStringFromDateWithMinutesAndSeconds(versions.get(0).getSaveDate()); |
} |
} |
public String getDeliverDateMinutesSecondsStr() { |
return deliverDateMinutesSecondsStr; |
} |
public String getDeliverDateStrFirstVersion() { |
return deliverDateStrFirstVersion; |
} |
public String getObs() |
{ |
return obs; |
157,6 → 198,11 |
this.deliverDateStr = deliverDateStr; |
} |
public String getDeliverDateStrMinutesSeconds() |
{ |
return deliverDateMinutesSecondsStr; |
} |
private static final long milisecondsof24Hours=24*60*60*1000; |
public boolean isLateDeliver() |
/impl/src/java/pt/estgp/estgweb/domain/views/CourseUnitView.java |
---|
9,6 → 9,8 |
import java.io.Serializable; |
import java.util.*; |
import jomm.utils.StringsUtils; |
/** |
* @author Jorge Machado |
* @date 2/Mar/2008 |
279,6 → 281,11 |
return objectives; |
} |
public String getFormatedObjectives() |
{ |
return StringsUtils.getFormatedText(objectives); |
} |
public void setObjectives(String objectives) |
{ |
this.objectives = objectives; |
/impl/src/java/pt/estgp/estgweb/web/utils/DatesUtils.java |
---|
19,6 → 19,7 |
private static final Logger logger = Logger.getLogger(DatesUtils.class); |
private static SimpleDateFormat minutesSecondsDateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); |
private static SimpleDateFormat filenameDateFormat = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss"); |
private static SimpleDateFormat userViewDateFormat = new SimpleDateFormat("yyyy/MM/dd"); |
29,6 → 30,13 |
return userViewDateFormat.format(d); |
} |
public static String getStringFromDateWithMinutesAndSeconds(Date d) |
{ |
if(d == null) |
return ""; |
return minutesSecondsDateFormat.format(d); |
} |
public static String getStringFromDateForFilename(Date d) |
{ |
if(d == null) |
/impl/src/java/pt/estgp/estgweb/web/form/blogs/BlogForm.java |
---|
100,9 → 100,9 |
addMessageWithKeys(errors, httpServletRequest, "errors.required", "blog.description"); |
if(blogView.getName()!=null) |
blogView.setName(blogView.getName().trim()); |
if(blogView.getName() == null || !StringsUtils.checkLetters09AZazHiffenUnderScore(blogView.getName())) |
if(blogView.getName() != null && blogView.getName().trim().length() > 0 && !StringsUtils.checkLetters09AZazHiffenUnderScore(blogView.getName())) |
addMessage(errors, httpServletRequest, "blog.bad.name"); |
else |
else if(blogView.getName() != null && blogView.getName().trim().length() > 0) |
{ |
IServiceManager sm; |
try |
120,7 → 120,8 |
addMessage(errors, httpServletRequest, "error.500"); |
} |
} |
}else if(blogView.getName() != null && blogView.getName().trim().length() == 0) |
blogView.setName(null); |
return errors; |
} |
/impl/src/doc/baco.ppt |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/impl/src/web/css/style.css |
---|
202,7 → 202,7 |
} |
#content h2 a { |
font-size: 0.8em; |
font-size: 1em; |
} |
#content h2 { |
/impl/src/web/js/ajax.js |
---|
206,7 → 206,9 |
var objXmlHttp = null; |
if (navigator.userAgent.indexOf("Opera")>=0) |
{ |
alert("This example doesn't work in Opera") ; |
objXmlHttp=new XMLHttpRequest(); |
objXmlHttp.onload=handler; |
objXmlHttp.onerror=handler; |
return objXmlHttp; |
} |
if (navigator.userAgent.indexOf("MSIE")>=0) |
/impl/src/web/layout/searchForm.jsp |
---|
39,7 → 39,7 |
%> |
<td class="searchTab"> |
<html:form action="/search" method="post"> |
<input type="hidden" name="from" value="home"/> |
<!--<input type="hidden" name="from" value="home"/>--> |
<input type="hidden" name="dispatch" value="search"/> |
<table> |
<tr> |
79,7 → 79,7 |
%> |
<html:form action="/search" method="post"> |
<input type="hidden" name="dispatch" value="search"/> |
<input type="hidden" name="from" value="intranet"/> |
<input type="hidden" name="from" value="Home"/> |
<div class="searchTab"> |
<html:image page="/imgs/lupa.gif" altKey="search"/><input type="text" class="small" name="query" value="<%=query%>"/> <input type="submit" value=">>"> |
</div> |
90,4 → 90,4 |
%> |
</baco:isModuleOn> |
</baco:isModuleOn> |
/impl/src/web/public/search/searchResults.jsp |
---|
253,7 → 253,13 |
<logic:notEmpty name="result" property="creator"> |
<p><b><bean:message key="search.result.creator"/>:</b> ${result.creator}</p> |
</logic:notEmpty> |
<p class="fragments">${result.bestFragments}</p> |
<logic:empty name="result" property="bestFragments"> |
<p class="fragments">${result.text}</p> |
</logic:empty> |
<logic:notEmpty name="result" property="bestFragments"> |
<p class="fragments">${result.bestFragments}</p> |
</logic:notEmpty> |
<logic:notEmpty name="result" property="directory"> |
<p class="smallGreen">${result.directory}</p> |
<p> <bean:message key="srusource.filter.dirs"/> : |
/impl/src/web/public/search/searchResultsModule.jsp |
---|
69,7 → 69,12 |
<logic:notEmpty name="result" property="creator"> |
<p><b><bean:message key="search.result.creator"/>:</b> ${result.creator}</p> |
</logic:notEmpty> |
<p class="fragments">${result.bestFragments}</p> |
<logic:empty name="result" property="bestFragments"> |
<p class="fragments">${result.text}</p> |
</logic:empty> |
<logic:notEmpty name="result" property="bestFragments"> |
<p class="fragments">${result.bestFragments}</p> |
</logic:notEmpty> |
<logic:notEmpty name="result" property="directory"> |
<p class="smallGreen">${result.directory}</p> |
<p> <bean:message key="srusource.filter.dirs"/> : |
/impl/src/web/public/blogs/blog.jsp |
---|
189,7 → 189,7 |
</tr> |
<tr> |
<td colspan="2" class="pFooter"> |
Posted by: (${post.ownerUsername}) ${post.ownerName} [AT] ${post.formatedSaveDate} |
Posted by: <html:link page="/startProfile.do?userView.id=${post.ownerId}">(${post.ownerUsername}) ${post.ownerName}</html:link> [AT] ${post.formatedSaveDate} |
</td> |
</tr> |
</baco:canLoad> |
229,11 → 229,15 |
<% |
String identifier = "" + BlogView.getId(); |
if(BlogView.getName() != null && BlogView.getName().length() > 0) |
identifier = BlogView.getName(); |
{ identifier = BlogView.getName(); |
%> |
<a href="<%=request.getContextPath()%>/blog/<%=identifier%>"> |
<%=Globals.SITE_URL + "/blog/" + identifier%> |
</a> |
<% |
} |
%> |
<bean:message key="blog.owner"/> |
<a href="mailto:${BlogView.ownerEmail}">${BlogView.owner.name}</a> |
<bean:message key="at"/> |
/impl/src/web/public/announcements/getFlashNews.jsp |
---|
26,20 → 26,21 |
<table class="container"> |
<tr> |
<td class="textContainer"> |
<%if(announcementView.getUrl()==null) |
<% |
if(announcementView.getUrl()==null) |
{%> |
<h2><a href="<%=request.getContextPath()%>/loadAnnouncement.do?id=<%=announcementView.getId()%>&dispatch=load"><%=announcementView.getTitle()%></a></h2> |
<p><a href="<%=request.getContextPath()%>/loadAnnouncement.do?id=<%=announcementView.getId()%>&dispatch=load"><%=announcementView.getTextSummary()%></a></p> |
<p><a href="<%=request.getContextPath()%>/loadAnnouncement.do?id=<%=announcementView.getId()%>&dispatch=load"><%=announcementView.getFormatedTextSummary(10,150)%> ... </a></p> |
<%} |
else if (!announcementView.getTextBiggerThenPermited()) |
else if (!announcementView.getFormatedTextBiggerThenPermited(10,150)) |
{%> |
<h2><a href="<%=announcementView.getUrl()%>"><%=announcementView.getTitle()%></a></h2> |
<p><a href="<%=announcementView.getUrl()%>"><%=announcementView.getText()%></a></p> |
<p><a href="<%=announcementView.getUrl()%>"><%=announcementView.getFormatedText()%></a></p> |
<%} |
else |
{%> |
<h2><a href="<%=request.getContextPath()%>/loadAnnouncement.do?id=<%=announcementView.getId()%>&dispatch=load"><%=announcementView.getTitle()%></a></h2> |
<p><a href="<%=request.getContextPath()%>/loadAnnouncement.do?id=<%=announcementView.getId()%>&dispatch=load"><%=announcementView.getTextSummary()%></a></p> |
<p><a href="<%=request.getContextPath()%>/loadAnnouncement.do?id=<%=announcementView.getId()%>&dispatch=load"><%=announcementView.getFormatedTextSummary(10,150)%> ... </a></p> |
<%}%> |
</td> |
<td class="imageContainer"> |
/impl/src/web/public/announcements/loadAnnouncement.jsp |
---|
55,6 → 55,9 |
</html:link> |
</baco:canManage> |
</h2> |
<logic:notEmpty name="Announcement" property="url"> |
<p>URL: <html:link page="${Announcement.url}"><script type="text/javascript">document.write((""+document.location).substr(0,(""+document.location).lastIndexOf("/")));</script>${Announcement.url}</html:link></p> |
</logic:notEmpty> |
<% |
AnnouncementStyleEnum styleEnum = Announcement.getStyleEnum(); |
77,6 → 80,7 |
%> |
<p> |
<div class="imageAnnouncement"> |
<% |
308,7 → 312,9 |
</tr> |
<logic:notEmpty name="Announcement" property="url"> |
<tr> |
<td colspan="2"> >> <html:link href="${Announcement.url}">${Announcement.url}</html:link></td> |
<td colspan="2"> |
URL: <html:link page="${Announcement.url}"><script type="text/javascript">document.write((""+document.location).substr(0,(""+document.location).lastIndexOf("/")));</script>${Announcement.url}</html:link> |
</td> |
</tr> |
</logic:notEmpty> |
<tr> |
/impl/src/web/user/courseunits/courseunitassignement.jsp |
---|
1,6 → 1,8 |
<%@ page import="pt.estgp.estgweb.domain.Teacher" %> |
<%@ page import="pt.estgp.estgweb.domain.TeacherImpl" %> |
<%@ page import="jomm.utils.MessageResources" %> |
<%@ page import="java.util.Collections" %> |
<%@ page import="pt.estgp.estgweb.domain.views.utils.CourseUnitDeliverableComparator" %> |
<%@ page contentType="text/html;charset=UTF-8" language="java" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %> |
95,15 → 97,72 |
</logic:notEmpty> |
</table> |
</div> |
<bean:define id="orderFirst" type="java.lang.String" scope="request" value=""/> |
<bean:define id="orderLast" type="java.lang.String" scope="request" value=""/> |
<% |
// String orderFirst = ""; |
// String orderLast = ""; |
if (request.getParameter("sort") != null) { |
String sortBy = request.getParameter("sort"); |
if (sortBy.equals("firstAsc")) |
{ |
Collections.sort(CourseUnitAssignementView.getDeliverables(), CourseUnitDeliverableComparator.FIRST_VERSION_ASC); |
%> |
<bean:define id="orderFirst" type="java.lang.String" scope="request" value="firstDesc"/> |
<bean:define id="orderLast" type="java.lang.String" scope="request" value="lastAsc"/> |
<% |
} |
else if (sortBy.equals("firstDesc")) |
{ |
Collections.sort(CourseUnitAssignementView.getDeliverables(), CourseUnitDeliverableComparator.FIRST_VERSION_DESC); |
%> |
<bean:define id="orderFirst" type="java.lang.String" scope="request" value="firstAsc"/> |
<bean:define id="orderLast" type="java.lang.String" scope="request" value="lastAsc"/> |
<% |
} |
else if (sortBy.equals("lastAsc")) |
{ |
Collections.sort(CourseUnitAssignementView.getDeliverables(), CourseUnitDeliverableComparator.LAST_VERSION_ASC); |
%> |
<bean:define id="orderLast" type="java.lang.String" scope="request" value="lastDesc"/> |
<bean:define id="orderFirst" type="java.lang.String" scope="request" value="firstAsc"/> |
<% |
} |
else if (sortBy.equals("lastDesc")) |
{ |
Collections.sort(CourseUnitAssignementView.getDeliverables(), CourseUnitDeliverableComparator.LAST_VERSION_DESC); |
%> |
<bean:define id="orderLast" type="java.lang.String" scope="request" value="lastAsc"/> |
<bean:define id="orderFirst" type="java.lang.String" scope="request" value="firstAsc"/> |
<% |
} |
else |
{ |
%> |
<bean:define id="orderFirst" type="java.lang.String" scope="request" value="firstAsc"/> |
<bean:define id="orderLast" type="java.lang.String" scope="request" value="lastAsc"/> |
<% |
} |
} |
%> |
<nested:form action="/user/courseUnitControllerFromHome"> |
<input type="hidden" name="dispatch" value="updateDeliverables"> |
<html:hidden property="courseUnitAssignementView.id" value="${CourseUnitAssignementView.id}"/> |
<html:hidden property="courseUnitView.id" value="${CourseUnitView.id}"/> |
<a name="works"/> |
<table class="dataTable"> |
<tr> |
<th><bean:message key="courseunit.assignement.delivered.date"/></th> |
<th><bean:message key="courseunit.assignement.delivered.versions"/></th> |
<th><html:link action="/user/startLoadCourseUnitAssignementFromHome?courseUnitAssignementView.id=${CourseUnitAssignementView.id}&sort=${orderFirst}#works"><bean:message key="courseunit.assignement.delivered.date.first.version"/></html:link></th> |
<th><html:link action="/user/startLoadCourseUnitAssignementFromHome?courseUnitAssignementView.id=${CourseUnitAssignementView.id}&sort=${orderLast}#works"><bean:message key="courseunit.assignement.delivered.date"/></html:link></th> |
<th><bean:message key="courseunit.assignement.deliver.time"/></th> |
<th><bean:message key="number"/></th> |
<th><bean:message key="name"/></th> |
113,7 → 172,18 |
</tr> |
<nested:iterate id="deliverable" property="courseUnitAssignementView.deliverables" type="pt.estgp.estgweb.domain.views.CourseUnitDeliverableView"> |
<tr> |
<td>${deliverable.deliverDateStr} </td> |
<td align="right"> |
<a href="javascript:showOrHideOne('work${deliverable.id}')">${deliverable.versionsSize}</a> |
<div id="work${deliverable.id}" style="display:none;"> |
<nested:iterate id="version" name="deliverable" property="versions" type="pt.estgp.estgweb.domain.RepositoryFileVersion"> |
- <bean:message key="courseunit.assignement.deliver.version"/> (${version.saveDate}) <br/> |
</nested:iterate> |
</div> |
</td> |
<td nowrap="nowrap" align="center">${deliverable.deliverDateMinutesSecondsStrFirstVersion} </td> |
<td nowrap="nowrap" align="center">${deliverable.deliverDateStrMinutesSeconds} </td> |
<logic:equal name="deliverable" property="lateDeliver" value="true"> |
<td class="statusERROR"> |
<bean:message key="courseunit.assignement.deliver.time.late"/> |
126,7 → 196,7 |
</logic:notEqual> |
<td align="right">${deliverable.student.code}</td> |
<td>${deliverable.student.name}</td> |
<td><a target="_blank" href="<%=request.getContextPath()%>/repositoryStream/${deliverable.fileStreamId}"><bean:message key="courseunit.assignement.deliver.version"/> (${deliverable.deliverDateStr})</a></td> |
<td><a target="_blank" href="<%=request.getContextPath()%>/repositoryStream/${deliverable.fileStreamId}"><bean:message key="courseunit.assignement.deliver.version"/> (${deliverable.deliverDateMinutesSecondsStr})</a></td> |
<td> |
<nested:hidden property="id"/> |
<nested:text property="grade"/> |
/impl/src/web/user/courseunits/courseunit.jsp |
---|
39,7 → 39,7 |
<p> |
<baco:cantManage name="CourseUnitView"> |
<logic:present name="CourseUnitView" property="objectives"> |
${CourseUnitView.objectives} |
${CourseUnitView.formatedObjectives} |
</logic:present> |
<logic:notPresent name="CourseUnitView" property="objectives"> |
<bean:message key="courseunit.objectives.not.available"/> |