Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions ProductGeneration/ck.xml
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,20 @@
<args>visit</args>
</transformation>
</configuration>
<configuration>
<expression>removeMultiplesArticles</expression>
<transformation>
<name>createBuildEntries</name>
<args>removeMultiplesArticles</args>
</transformation>
</configuration>
<configuration>
<expression>filterArticlesByAuthor</expression>
<transformation>
<name>createBuildEntries</name>
<args>filterArticlesByAuthor</args>
</transformation>
</configuration>
<configuration>
<expression>rgms</expression>
<transformation>
Expand Down Expand Up @@ -369,6 +383,13 @@
<args>listPeriodico,grails-app/views/periodico/list.gsp</args>
</transformation>
</configuration>
<configuration>
<expression>Article</expression>
<transformation>
<name>preprocessFiles</name>
<args>grails-app/views/periodico/list.gsp</args>
</transformation>
</configuration>
<configuration>
<expression>Article</expression>
<transformation>
Expand Down
7 changes: 6 additions & 1 deletion ProductGeneration/featureModel.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,12 @@

<feature min="0" max="1" name="Autofill_Feature" type="NONE" id="Autofill"></feature>

<feature min="0" max="1" name="Article_Feature" type="NONE" id="Article"></feature>
<feature min="0" max="1" name="Article_Feature" type="NONE" id="Article">
<featureGroup min="0" max="2" id="subArticle">
<feature min="0" max="1" name="RemoveMultiplesArticles" type="NONE" id="removeMultiplesArticles"></feature>
<feature min="0" max="1" name="FilterArticlesByAuthor" type="NONE" id="filterArticlesByAuthor"></feature>
</featureGroup>
</feature>

<feature min="0" max="1" name="Generate_Website" type="NONE" id="Website">
<featureGroup min="0" max="3" id="group1">
Expand Down
43 changes: 43 additions & 0 deletions grails-app/controllers/rgms/publication/PeriodicoController.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -191,5 +191,48 @@ class PeriodicoController {
render(journalsFound as JSON)
}
//#end

//#if($FilterArticlesByAuthor)
def filterByAuthor() {
params.max = Math.min(params.max ? params.int('max') : 10, 100)
def articles = Periodico.list(params)
def authorName = params.authorName
if(authorName!="")
articles = articles.findAll{it.authors.contains(authorName)}
render(view: "list", model: [periodicoInstanceList: articles, periodicoInstanceTotal: articles.size()])
}
//#end

//#if($RemoveMultiplesArticles)
def deleteMultiples() {
def instancesId = params?.check
if (instancesId) {
if (instancesId.toString().indexOf("]") > 0 ) {
deletingFromMultipleSelectedCheckboxes(instancesId)
} else {
deletingFromUniqueSelectedCheckbox(instancesId)
}
}else {
flash.message = message(code: 'default.not.selected.message')
}
redirect(action: "list")
}

private def deletingFromMultipleSelectedCheckboxes(instancesId){
for (String instanceid: instancesId) {
Periodico periodicoInstance = Periodico.get(Long.parseLong(instanceid))
periodicoInstance.removeFromPublications()
periodicoInstance.discardMembers()
periodicoInstance.discard()
periodicoInstance?.delete(flush: true)
}
}

private def deletingFromUniqueSelectedCheckbox(instancesId){
def periodicoInstance = Periodico.get(Long.parseLong(instancesId))
periodicoInstance.removeFromPublications()
periodicoInstance?.delete(flush: true)
}
//#end
}
//#end
4 changes: 3 additions & 1 deletion grails-app/domain/rgms/publication/Publication.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,9 @@ abstract class Publication {
researchLine nullable: true, blank: true
authors nullable: true, blank: true
}


static mapping = { members lazy:false }

//#if($Bibtex)
abstract String generateBib()
//#end
Expand Down
2 changes: 2 additions & 0 deletions grails-app/i18n/messages.properties
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ default.deleted.message={0} {1} deleted
default.not.deleted.message={0} {1} could not be deleted
default.not.found.message={0} not found with id {1}
default.optimistic.locking.failure=Another user has updated this {0} while you were editing
default.not.selected.message=No item selected

default.home.label=Home
default.list.label={0} List
Expand All @@ -43,6 +44,7 @@ default.button.update.label=Update
default.button.delete.label=Delete
default.button.list.label = List
default.button.delete.confirm.message=Are you sure?
default.button.search.label=Search


typeMismatch.java.net.URL=Property {0} must be a valid URL
Expand Down
3 changes: 3 additions & 0 deletions grails-app/i18n/messages_pt_BR.properties
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ default.deleted.message={0} {1} removido
default.not.deleted.message={0} {1} não pode ser removido
default.not.found.message={0} não foi encontrado com id {1}
default.optimistic.locking.failure=Outro usuário atualizou este [{0}] enquanto você tentou salvá-lo
default.not.selected.message=Nenhum item foi selecionado

default.home.label=Principal
default.list.label={0} Listagem
Expand All @@ -42,8 +43,10 @@ default.button.create.label=Criar
default.button.edit.label=Editar
default.button.update.label=Alterar
default.button.delete.label=Remover
default.button.delete.multiples.label=Remover Selecionados
default.button.list.label=Listagem
default.button.delete.confirm.message=Tem certeza?
default.button.search.label=Buscar


typeMismatch.java.net.URL=O campo {0} deve ser uma URL válida.
Expand Down
38 changes: 33 additions & 5 deletions grails-app/views/periodico/list.gsp
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
<!-- #if($Article) -->
<%@ page import="rgms.publication.Periodico" %>
<!doctype html>
<html>
Expand All @@ -13,25 +12,40 @@
default="Skip to content&hellip;"/></a>
<g:render template="navigation"/>
<!-- #if($XMLImp && $Journal) -->
<div class="xml" role="xmlUpload">
<div class="fieldcontain" role="xmlUpload">
<ul>
<g:form controller="XML" action="uploadXMLPeriodico" method="post" enctype="multipart/form-data">
<label for="file">Import XML:</label>
<label for="file">Import XML</label>
<input type="file" name="file" id="file"/>
<input class="save" type="submit" value="Upload"/>
</g:form>
</ul>
</div>
<!-- #end -->
<!-- #if($FilterArticlesByAuthor) -->
<div class="fieldcontain">
<ul>
<g:form action="filterByAuthor" method="post">
<label for="filter">${message(code: 'default.author.label', default: 'Author')}</label>
<input name="authorName" id="authorName" type="text">
<input name="buttonFilterByAuthor" class="save" type="submit" value="${message(code: 'default.button.search.label', default: 'Search')}"/>
</g:form>
</ul>
</div>
<!-- #end -->
<div id="list-periodico" class="content scaffold-list" role="main">
<g:form>
<h1><g:message code="default.list.label" args="[entityName]"/></h1>
<g:if test="${flash.message}">
<div class="message" role="status">${flash.message}</div>
</g:if>
<table>
<thead>
<tr>

<!-- #if($RemoveMultiplesArticles) -->
<th></th>
<!-- #end -->

<g:sortableColumn property="title" title="${message(code: 'periodico.title.label', default: 'Title')}"/>

<g:sortableColumn property="publicationDate"
Expand All @@ -53,6 +67,10 @@
<g:each in="${periodicoInstanceList}" status="i" var="periodicoInstance">
<tr class="${(i % 2) == 0 ? 'even' : 'odd'}">

<!-- #if($RemoveMultiplesArticles) -->
<td><g:checkBox name="check" value="${periodicoInstance.id}" checked="${false}"/></td>
<!-- #end -->

<td><g:link action="show"
id="${periodicoInstance.id}">${fieldValue(bean: periodicoInstance, field: "title")}</g:link></td>

Expand All @@ -74,7 +92,17 @@
<div class="pagination">
<g:paginate total="${periodicoInstanceTotal}"/>
</div>
<!-- #if($RemoveMultiplesArticles) -->
<g:if test="${periodicoInstanceTotal > 0}">
<fieldset class="buttons">
<g:hiddenField name="id" value="${periodicoInstance?.id}"/>
<g:actionSubmit id="removeMultiple" class="delete" action="deleteMultiples"
value="${message(code: 'default.button.delete.multiples.label', default: 'Delete Selected')}"
onclick="return confirm('${message(code: 'default.button.delete.confirm.message', default: 'Are you sure?')}');"/>
</fieldset>
</g:if>
<!-- #end -->
</g:form>
</div>
</body>
</html>
<!-- #end -->