Commit 1b60c137d8c3a559c74ee157265278f83bcfd529
Exists in
theme-brasil-digital-from-staging
and in
9 other branches
Merge branch 'serpro_api' into production
Showing
41 changed files
with
559 additions
and
279 deletions
Show diff stats
.travis.yml
... | ... | @@ -19,13 +19,6 @@ addons: |
19 | 19 | - libsqlite3-dev |
20 | 20 | - libxslt1-dev |
21 | 21 | |
22 | -before_install: | |
23 | -# FIXME: workaround while https://github.com/travis-ci/travis-ci/issues/4210 is open | |
24 | - - rm config/initializers/default_icon_theme.rb | |
25 | -# selenium support | |
26 | - - export DISPLAY=:99.0 | |
27 | - - sh -e /etc/init.d/xvfb start | |
28 | - | |
29 | 22 | before_script: |
30 | 23 | - mkdir -p tmp/pids log |
31 | 24 | - bundle check || bundle install | ... | ... |
AUTHORS.md
1 | +This list is automatically generated at release time. Please do not change it. | |
2 | + | |
1 | 3 | If you are not listed here, but should be, please write to the noosfero mailing |
2 | 4 | list: http://listas.softwarelivre.org/cgi-bin/mailman/listinfo/noosfero-dev |
3 | 5 | (this list requires subscription to post, but since you are an author of |
... | ... | @@ -6,280 +8,121 @@ noosfero, that's not a problem). |
6 | 8 | Developers |
7 | 9 | ========== |
8 | 10 | |
11 | +Ábner Silva de Oliveira <abner.oliveira@serpro.gov.br> | |
9 | 12 | Alan Freihof Tygel <alantygel@gmail.com> |
10 | -Alessandro Palmeira + Caio C. Salgado <alessandro.palmeira@gmail.com> | |
11 | -Alessandro Palmeira + Caio Salgado + Diego Araújo + João M. M. da Silva <diegoamc90@gmail.com> | |
12 | -Alessandro Palmeira + Caio Salgado <alessandro.palmeira@gmail.com> | |
13 | -Alessandro Palmeira + Caio Salgado <caio.csalgado@gmail.com> | |
14 | -Alessandro Palmeira + Carlos Morais <alessandro.palmeira@gmail.com> | |
15 | -Alessandro Palmeira + Daniel Alves + Diego Araújo + Guilherme Rojas <danpaulalves@gmail.com> | |
16 | -Alessandro Palmeira + Daniel Alves + Diego Araújo <diegoamc90@gmail.com> | |
17 | -Alessandro Palmeira + Daniel Alves <alessandro.palmeira@gmail.com> | |
18 | -Alessandro Palmeira + Diego Araujo + Daniela Feitosa <alessandro.palmeira@gmail.com> | |
19 | -Alessandro Palmeira + Diego Araujo + Eduardo Morais <alessandro.palmeira@gmail.com> | |
20 | -Alessandro Palmeira + Diego Araujo + João M. M. da Silva + Paulo Meirelles <alessandro.palmeira@gmail.com> | |
21 | -Alessandro Palmeira + Diego Araujo + Rafael Manzo <alessandro.palmeira@gmail.com> | |
22 | -Alessandro Palmeira + Diego Araujo <alessandro.palmeira@gmail.com> | |
23 | -Alessandro Palmeira + Diego Araujo <diegoamc90@gmail.com> | |
24 | -Alessandro Palmeira + Diego Araújo + João M. M. da Silva <alessandro.palmeira@gmail.com> | |
25 | -Alessandro Palmeira + Diego Araújo + João M. M. da Silva <diegoamc90@gmail.com> | |
26 | -Alessandro Palmeira + Diego Araújo + Pedro Leal + João M. M. da Silva <diegoamc90@gmail.com> | |
27 | -Alessandro Palmeira + Diego Araújo + Pedro Leal <diegoamc90@gmail.com> | |
28 | -Alessandro Palmeira + Diego Araújo <alessandro.palmeira@gmail.com> | |
29 | -Alessandro Palmeira + Diego Araújo <diegoamc90@gmail.com> | |
30 | -Alessandro Palmeira + Eduardo Morais <alessandro.palmeira@gmail.com> | |
31 | -Alessandro Palmeira + Guilherme Rojas <alessandro.palmeira@gmail.com> | |
32 | -Alessandro Palmeira + Jefferson Fernandes <alessandro.palmeira@gmail.com> | |
33 | -Alessandro Palmeira + Joao M. M. da Silva + Diego Araujo <alessandro.palmeira@gmail.com> | |
34 | -Alessandro Palmeira + João M. M. Silva <alessandro.palmeira@gmail.com> | |
35 | -Alessandro Palmeira + João M. M. da Silva + Renan Teruo <alessandro.palmeira@gmail.com> | |
36 | -Alessandro Palmeira + João M. M. da Silva <alessandro.palmeira@gmail.com> | |
37 | -Alessandro Palmeira + Paulo Meirelles + João M. M. da Silva <alessandro.palmeira@gmail.com> | |
38 | -Alessandro Palmeira + Paulo Meirelles <alessandro.palmeira@gmail.com> | |
39 | -Alessandro Palmeira + Rafael Manzo <alessandro.palmeira@gmail.com> | |
40 | 13 | Alessandro Palmeira <alessandro.palmeira@gmail.com> |
14 | +Alex Campelo <campelo.al1@gmail.com> | |
15 | +Álvaro Fernando <alvarofernandoms@gmail.com> | |
41 | 16 | Ana Losnak <analosnak@gmail.com> |
42 | -Andre Bernardes <andrebsguedes@gmail.com> | |
43 | -André Bernardes <andrebsguedes@gmail.com> | |
44 | -André Guedes <andrebsguedes@fedora.local> | |
17 | +Ana Paula Vargas <anapaulavnoronha@gmail.com> | |
18 | +Andre Bedran <bedran.fleck@gmail.com> | |
45 | 19 | André Guedes <andrebsguedes@gmail.com> |
46 | -Antonio Terceiro + Carlos Morais <terceiro@colivre.coop.br> | |
47 | -Antonio Terceiro + Paulo Meirelles <terceiro@colivre.coop.br> | |
48 | 20 | Antonio Terceiro <terceiro@colivre.coop.br> |
49 | 21 | Arthur Del Esposte <arthurmde@gmail.com> |
50 | -Arthur Del Esposte <arthurmde@yahoo.com.br> | |
51 | 22 | Athos Ribeiro <athoscribeiro@gmail.com> |
52 | 23 | Aurelio A. Heckert <aurelio@colivre.coop.br> |
53 | 24 | Braulio Bhavamitra <braulio@eita.org.br> |
54 | -Braulio Bhavamitra <brauliobo@gmail.com> | |
55 | -Bráulio Bhavamitra <brauliobo@gmail.com> | |
56 | -Caio + Diego + Pedro + João <caio.csalgado@gmail.com> | |
57 | -Caio <caio.csalgado@gmail.com> | |
58 | 25 | Caio Formiga <caio.formiga@gmail.com> |
59 | -Caio SBA <caio@colivre.coop.br> | |
60 | -Caio Salgado + Alessandro Palmeira <caio.csalgado@gmail.com> | |
61 | -Caio Salgado + Carlos Morais + Diego Araújo + Pedro Leal <diegoamc90@gmail.com> | |
62 | -Caio Salgado + Diego Araujo <caio.csalgado@gmail.com> | |
63 | -Caio Salgado + Diego Araújo + Jefferson Fernandes <caio.csalgado@gmail.com> | |
64 | -Caio Salgado + Diego Araújo + João M. M. da Silva <caio.csalgado@gmail.com> | |
65 | -Caio Salgado + Diego Araújo + Pedro Leal <caio.csalgado@gmail.com> | |
66 | -Caio Salgado + Diego Araújo + Pedro Leal <diegoamc90@gmail.com> | |
67 | -Caio Salgado + Diego Araújo + Rafael Manzo <diegoamc90@gmail.com> | |
68 | -Caio Salgado + Diego Araújo <caio.csalgado@gmail.com> | |
69 | -Caio Salgado + Diego Araújo <diegoamc90@gmail.com> | |
70 | -Caio Salgado + Jefferson Fernandes <caio.csalgado@gmail.com> | |
71 | -Caio Salgado + Jefferson Fernandes <jeffs.fernandes@gmail.com> | |
72 | -Caio Salgado + Rafael Manzo <caio.csalgado@gmail.com> | |
73 | -Caio Salgado + Renan Teruo + Jefferson Fernandes <jeffs.fernandes@gmail.com> | |
74 | -Caio Salgado + Renan Teruo <caio.csalgado@gmail.com> | |
75 | -Caio Salgado + Renan Teruo <caio.salgado@gmail.com> | |
76 | -Caio Salgado + Renan Teruo <renanteruoc@gmail.com> | |
77 | 26 | Caio Salgado <caio.csalgado@gmail.com> |
27 | +Caio SBA <caio@colivre.coop.br> | |
78 | 28 | Caio Tiago Oliveira <caiotiago@colivre.coop.br> |
79 | -Caio, Pedro <caio.csalgado@gmail.com> | |
80 | 29 | Carlos Andre de Souza <carlos.andre.souza@msn.com> |
81 | -Carlos Morais + Diego Araújo <diegoamc90@gmail.com> | |
82 | -Carlos Morais + Eduardo Morais <carlos88morais@gmail.com> | |
83 | -Carlos Morais + Paulo Meirelles <carlos88morais@gmail.com> | |
84 | -Carlos Morais + Pedro Leal <carlos88morais@gmail.com> | |
85 | 30 | Carlos Morais <carlos88morais@gmail.com> |
86 | 31 | Christophe DANIEL <papaeng@gmail.com> |
87 | -Daniel Alves + Diego Araújo <danpaulalves@gmail.com> | |
88 | -Daniel Alves + Diego Araújo <diegoamc90@gmail.com> | |
89 | -Daniel Alves + Diego Araújo + Guilherme Rojas <danpaulalves@gmail.com> | |
90 | -Daniel Alves + Diego Araújo + Guilherme Rojas <diegoamc90@gmail.com> | |
91 | -Daniel Alves + Diego Araújo + Guilherme Rojas <guilhermehrojas@gmail.com> | |
92 | -Daniel Alves + Diego Araújo <danpaulalves@gmail.com> | |
93 | -Daniel Alves + Diego Araújo <diegoamc90@gmail.com> | |
94 | -Daniel Alves + Guilherme Rojas <danpaulalves@gmail.com> | |
95 | -Daniel Alves + Rafael Manzo <rr.manzo@gmail.com> | |
32 | +Daniela Feitosa <alessandro.palmeira@gmail.com> | |
33 | +Daniel Alves <danpaulalves@gmail.com> | |
34 | +Daniela Soares Feitosa <danielafeitosa@colivre.coop.br> | |
96 | 35 | Daniel Bucher <daniel.bucher88@gmail.com> |
97 | 36 | Daniel Cunha <daniel@colivre.coop.br> |
98 | -Daniela Soares Feitosa <danielafeitosa@colivre.coop.br> | |
37 | +Daniel Tygel <dtygel@eita.org.br> | |
99 | 38 | David Carlos <ddavidcarlos1392@gmail.com> |
100 | -Diego + Jefferson <diegoamc90@gmail.com> | |
101 | -Diego + Renan <renanteruoc@gmail.com> | |
102 | -Diego Araujo + Caio Salgado <diegoamc90@gmail.com> | |
103 | -Diego Araujo + Jefferson Fernandes <jeffs.fernandes@gmail.com> | |
104 | -Diego Araujo + Rafael Manzo <diegoamc90@gmail.com> | |
105 | -Diego Araujo + Rodrigo Souto + Rafael Manzo <rr.manzo@gmail.com> | |
106 | -Diego Araújo + Alessandro Palmeira + João M. M. da Silva <diegoamc90@gmail.com> | |
107 | -Diego Araújo + Alessandro Palmeira + Rafael Manzo <rr.manzo@gmail.com> | |
108 | -Diego Araújo + Alessandro Palmeira <diegoamc90@gmail.com> | |
109 | -Diego Araújo + Daniel Alves + Rafael Manzo <rr.manzo@gmail.com> | |
110 | -Diego Araújo + Eduardo Morais + Paulo Meirelles <diegoamc90@gmail.com> | |
111 | -Diego Araújo + Guilherme Rojas <diegoamc90@gmail.com> | |
112 | -Diego Araújo + Jefferson Fernandes <diegoamc90@gmail.com> | |
113 | -Diego Araújo + João M. M. da Silva + Alessandro Palmeira <jaodsilv@linux.ime.usp.br> | |
114 | -Diego Araújo + João M. M. da Silva + João Machini <diegoamc90@gmail.com> | |
115 | -Diego Araújo + João M. M. da Silva + Pedro Leal <diegoamc90@gmail.com> | |
116 | -Diego Araújo + João M. M. da Silva <diegoamc90@gmail.com> | |
117 | -Diego Araújo + João Machini <diegoamc90@gmail.com> | |
118 | -Diego Araújo + João Machini <digoamc90@gmail.com> | |
119 | -Diego Araújo + Paulo Meirelles <diegoamc90@gmail.com> | |
120 | -Diego Araújo + Pedro Leal <diegoamc90@gmail.com> | |
121 | -Diego Araújo + Rafael Manzo <diegoamc90@gmail.com> | |
122 | -Diego Araújo + Renan Teruo + Alessandro Palmeira <diegoamc90@gmail.com> | |
123 | -Diego Araújo + Renan Teruo <diegoamc90@gmail.com> | |
124 | -Diego Araújo <diegoamc90@gmail.com> | |
125 | -Diego Martinez <diegoamc90@gmail.com> | |
126 | -DylanGuedes <djmgguedes@gmail.com> | |
127 | -Eduardo Passos <eduardo@risa.localdomain.localhost> | |
39 | +Diego Araujo <diegoamc90@gmail.com> | |
40 | +Dylan Guedes <djmgguedes@gmail.com> | |
41 | +Eduardo Morais | |
128 | 42 | Eduardo Passos <eduardosteps@gmail.com> |
129 | 43 | Eduardo Tourinho Edington <eduardo.edington@serpro.gov.br> |
130 | 44 | Eduardo Vital <vitaldu@gmail.com> |
131 | -Evandro Jr <evandrojr@gmail.com> | |
132 | -Evandro Junior <evandrojr@gmail.com> | |
133 | 45 | Evandro Magalhaes Leite Junior <evandro.leite@serpro.gov.br> |
134 | 46 | Fabio Teixeira <fabio1079@gmail.com> |
135 | 47 | FAMMA TV NOTICIAS MEDIOS DE CO <revistafammatvmusic.oficial@gmail.com> |
136 | -Fabio Teixeira <fabio1079@gmail.com> | |
137 | 48 | Fernanda Lopes <nanda.listas+psl@gmail.com> |
138 | 49 | Filipe Ribeiro <firibeiro77@live.com> |
139 | -Francisco Marcelo A. Lima Júnior <francisco.lima-junior@serpro.gov.br> | |
140 | -Francisco Marcelo de Araujo Lima Junior <79350259591@serpro-1457614.(none)> | |
141 | 50 | Francisco Marcelo de Araújo Lima Júnior <francisco.lima-junior@serpro.gov.br> |
142 | -Francisco Marcelo de Araújo Lima Júnior <maljunior@gmail.com> | |
143 | 51 | Gabriela Navarro <navarro1703@gmail.com> |
144 | 52 | Gonzalo Exequiel Pedone <hipersayan.x@gmail.com> |
145 | 53 | Grazieno Pellegrino <grazieno@gmail.com> |
146 | -Gust <darksshades@hotmail.com> | |
54 | +Guilherme C. Muniz <guilherme.cmuniz@gmail.com> | |
55 | +Guilherme Rojas <guilhermehrojas@gmail.com> | |
56 | +Gustavo Jaruga <darksshades@gmail.com> | |
147 | 57 | Hebert Douglas <hebertdougl@gmail.com> |
148 | 58 | Hugo Melo <hugo@riseup.net> |
59 | +Iolane Andrade <andrade.icaa@gmail.com> | |
149 | 60 | Isaac Canan <isaac@intelletto.com.br> |
150 | 61 | Italo Valcy <italo@dcc.ufba.br> |
151 | -Jefferson Fernandes + Diego Araujo + Rafael Manzo <jeffs.fernandes@gmail.com> | |
152 | -Jefferson Fernandes + Joao M. M. Silva <jeffs.fernandes@gmail.com> | |
153 | -Jefferson Fernandes + Joao M. M. da Silva <jeffs.fernandes@gmail.com> | |
154 | -Joao M. M. Silva + Jefferson Fernandes <jaodsilv@linux.ime.usp.br> | |
155 | -Joao M. M. da Silva + Alessandro Palmeira <jaodsilv@linux.ime.usp.br> | |
156 | -Joao M. M. da Silva + Jefferson Fernandes <jaodsilv@linux.ime.usp.br> | |
62 | +Jefferson Fernandes <jeffs.fernandes@gmail.com> | |
63 | +Jérôme Jutteau <j.jutteau@gmail.com> | |
64 | +João Machini | |
65 | +João M. M. da Silva <jaodsilv@linux.ime.usp.br> | |
157 | 66 | Joenio Costa <joenio@colivre.coop.br> |
158 | -Jose Pedro <1jpsneto@gmail.com> | |
159 | 67 | Josef Spillner <josef.spillner@tu-dresden.de> |
160 | -João M. M. Silva + Caio Salgado <jaodsilv@linux.ime.usp.br> | |
161 | -João M. M. Silva + Diego Araújo <jaodsilv@linux.ime.usp.br> | |
162 | -João M. M. Silva + Paulo Meirelles <jaodsilv@linux.ime.usp.br> | |
163 | -João M. M. Silva + Rafael Manzo <jaodsilv@linux.ime.usp.br> | |
164 | -João M. M. Silva + Renan Teruo <jaodsilv@linux.ime.usp.br> | |
165 | -João M. M. da Silva + Alessandro Palmeira + Diego Araújo + Caio Salgado <jaodsilv@linux.ime.usp.br> | |
166 | -João M. M. da Silva + Alessandro Palmeira + Diego Araújo <jaodsilv@linux.ime.usp.br> | |
167 | -João M. M. da Silva + Alessandro Palmeira + João Machini <jaodsilv@linux.ime.usp.br> | |
168 | -João M. M. da Silva + Alessandro Palmeira <jaodsilv@linux.ime.usp.br> | |
169 | -João M. M. da Silva + Caio Salgado + Alessandro Palmeira <jaodsilv@linux.ime.usp.br> | |
170 | -João M. M. da Silva + Caio Salgado <jaodsilv@linux.ime.usp.br> | |
171 | -João M. M. da Silva + Carlos Morais <jaodsilv@linux.ime.usp.br> | |
172 | -João M. M. da Silva + Diego Araújo + Pedro Leal <jaodsilv@linux.ime.usp.br> | |
173 | -João M. M. da Silva + Diego Araújo <diegoamc90@gmail.com> | |
174 | -João M. M. da Silva + Diego Araújo <jaodsilv@linux.ime.usp.br> | |
175 | -João M. M. da Silva + Jefferson Fernandes <jaodsilv@linux.ime.usp.br> | |
176 | -João M. M. da Silva + João M. Miranda <jaodsilv@linux.ime.usp.br> | |
177 | -João M. M. da Silva + Paulo Meirelles <jaodsilv@linux.ime.usp.br> | |
178 | -João M. M. da Silva + Pedro Leal <jaodsilv@linux.ime.usp.br> | |
179 | -João M. M. da Silva + Rafael Manzo + Diego Araújo <jaodsilv@linux.ime.usp.br> | |
180 | -João M. M. da Silva + Rafael Manzo <jaodsilv@linux.ime.usp.br> | |
181 | -João M. M. da Silva + Renan Teruo <jaodsilv@linux.ime.usp.br> | |
182 | -João M. M. da Silva <jaodsilv@linux.ime.usp.br> | |
183 | -João Marco Maciel da Silva + Rafael Manzo + Renan Teruo <jaodsilv@linux.ime.usp.br> | |
184 | -João da Silva + Eduardo Morais + Rafael Manzo <rr.manzo@gmail.com> | |
185 | -João da Silva <jaodsilv@linux.ime.usp.br> | |
186 | -Junior Silva <junior@bajor.localhost.localdomain> | |
187 | -Junior Silva <junior@sedeantigo.colivre.coop.br> | |
68 | +Jose Pedro <1jpsneto@gmail.com> | |
188 | 69 | Junior Silva <juniorsilva1001@gmail.com> |
189 | -Junior Silva <juniorsilva7@juniorsilva-Aspire-5750Z.(none)> | |
190 | -Junior Silva <juniorsilva@colivre.coop.br> | |
191 | -Jérôme Jutteau <j.jutteau@gmail.com> | |
192 | 70 | Keilla Menezes <keilla@colivre.coop.br> |
193 | 71 | Larissa Reis <larissa@colivre.coop.br> |
194 | -Larissa Reis <reiss.larissa@gmail.com> | |
195 | 72 | Leandro Alves <leandrosustenido@gmail.com> |
196 | -Leandro Nunes dos Santos <81665687568@serpro-1541727.(none)> | |
197 | -Leandro Nunes dos Santos <81665687568@serpro-1541727.Home> | |
198 | 73 | Leandro Nunes dos Santos <leandro.santos@serpro.gov.br> |
199 | -Leandro Nunes dos Santos <leandronunes@gmail.com> | |
74 | +Leandro Veloso <leandrovelosorodrigues@gmail.com> | |
200 | 75 | LinguÁgil 2010 <linguagil.bahia@gmail.com> |
76 | +Lucas Couto <loc.unb@gmail.com> | |
201 | 77 | Lucas Kanashiro <kanashiro.duarte@gmail.com> |
202 | -Lucas Melo <lucas@colivre.coop.br> | |
203 | 78 | Lucas Melo <lucaspradomelo@gmail.com> |
204 | -Luciano <lucianopcbr@gmail.com> | |
205 | -Luciano Prestes Cavacanti <lucianopcbr@gmail.com> | |
206 | 79 | Luciano Prestes Cavalcanti <lucianopcbr@gmail.com> |
207 | 80 | Luis David Aguilar Carlos <ludwig9003@gmail.com> |
208 | 81 | Luiz Fernando de Freitas Matos <luiz@luizff.matos@gmail.com> |
209 | -M for Momo <mo@rtnp.org> | |
210 | -Marcelo Júnior <maljunior@gmail.com> | |
211 | -Marcos <marcos.rpj2@gmail.com> | |
82 | +Luiz Matos <luizff.matos@gmail.com> | |
212 | 83 | Marcos Ramos <ms.ramos@outlook.com> |
84 | +Marcos Ronaldo <marcos.rpj2@gmail.com> | |
85 | +Mariel Zasso <noosfero-br@listas.softwarelivre.org> | |
213 | 86 | Martín Olivera <molivera@solar.org.ar> |
87 | +Matheus Faria <matheus.sousa.faria@gmail.com> | |
214 | 88 | Maurilio Atila <cabelotaina@gmail.com> |
89 | +M for Momo <mo@rtnp.org> | |
215 | 90 | Michal Čihař <michal@cihar.com> |
216 | 91 | Michel Felipe <mfelipeof@gmail.com> |
217 | 92 | Moises Machado <moises@colivre.coop.br> |
218 | -Nanda Lopes <nanda.listas+psl@gmail.com> | |
219 | 93 | Naíla Alves <naila@colivre.coop.br> |
94 | +Nanda Lopes <nanda.listas+psl@gmail.com> | |
220 | 95 | Niemand Jedermann <predatorix@web.de> |
221 | 96 | Parley Martins <parleypachecomartins@gmail.com> |
222 | -Paulo Meirelles + Alessandro Palmeira + João M. M. da Silva <paulo@softwarelivre.org> | |
223 | -Paulo Meirelles + Alessandro Palmeira <paulo@softwarelivre.org> | |
224 | -Paulo Meirelles + Carlos Morais <paulo@softwarelivre.org> | |
225 | -Paulo Meirelles + Diego Araújo <paulo@softwarelivre.org> | |
226 | -Paulo Meirelles + João M. M. da Silva <paulo@softwarelivre.org> | |
227 | -Paulo Meirelles + Rafael Manzo <paulo@softwarelivre.org> | |
228 | 97 | Paulo Meirelles <paulo@softwarelivre.org> |
98 | +Pedro de Lyra <pedrodelyra@gmail.com> | |
99 | +Pedro Leal | |
100 | +Rafael de Souza Queiroz <querafael@live.com> | |
229 | 101 | Rafael Gomes <rafaelgomes@techfree.com.br> |
230 | -Rafael Manzo + Alessandro Palmeira <rr.manzo@gmail.com> | |
231 | -Rafael Manzo + Daniel Alves <danpaulalves@gmail.com> | |
232 | -Rafael Manzo + Diego Araújo <rr.manzo@gmail.com> | |
233 | -Rafael Manzo + João M. M. Silva <rr.manzo@gmail.com> | |
234 | -Rafael Manzo + Paulo Meirelles <rr.manzo@gmail.com> | |
235 | 102 | Rafael Martins <rmmartins@gmail.com> |
236 | -Rafael Reggiani Manzo + Caio Salgado + Jefferson Fernandes <rr.manzo@gmail.com> | |
237 | -Rafael Reggiani Manzo + Diego Araujo <diegoamc90@gmail.com> | |
238 | -Rafael Reggiani Manzo + Diego Araujo <rr.manzo@gmail.com> | |
239 | -Rafael Reggiani Manzo + Diego Araújo <rr.manzo@gmail.com> | |
240 | -Rafael Reggiani Manzo + João M. M. da Silva <rr.manzo@gmail.com> | |
241 | 103 | Rafael Reggiani Manzo <rr.manzo@gmail.com> |
242 | 104 | Raphaël Rousseau <raph@r4f.org> |
243 | -Raquel <rcordioli@gmail.com> | |
244 | 105 | Raquel Lira <raquel.lira@gmail.com> |
245 | -Renan Teruo + Caio Salgado <renanteruoc@gmail.com> | |
246 | -Renan Teruo + Diego Araujo <renanteruoc@gmail.com> | |
247 | -Renan Teruo + Diego Araújo <renanteruoc@gmail.com> | |
248 | -Renan Teruo + Paulo Meirelles <renanteruoc@gmail.com> | |
249 | -Renan Teruo + Rafael Manzo <renanteruoc@gmail.com> | |
250 | -Renan Teruoc + Diego Araujo <renanteruoc@gmail.com> | |
251 | -Rodrigo Souto + Ana Losnak + Daniel Bucher + Caio Almeida + Leandro Nunes + Daniela Feitosa + Mariel Zasso <noosfero-br@listas.softwarelivre.org> | |
106 | +Raquel <rcordioli@gmail.com> | |
107 | +Renan Costa <renan2727@hotmail.com> | |
108 | +Renan Teruo <renanteruoc@gmail.com> | |
109 | +Rodrigo Medeiros <rodrigo.mss01@gmail.com> | |
252 | 110 | Rodrigo Souto <rodrigo@colivre.coop.br> |
253 | 111 | Ronny Kursawe <kursawe.ronny@googlemail.com> |
254 | 112 | Samuel R. C. Vale <srcvale@holoscopio.com> |
255 | -TWS <tablettws@gmail.com> | |
256 | -Tallys Martins <tallysmartins@gmail.com> | |
257 | 113 | Tallys Martins <tallysmartins@yahoo.com.br> |
258 | 114 | Thiago Casotti <thiago.casotti@uol.com.br> |
115 | +Thiago Kairala <thiagor.kairala@gmail.com> | |
259 | 116 | Thiago Ribeiro <thiagitosouza@hotmail.com> |
260 | 117 | Thiago Zoroastro <thiago.zoroastro@bol.com.br> |
261 | 118 | Tuux <tuxa@galaxie.eu.org> |
119 | +TWS <tablettws@gmail.com> | |
262 | 120 | Valessio Brito <contato@valessiobrito.com.br> |
263 | -Valessio Brito <contato@valessiobrito.info> | |
264 | -Valessio Brito <valessio@gmail.com> | |
265 | -Victor Carvalho <victorhugodf.ac@gmail.com> | |
266 | 121 | Victor Costa <vfcosta@gmail.com> |
267 | 122 | Victor Hugo Alves de Carvalho <victorhugodf.ac@gmail.com> |
268 | 123 | Vinicius Cubas Brand <viniciuscb@gmail.com> |
269 | -Visita <visita@debian.(none)> | |
124 | +Wilton Rodrigues <braynwilton@gmail.com> | |
270 | 125 | Yann Lugrin <yann.lugrin@liquid-concept.ch> |
271 | -alcampelo <alcampelo@alcampelo.(none)> | |
272 | -analosnak <analosnak@gmail.com> | |
273 | -daniel <dtygel@eita.org.br> | |
274 | -diegoamc <diegoamc90@gmail.com> | |
275 | -dtygel <dtygel@gmail.com> | |
276 | -juniorsilva <juniorsilva@QonoS.localhost.localdomain> | |
277 | -root <root@17edebf1ae91> | |
278 | -root <root@debian.sdr.serpro> | |
279 | -tallys <tallys@tallys.(none)> | |
280 | -tallys <tallys@tallys> | |
281 | -vfcosta <vfcosta@gmail.com> | |
282 | -Ábner Silva de Oliveira <abner.oliveira@serpro.gov.br> | |
283 | 126 | |
284 | 127 | Ideas, specifications and incentive |
285 | 128 | =================================== | ... | ... |
Gemfile
... | ... | @@ -19,11 +19,13 @@ gem 'gettext', '~> 2.2.1', :require => false |
19 | 19 | gem 'locale', '~> 2.0.5' |
20 | 20 | gem 'whenever', :require => false |
21 | 21 | gem 'eita-jrails', '~> 0.9.5', require: 'jrails' |
22 | -gem 'grape', '~> 0.11.0' | |
22 | + | |
23 | +# API dependencies | |
24 | +gem 'grape', '~> 0.12' | |
23 | 25 | gem 'grape-entity' |
24 | -gem 'grape-swagger' | |
25 | -gem 'grape_logging' | |
26 | -gem 'api-pagination', '~> 4.1.1' | |
26 | +#FIXME Get the Grape Loggin from master yo solve this issue https://github.com/intridea/grape/issues/1059 | |
27 | +#We have to remove this commit referenve code when update the next release of grape_logging. Actualy we are using (1.1.2) | |
28 | +gem 'grape_logging', :git => 'https://github.com/aceunreal/grape_logging.git', :ref => '100091b' | |
27 | 29 | gem 'rack-cors' |
28 | 30 | gem 'rack-contrib' |
29 | 31 | gem 'liquid', '~> 3.0.3' |
... | ... | @@ -32,8 +34,7 @@ gem 'liquid', '~> 3.0.3' |
32 | 34 | # FIXME list here all actual dependencies (i.e. the ones in debian/control), |
33 | 35 | # with their GEM names (not the Debian package names) |
34 | 36 | |
35 | -# FIXME list here all actual dependencies (i.e. the ones in debian/control), | |
36 | -# with their GEM names (not the Debian package names) | |
37 | +gem 'api-pagination', '~> 4.1.1' | |
37 | 38 | |
38 | 39 | # asset pipeline |
39 | 40 | gem 'uglifier', '>= 1.0.3' | ... | ... |
app/models/article.rb
... | ... | @@ -510,9 +510,9 @@ class Article < ActiveRecord::Base |
510 | 510 | where( |
511 | 511 | [ |
512 | 512 | "published = ? OR last_changed_by_id = ? OR profile_id = ? OR ? |
513 | - OR (show_to_followers = ? AND ? AND profile_id = ?)", true, user.id, user.id, | |
513 | + OR (show_to_followers = ? AND ? AND profile_id IN (?))", true, user.id, user.id, | |
514 | 514 | profile.nil? ? false : user.has_permission?(:view_private_content, profile), |
515 | - true, user.follows?(profile), (profile.nil? ? nil : profile.id) | |
515 | + true, (profile.nil? ? true : user.follows?(profile)), ( profile.nil? ? (user.friends.select('profiles.id')) : [profile.id]) | |
516 | 516 | ] |
517 | 517 | ) |
518 | 518 | } | ... | ... |
db/schema.rb
... | ... | @@ -11,7 +11,7 @@ |
11 | 11 | # |
12 | 12 | # It's strongly recommended to check this file into your version control system. |
13 | 13 | |
14 | -ActiveRecord::Schema.define(:version => 20150603182105) do | |
14 | +ActiveRecord::Schema.define(:version => 20150712194411) do | |
15 | 15 | |
16 | 16 | create_table "abuse_reports", :force => true do |t| |
17 | 17 | t.integer "reporter_id" |
... | ... | @@ -48,6 +48,18 @@ ActiveRecord::Schema.define(:version => 20150603182105) do |
48 | 48 | add_index "action_tracker_notifications", ["profile_id", "action_tracker_id"], :name => "index_action_tracker_notif_on_prof_id_act_tracker_id", :unique => true |
49 | 49 | add_index "action_tracker_notifications", ["profile_id"], :name => "index_action_tracker_notifications_on_profile_id" |
50 | 50 | |
51 | + create_table "article_followers", :force => true do |t| | |
52 | + t.integer "person_id", :null => false | |
53 | + t.integer "article_id", :null => false | |
54 | + t.datetime "since" | |
55 | + t.datetime "created_at", :null => false | |
56 | + t.datetime "updated_at", :null => false | |
57 | + end | |
58 | + | |
59 | + add_index "article_followers", ["article_id"], :name => "index_article_followers_on_article_id" | |
60 | + add_index "article_followers", ["person_id", "article_id"], :name => "index_article_followers_on_person_id_and_article_id", :unique => true | |
61 | + add_index "article_followers", ["person_id"], :name => "index_article_followers_on_person_id" | |
62 | + | |
51 | 63 | create_table "article_privacy_exceptions", :id => false, :force => true do |t| |
52 | 64 | t.integer "article_id" |
53 | 65 | t.integer "person_id" |
... | ... | @@ -75,8 +87,8 @@ ActiveRecord::Schema.define(:version => 20150603182105) do |
75 | 87 | t.integer "comments_count" |
76 | 88 | t.boolean "advertise", :default => true |
77 | 89 | t.boolean "published", :default => true |
78 | - t.date "start_date" | |
79 | - t.date "end_date" | |
90 | + t.datetime "start_date" | |
91 | + t.datetime "end_date" | |
80 | 92 | t.integer "children_count", :default => 0 |
81 | 93 | t.boolean "accept_comments", :default => true |
82 | 94 | t.integer "reference_article_id" |
... | ... | @@ -127,8 +139,8 @@ ActiveRecord::Schema.define(:version => 20150603182105) do |
127 | 139 | t.integer "comments_count", :default => 0 |
128 | 140 | t.boolean "advertise", :default => true |
129 | 141 | t.boolean "published", :default => true |
130 | - t.date "start_date" | |
131 | - t.date "end_date" | |
142 | + t.datetime "start_date" | |
143 | + t.datetime "end_date" | |
132 | 144 | t.integer "children_count", :default => 0 |
133 | 145 | t.boolean "accept_comments", :default => true |
134 | 146 | t.integer "reference_article_id" |
... | ... | @@ -151,6 +163,8 @@ ActiveRecord::Schema.define(:version => 20150603182105) do |
151 | 163 | t.integer "author_id" |
152 | 164 | t.integer "created_by_id" |
153 | 165 | t.boolean "show_to_followers", :default => true |
166 | + t.integer "sash_id" | |
167 | + t.integer "level", :default => 0 | |
154 | 168 | end |
155 | 169 | |
156 | 170 | add_index "articles", ["comments_count"], :name => "index_articles_on_comments_count" |
... | ... | @@ -177,6 +191,17 @@ ActiveRecord::Schema.define(:version => 20150603182105) do |
177 | 191 | add_index "articles_categories", ["article_id"], :name => "index_articles_categories_on_article_id" |
178 | 192 | add_index "articles_categories", ["category_id"], :name => "index_articles_categories_on_category_id" |
179 | 193 | |
194 | + create_table "badges_sashes", :force => true do |t| | |
195 | + t.integer "badge_id" | |
196 | + t.integer "sash_id" | |
197 | + t.boolean "notified_user", :default => false | |
198 | + t.datetime "created_at" | |
199 | + end | |
200 | + | |
201 | + add_index "badges_sashes", ["badge_id", "sash_id"], :name => "index_badges_sashes_on_badge_id_and_sash_id" | |
202 | + add_index "badges_sashes", ["badge_id"], :name => "index_badges_sashes_on_badge_id" | |
203 | + add_index "badges_sashes", ["sash_id"], :name => "index_badges_sashes_on_sash_id" | |
204 | + | |
180 | 205 | create_table "blocks", :force => true do |t| |
181 | 206 | t.string "title" |
182 | 207 | t.integer "box_id" |
... | ... | @@ -272,8 +297,10 @@ ActiveRecord::Schema.define(:version => 20150603182105) do |
272 | 297 | t.string "referrer" |
273 | 298 | t.text "settings" |
274 | 299 | t.integer "paragraph_id" |
300 | + t.string "paragraph_uuid" | |
275 | 301 | end |
276 | 302 | |
303 | + add_index "comments", ["paragraph_uuid"], :name => "index_comments_on_paragraph_uuid" | |
277 | 304 | add_index "comments", ["source_id", "spam"], :name => "index_comments_on_source_id_and_spam" |
278 | 305 | |
279 | 306 | create_table "contact_lists", :force => true do |t| |
... | ... | @@ -313,6 +340,17 @@ ActiveRecord::Schema.define(:version => 20150603182105) do |
313 | 340 | add_index "domains", ["owner_id", "owner_type", "is_default"], :name => "index_domains_on_owner_id_and_owner_type_and_is_default" |
314 | 341 | add_index "domains", ["owner_id", "owner_type"], :name => "index_domains_on_owner_id_and_owner_type" |
315 | 342 | |
343 | + create_table "email_templates", :force => true do |t| | |
344 | + t.string "name" | |
345 | + t.string "template_type" | |
346 | + t.string "subject" | |
347 | + t.text "body" | |
348 | + t.integer "owner_id" | |
349 | + t.string "owner_type" | |
350 | + t.datetime "created_at", :null => false | |
351 | + t.datetime "updated_at", :null => false | |
352 | + end | |
353 | + | |
316 | 354 | create_table "environments", :force => true do |t| |
317 | 355 | t.string "name" |
318 | 356 | t.string "contact_email" |
... | ... | @@ -332,6 +370,7 @@ ActiveRecord::Schema.define(:version => 20150603182105) do |
332 | 370 | t.string "default_language" |
333 | 371 | t.string "noreply_email" |
334 | 372 | t.string "redirection_after_signup", :default => "keep_on_same_page" |
373 | + t.text "send_email_plugin_allow_to" | |
335 | 374 | t.string "date_format", :default => "month_name_with_year" |
336 | 375 | end |
337 | 376 | |
... | ... | @@ -368,6 +407,17 @@ ActiveRecord::Schema.define(:version => 20150603182105) do |
368 | 407 | add_index "friendships", ["person_id", "friend_id"], :name => "index_friendships_on_person_id_and_friend_id" |
369 | 408 | add_index "friendships", ["person_id"], :name => "index_friendships_on_person_id" |
370 | 409 | |
410 | + create_table "gamification_plugin_badges", :force => true do |t| | |
411 | + t.string "name" | |
412 | + t.integer "level" | |
413 | + t.string "description" | |
414 | + t.string "custom_fields" | |
415 | + t.integer "owner_id" | |
416 | + t.string "owner_type" | |
417 | + t.datetime "created_at", :null => false | |
418 | + t.datetime "updated_at", :null => false | |
419 | + end | |
420 | + | |
371 | 421 | create_table "images", :force => true do |t| |
372 | 422 | t.integer "parent_id" |
373 | 423 | t.string "content_type" |
... | ... | @@ -424,6 +474,46 @@ ActiveRecord::Schema.define(:version => 20150603182105) do |
424 | 474 | t.datetime "updated_at" |
425 | 475 | end |
426 | 476 | |
477 | + create_table "mark_comment_as_read_plugin", :force => true do |t| | |
478 | + t.integer "comment_id" | |
479 | + t.integer "person_id" | |
480 | + end | |
481 | + | |
482 | + add_index "mark_comment_as_read_plugin", ["comment_id", "person_id"], :name => "index_mark_comment_as_read_plugin_on_comment_id_and_person_id", :unique => true | |
483 | + | |
484 | + create_table "merit_actions", :force => true do |t| | |
485 | + t.integer "user_id" | |
486 | + t.string "action_method" | |
487 | + t.integer "action_value" | |
488 | + t.boolean "had_errors", :default => false | |
489 | + t.string "target_model" | |
490 | + t.integer "target_id" | |
491 | + t.text "target_data" | |
492 | + t.boolean "processed", :default => false | |
493 | + t.datetime "created_at", :null => false | |
494 | + t.datetime "updated_at", :null => false | |
495 | + end | |
496 | + | |
497 | + create_table "merit_activity_logs", :force => true do |t| | |
498 | + t.integer "action_id" | |
499 | + t.string "related_change_type" | |
500 | + t.integer "related_change_id" | |
501 | + t.string "description" | |
502 | + t.datetime "created_at" | |
503 | + end | |
504 | + | |
505 | + create_table "merit_score_points", :force => true do |t| | |
506 | + t.integer "score_id" | |
507 | + t.integer "num_points", :default => 0 | |
508 | + t.string "log" | |
509 | + t.datetime "created_at" | |
510 | + end | |
511 | + | |
512 | + create_table "merit_scores", :force => true do |t| | |
513 | + t.integer "sash_id" | |
514 | + t.string "category", :default => "default" | |
515 | + end | |
516 | + | |
427 | 517 | create_table "national_region_types", :force => true do |t| |
428 | 518 | t.string "name" |
429 | 519 | end |
... | ... | @@ -440,6 +530,15 @@ ActiveRecord::Schema.define(:version => 20150603182105) do |
440 | 530 | add_index "national_regions", ["name"], :name => "name_index" |
441 | 531 | add_index "national_regions", ["national_region_code"], :name => "code_index" |
442 | 532 | |
533 | + create_table "pairwise_plugin_choices_related", :force => true do |t| | |
534 | + t.integer "choice_id" | |
535 | + t.integer "parent_choice_id" | |
536 | + t.integer "question_id" | |
537 | + t.integer "user_id" | |
538 | + t.datetime "created_at", :null => false | |
539 | + t.datetime "updated_at", :null => false | |
540 | + end | |
541 | + | |
443 | 542 | create_table "price_details", :force => true do |t| |
444 | 543 | t.decimal "price", :default => 0.0 |
445 | 544 | t.integer "product_id" |
... | ... | @@ -547,15 +646,37 @@ ActiveRecord::Schema.define(:version => 20150603182105) do |
547 | 646 | t.boolean "allow_members_to_invite", :default => true |
548 | 647 | t.boolean "invite_friends_only", :default => false |
549 | 648 | t.boolean "secret", :default => false |
649 | + t.integer "sash_id" | |
650 | + t.integer "level", :default => 0 | |
550 | 651 | end |
551 | 652 | |
552 | 653 | add_index "profiles", ["activities_count"], :name => "index_profiles_on_activities_count" |
553 | 654 | add_index "profiles", ["created_at"], :name => "index_profiles_on_created_at" |
655 | + add_index "profiles", ["enabled"], :name => "index_profiles_on_enabled" | |
554 | 656 | add_index "profiles", ["environment_id"], :name => "index_profiles_on_environment_id" |
555 | 657 | add_index "profiles", ["friends_count"], :name => "index_profiles_on_friends_count" |
556 | 658 | add_index "profiles", ["identifier"], :name => "index_profiles_on_identifier" |
557 | 659 | add_index "profiles", ["members_count"], :name => "index_profiles_on_members_count" |
558 | 660 | add_index "profiles", ["region_id"], :name => "index_profiles_on_region_id" |
661 | + add_index "profiles", ["type"], :name => "index_profiles_on_type" | |
662 | + add_index "profiles", ["validated"], :name => "index_profiles_on_validated" | |
663 | + add_index "profiles", ["visible"], :name => "index_profiles_on_visible" | |
664 | + | |
665 | + create_table "proposals_discussion_plugin_proposal_evaluations", :force => true do |t| | |
666 | + t.integer "proposal_task_id" | |
667 | + t.integer "evaluator_id" | |
668 | + t.integer "flagged_status" | |
669 | + t.datetime "created_at", :null => false | |
670 | + t.datetime "updated_at", :null => false | |
671 | + end | |
672 | + | |
673 | + add_index "proposals_discussion_plugin_proposal_evaluations", ["evaluator_id"], :name => "index_proposals_discussion_plugin_proposal_evaluator_id" | |
674 | + add_index "proposals_discussion_plugin_proposal_evaluations", ["proposal_task_id"], :name => "index_proposals_discussion_plugin_proposal_task_id" | |
675 | + | |
676 | + create_table "proposals_discussion_plugin_task_categories", :id => false, :force => true do |t| | |
677 | + t.integer "task_id" | |
678 | + t.integer "category_id" | |
679 | + end | |
559 | 680 | |
560 | 681 | create_table "qualifier_certifiers", :force => true do |t| |
561 | 682 | t.integer "qualifier_id" |
... | ... | @@ -597,6 +718,12 @@ ActiveRecord::Schema.define(:version => 20150603182105) do |
597 | 718 | t.boolean "is_global" |
598 | 719 | end |
599 | 720 | |
721 | + add_index "role_assignments", ["accessor_id", "accessor_type", "resource_id", "resource_type"], :name => "index_on_role_assigments_accessor_resource_role" | |
722 | + add_index "role_assignments", ["accessor_id", "accessor_type", "role_id"], :name => "index_on_role_assigments_accessor_role" | |
723 | + add_index "role_assignments", ["accessor_id", "accessor_type"], :name => "index_role_assignments_on_accessor_id_and_accessor_type" | |
724 | + add_index "role_assignments", ["resource_id", "resource_type", "role_id"], :name => "index_on_role_assigments_resource_role" | |
725 | + add_index "role_assignments", ["resource_id", "resource_type"], :name => "index_role_assignments_on_resource_id_and_resource_type" | |
726 | + | |
600 | 727 | create_table "roles", :force => true do |t| |
601 | 728 | t.string "name" |
602 | 729 | t.string "key" |
... | ... | @@ -606,6 +733,11 @@ ActiveRecord::Schema.define(:version => 20150603182105) do |
606 | 733 | t.integer "profile_id" |
607 | 734 | end |
608 | 735 | |
736 | + create_table "sashes", :force => true do |t| | |
737 | + t.datetime "created_at", :null => false | |
738 | + t.datetime "updated_at", :null => false | |
739 | + end | |
740 | + | |
609 | 741 | create_table "scraps", :force => true do |t| |
610 | 742 | t.text "content" |
611 | 743 | t.integer "sender_id" |
... | ... | @@ -684,7 +816,7 @@ ActiveRecord::Schema.define(:version => 20150603182105) do |
684 | 816 | create_table "tasks", :force => true do |t| |
685 | 817 | t.text "data" |
686 | 818 | t.integer "status" |
687 | - t.date "end_date" | |
819 | + t.datetime "end_date" | |
688 | 820 | t.integer "requestor_id" |
689 | 821 | t.integer "target_id" |
690 | 822 | t.string "code", :limit => 40 | ... | ... |
lib/noosfero/api/helpers.rb
... | ... | @@ -159,12 +159,13 @@ |
159 | 159 | end |
160 | 160 | |
161 | 161 | def by_reference(scope, params) |
162 | - if params[:reference_id] | |
163 | - created_at = scope.find(params[:reference_id]).created_at | |
164 | - scope.send("#{params.key?(:oldest) ? 'older_than' : 'younger_than'}", created_at) | |
165 | - else | |
162 | + reference_id = params[:reference_id].to_i == 0 ? nil : params[:reference_id].to_i | |
163 | + if reference_id.nil? | |
166 | 164 | scope |
167 | - end | |
165 | + else | |
166 | + created_at = scope.find(reference_id).created_at | |
167 | + scope.send("#{params.key?(:oldest) ? 'older_than' : 'younger_than'}", created_at) | |
168 | + end | |
168 | 169 | end |
169 | 170 | |
170 | 171 | def select_filtered_collection_of(object, method, params) | ... | ... |
lib/tasks/release.rake
... | ... | @@ -53,6 +53,8 @@ namespace :noosfero do |
53 | 53 | end |
54 | 54 | |
55 | 55 | AUTHORS_HEADER = <<EOF |
56 | +This list is automatically generated at release time. Please do not change it. | |
57 | + | |
56 | 58 | If you are not listed here, but should be, please write to the noosfero mailing |
57 | 59 | list: http://listas.softwarelivre.org/cgi-bin/mailman/listinfo/noosfero-dev |
58 | 60 | (this list requires subscription to post, but since you are an author of |
... | ... | @@ -82,7 +84,7 @@ EOF |
82 | 84 | begin |
83 | 85 | File.open("AUTHORS.md", 'w') do |output| |
84 | 86 | output.puts AUTHORS_HEADER |
85 | - output.puts `git log --no-merges --pretty=format:'%aN <%aE>' | sort | uniq` | |
87 | + output.puts `./script/authors` | |
86 | 88 | output.puts AUTHORS_FOOTER |
87 | 89 | end |
88 | 90 | commit_changes(['AUTHORS.md'], 'Updating authors file') if !pendencies_on_authors[:ok] | ... | ... |
plugins/community_track/controllers/myprofile/community_track_plugin_myprofile_controller.rb
plugins/community_track/controllers/public/community_track_plugin_public_controller.rb
plugins/community_track/lib/community_track_plugin/track.rb
... | ... | @@ -84,7 +84,8 @@ class CommunityTrackPlugin::Track < Folder |
84 | 84 | |
85 | 85 | def category_name |
86 | 86 | category = categories.first |
87 | - category ? (category.top_ancestor.nil? ? '' : category.top_ancestor.name) : '' | |
87 | + category = category.top_ancestor unless category.nil? | |
88 | + category.nil? ? '' : category.name | |
88 | 89 | end |
89 | 90 | |
90 | 91 | def to_html(options = {}) | ... | ... |
plugins/community_track/test/functional/community_track_plugin_cms_controller_test.rb
plugins/community_track/test/functional/community_track_plugin_content_viewer_controller_test.rb
1 | -require File.dirname(__FILE__) + '/../test_helper' | |
2 | - | |
3 | -class ContentViewerController | |
4 | - append_view_path File.join(File.dirname(__FILE__) + '/../../views') | |
5 | - def rescue_action(e) | |
6 | - raise e | |
7 | - end | |
8 | -end | |
1 | +require_relative '../test_helper' | |
9 | 2 | |
3 | +class ContentViewerController; def rescue_action(e) raise e end; end | |
10 | 4 | class ContentViewerControllerTest < ActionController::TestCase |
11 | 5 | |
12 | 6 | def setup |
... | ... | @@ -87,32 +81,32 @@ class ContentViewerControllerTest < ActionController::TestCase |
87 | 81 | end |
88 | 82 | |
89 | 83 | should 'render a div with block id for track list block' do |
90 | - @block = CommunityTrackPlugin::TrackListBlock.create!(:box => @profile.boxes.last) | |
84 | + @block = CommunityTrackPlugin::TrackListBlock.create!(:box => @profile.boxes.first) | |
91 | 85 | get :view_page, @step.url |
92 | 86 | assert_tag :tag => 'div', :attributes => { :class => 'track_list', :id => "track_list_#{@block.id}" } |
93 | 87 | end |
94 | 88 | |
95 | 89 | should 'render a div with block id for track card list block' do |
96 | - @block = CommunityTrackPlugin::TrackCardListBlock.create!(:box => @profile.boxes.last) | |
90 | + @block = CommunityTrackPlugin::TrackCardListBlock.create!(:box => @profile.boxes.first) | |
97 | 91 | get :view_page, @step.url |
98 | 92 | assert_tag :tag => 'div', :attributes => { :class => 'track_list', :id => "track_list_#{@block.id}" } |
99 | 93 | end |
100 | 94 | |
101 | 95 | should 'render tracks in track list block' do |
102 | - @block = CommunityTrackPlugin::TrackListBlock.create!(:box => @profile.boxes.last) | |
96 | + @block = CommunityTrackPlugin::TrackListBlock.create!(:box => @profile.boxes.first) | |
103 | 97 | get :view_page, @step.url |
104 | 98 | assert_tag :tag => 'div', :attributes => { :class => "item category_#{@track.category_name}" }, :descendant => { :tag => 'div', :attributes => { :class => 'steps' }, :descendant => { :tag => 'span', :attributes => { :class => "step #{@block.status_class(@step)}" } } } |
105 | 99 | end |
106 | 100 | |
107 | 101 | should 'render tracks in track card list block' do |
108 | - @block = CommunityTrackPlugin::TrackCardListBlock.create!(:box => @profile.boxes.last) | |
102 | + @block = CommunityTrackPlugin::TrackCardListBlock.create!(:box => @profile.boxes.first) | |
109 | 103 | get :view_page, @step.url |
110 | 104 | assert_tag :tag => 'div', :attributes => { :class => "item_card category_#{@track.category_name}" }, :descendant => { :tag => 'div', :attributes => { :class => 'track_content' } } |
111 | 105 | assert_tag :tag => 'div', :attributes => { :class => "item_card category_#{@track.category_name}" }, :descendant => { :tag => 'div', :attributes => { :class => 'track_stats' } } |
112 | 106 | end |
113 | 107 | |
114 | 108 | should 'render link to display more tracks in track list block' do |
115 | - @block = CommunityTrackPlugin::TrackCardListBlock.create!(:box => @profile.boxes.last) | |
109 | + @block = CommunityTrackPlugin::TrackCardListBlock.create!(:box => @profile.boxes.first) | |
116 | 110 | (@block.limit+1).times { |i| create_track("track#{i}", @profile) } |
117 | 111 | |
118 | 112 | get :view_page, @step.url |
... | ... | @@ -120,7 +114,7 @@ class ContentViewerControllerTest < ActionController::TestCase |
120 | 114 | end |
121 | 115 | |
122 | 116 | should 'render link to show all tracks in track list block' do |
123 | - @block = CommunityTrackPlugin::TrackCardListBlock.create!(:box => @profile.boxes.last) | |
117 | + @block = CommunityTrackPlugin::TrackCardListBlock.create!(:box => @profile.boxes.first) | |
124 | 118 | @block.more_another_page = true |
125 | 119 | @block.save! |
126 | 120 | ... | ... |
plugins/community_track/test/functional/community_track_plugin_environment_design_controller_test.rb
plugins/community_track/test/functional/community_track_plugin_myprofile_controller_test.rb
1 | -require File.dirname(__FILE__) + '/../test_helper' | |
2 | -require File.dirname(__FILE__) + '/../../controllers/myprofile/community_track_plugin_myprofile_controller' | |
1 | +require_relative '../test_helper' | |
2 | +require_relative '../../controllers/myprofile/community_track_plugin_myprofile_controller' | |
3 | 3 | |
4 | 4 | # Re-raise errors caught by the controller. |
5 | 5 | class CommunityTrackPluginMyprofileController; def rescue_action(e) raise e end; end |
... | ... | @@ -7,10 +7,6 @@ class CommunityTrackPluginMyprofileController; def rescue_action(e) raise e end; |
7 | 7 | class CommunityTrackPluginMyprofileControllerTest < ActionController::TestCase |
8 | 8 | |
9 | 9 | def setup |
10 | - @controller = CommunityTrackPluginMyprofileController.new | |
11 | - @request = ActionController::TestRequest.new | |
12 | - @response = ActionController::TestResponse.new | |
13 | - | |
14 | 10 | @profile = fast_create(Community) |
15 | 11 | @track = create_track('track', @profile) |
16 | 12 | ... | ... |
plugins/community_track/test/functional/community_track_plugin_public_controller_test.rb
1 | -require File.dirname(__FILE__) + '/../test_helper' | |
2 | -require File.dirname(__FILE__) + '/../../controllers/public/community_track_plugin_public_controller' | |
1 | +require_relative '../test_helper' | |
2 | +require_relative '../../controllers/public/community_track_plugin_public_controller' | |
3 | 3 | |
4 | 4 | # Re-raise errors caught by the controller. |
5 | 5 | class CommunityTrackPluginPublicController; def rescue_action(e) raise e end; end | ... | ... |
plugins/community_track/test/test_helper.rb
plugins/community_track/test/unit/article_test.rb
plugins/community_track/test/unit/community_track_plugin/activation_job_test.rb
plugins/community_track/test/unit/community_track_plugin/step_helper_test.rb
plugins/community_track/test/unit/community_track_plugin/step_test.rb
plugins/community_track/test/unit/community_track_plugin/track_card_list_block_test.rb
plugins/community_track/test/unit/community_track_plugin/track_helper_test.rb
plugins/community_track/test/unit/community_track_plugin/track_list_block_test.rb
plugins/community_track/test/unit/community_track_plugin/track_test.rb
plugins/community_track/test/unit/community_track_plugin_test.rb
plugins/event/lib/event_plugin/event_block.rb
... | ... | @@ -26,8 +26,8 @@ class EventPlugin::EventBlock < Block |
26 | 26 | end |
27 | 27 | |
28 | 28 | def events(user = nil) |
29 | - events = events_source.events | |
30 | - events = events.published.order('start_date') | |
29 | + events = events_source.events.order('start_date') | |
30 | + events = user.nil? ? events.public : events.display_filter(user,nil) | |
31 | 31 | |
32 | 32 | if future_only |
33 | 33 | events = events.where('start_date >= ?', Date.today) | ... | ... |
... | ... | @@ -0,0 +1 @@ |
1 | +require_relative '../../../test/test_helper' | ... | ... |
plugins/event/test/unit/event_block_test.rb
1 | -require File.dirname(__FILE__) + '/../../../../test/test_helper' | |
1 | +require_relative '../test_helper' | |
2 | 2 | |
3 | -class EventPlugin::EventBlockTest < ActiveSupport::TestCase | |
3 | +class EventBlockTest < ActiveSupport::TestCase | |
4 | 4 | |
5 | 5 | def setup |
6 | 6 | @env = Environment.default |
... | ... | @@ -165,7 +165,7 @@ class EventPlugin::EventBlockTest < ActiveSupport::TestCase |
165 | 165 | |
166 | 166 | def visibility_content_test_from_a_profile(profile) |
167 | 167 | @block.box.owner = @env |
168 | - ev = fast_create Event, :name => '2 de Julho', :profile_id => profile.id | |
168 | + ev = Event.create!(:name => '2 de Julho', :profile => profile) | |
169 | 169 | @block.all_env_events = true |
170 | 170 | |
171 | 171 | # Do not list event from private profile for non logged visitor | ... | ... |
plugins/event/test/unit/event_plugin_test.rb
plugins/lattes_curriculum/features/lattes_curriculum.feature
... | ... | @@ -29,7 +29,7 @@ Feature: import lattes information |
29 | 29 | And I fill in "Lattes URL" with "http://lattes.cnpq.br/2864976228727880" |
30 | 30 | And I press "Save" |
31 | 31 | And I go to /profile/admin_user#lattes_tab |
32 | - Then I should see "Endereço para acessar este CV: http://lattes.cnpq.br/2864976228727880" | |
32 | + Then I should see "Lattes" | |
33 | 33 | |
34 | 34 | Scenario: Don't show lattes informations for blank lattes urls |
35 | 35 | Given I am on admin_user's control panel | ... | ... |
plugins/lattes_curriculum/lib/html_parser.rb
... | ... | @@ -19,6 +19,8 @@ class Html_parser |
19 | 19 | page = _("Lattes not found. Please, make sure the informed URL is correct.") |
20 | 20 | rescue Timeout::Error => e |
21 | 21 | page = _("Lattes Platform is unreachable. Please, try it later.") |
22 | + rescue | |
23 | + page = _("Could not import the lattes") | |
22 | 24 | end |
23 | 25 | end |
24 | 26 | ... | ... |
plugins/lattes_curriculum/test/unit/html_parser_test.rb
... | ... | @@ -12,13 +12,4 @@ class HtmlParserTest < ActiveSupport::TestCase |
12 | 12 | should 'be not nil the instance' do |
13 | 13 | assert_not_nil @parser |
14 | 14 | end |
15 | - | |
16 | - should 'be not nil the return get_html' do | |
17 | - result = @parser.get_html("http://lattes.cnpq.br/2193972715230641") | |
18 | - assert result.include?("Endereço para acessar este CV") | |
19 | - end | |
20 | - | |
21 | - should 'inform that lattes was not found' do | |
22 | - assert_equal "Lattes not found. Please, make sure the informed URL is correct.", @parser.get_html("http://lattes.cnpq.br/123") | |
23 | - end | |
24 | 15 | end | ... | ... |
plugins/sub_organizations/db/migrate/20150508153119_add_timestamp_to_relation.rb
... | ... | @@ -2,5 +2,7 @@ class AddTimestampToRelation < ActiveRecord::Migration |
2 | 2 | def change |
3 | 3 | add_column :sub_organizations_plugin_relations, :created_at, :datetime |
4 | 4 | add_column :sub_organizations_plugin_relations, :updated_at, :datetime |
5 | + add_column :sub_organizations_plugin_approve_paternity_relations, :created_at, :datetime | |
6 | + add_column :sub_organizations_plugin_approve_paternity_relations, :updated_at, :datetime | |
5 | 7 | end |
6 | 8 | end | ... | ... |
... | ... | @@ -0,0 +1,217 @@ |
1 | +s/Alessandro Palmeira$/Alessandro Palmeira <alessandro.palmeira@gmail.com>/ | |
2 | +s/Alessandro Palmeira <caio.csalgado@gmail.com>/Alessandro Palmeira <alessandro.palmeira@gmail.com>/ | |
3 | +s/Alessandro Palmeira <diegoamc90@gmail.com>/Alessandro Palmeira <alessandro.palmeira@gmail.com>/ | |
4 | +s/Alessandro Palmeira <jaodsilv@linux.ime.usp.br>/Alessandro Palmeira <alessandro.palmeira@gmail.com>/ | |
5 | +s/Alessandro Palmeira <paulo@softwarelivre.org>/Alessandro Palmeira <alessandro.palmeira@gmail.com>/ | |
6 | +s/Alessandro Palmeira <rr.manzo@gmail.com>/Alessandro Palmeira <alessandro.palmeira@gmail.com>/ | |
7 | + | |
8 | +s/analosnak <analosnak@gmail.com>/Ana Losnak <analosnak@gmail.com>/ | |
9 | +s/^Ana Losnak$/Ana Losnak <analosnak@gmail.com>/ | |
10 | + | |
11 | +s/Andre Bernardes <andrebsguedes@gmail.com>/André Guedes <andrebsguedes@gmail.com>/ | |
12 | +s/André Bernardes <andrebsguedes@gmail.com>/André Guedes <andrebsguedes@gmail.com>/ | |
13 | +s/André Guedes <andrebsguedes@fedora.local>/André Guedes <andrebsguedes@gmail.com>/ | |
14 | + | |
15 | + | |
16 | +s/Alex de Souza <campelo.al1@gmail.com>/Alex Campelo <campelo.al1@gmail.com>/ | |
17 | +s/alcampelo <alcampelo@alcampelo.(none)>/Alex Campelo <campelo.al1@gmail.com>/ | |
18 | +s/Alvaro Fernando <alvarofernandoms@gmail.com>/Álvaro Fernando <alvarofernandoms@gmail.com>/ | |
19 | + | |
20 | +s/athurmde@yahoo.com.br/arthurmde@yahoo.com.br/ | |
21 | +s/^Antonio Terceiro$/Antonio Terceiro <terceiro@colivre.coop.br>/ | |
22 | + | |
23 | +s/Arhur Del Esposte/Arthur Del Esposte/ | |
24 | +s/Arthur Del Esposte <arthurmde@yahoo.com.br>/Arthur Del Esposte <arthurmde@gmail.com>/ | |
25 | + | |
26 | +s/Aurélio A. Heckert/Aurelio A. Heckert/ | |
27 | + | |
28 | +s/Bráulio Bhavamitra <brauliobo@gmail.com>/Braulio Bhavamitra <braulio@eita.org.br>/ | |
29 | +s/Braulio Bhavamitra <brauliobo@gmail.com>/Braulio Bhavamitra <braulio@eita.org.br>/ | |
30 | + | |
31 | +s/Carlos Andre <carlos.andre.souza@msn.com>/Carlos Andre de Souza <carlos.andre.souza@msn.com>/ | |
32 | + | |
33 | +s/^Caio Almeida$/Caio SBA <caio@colivre.coop.br>/ | |
34 | + | |
35 | +s/^Caio$/Caio Salgado <caio.csalgado@gmail.com>/ | |
36 | +s/Caio <caio.csalgado@gmail.com>/Caio Salgado <caio.csalgado@gmail.com>/ | |
37 | +s/Caio C. Salgado <alessandro.palmeira@gmail.com>/Caio Salgado <caio.csalgado@gmail.com>/ | |
38 | +s/^Caio Salgado$/Caio Salgado <caio.csalgado@gmail.com>/ | |
39 | +s/Caio Salgado <alessandro.palmeira@gmail.com>/Caio Salgado <caio.csalgado@gmail.com>/ | |
40 | +s/Caio Salgado <diegoamc90@gmail.com>/Caio Salgado <caio.csalgado@gmail.com>/ | |
41 | +s/Caio Salgado <jaodsilv@linux.ime.usp.br>/Caio Salgado <caio.csalgado@gmail.com>/ | |
42 | +s/Caio Salgado <renanteruoc@gmail.com>/Caio Salgado <caio.csalgado@gmail.com>/ | |
43 | + | |
44 | +s/Carlos Morais$/Carlos Morais <carlos88morais@gmail.com>/ | |
45 | +s/Carlos Morais <alessandro.palmeira@gmail.com>/Carlos Morais <carlos88morais@gmail.com>/ | |
46 | +s/Carlos Morais <jaodsilv@linux.ime.usp.br>/Carlos Morais <carlos88morais@gmail.com>/ | |
47 | +s/Carlos Morais <paulo@softwarelivre.org>/Carlos Morais <carlos88morais@gmail.com>/ | |
48 | +s/Carlos Morais <terceiro@colivre.coop.br>/Carlos Morais <carlos88morais@gmail.com>/ | |
49 | + | |
50 | +s/Daniel Alves$/Daniel Alves <danpaulalves@gmail.com>/ | |
51 | +s/Daniel Alves <alessandro.palmeira@gmail.com>/Daniel Alves <danpaulalves@gmail.com>/ | |
52 | + | |
53 | +s/Daniel Bucher$/Daniel Bucher <daniel.bucher88@gmail.com>/ | |
54 | + | |
55 | +s/daniel <dtygel@eita.org.br>/Daniel Tygel <dtygel@eita.org.br>/ | |
56 | +s/dtygel <dtygel@gmail.com>/Daniel Tygel <dtygel@eita.org.br>/ | |
57 | + | |
58 | +/^Daniela Feitosa$/d | |
59 | +s/DylanGuedes/Dylan Guedes/ | |
60 | + | |
61 | +s/Diego$/Diego Araujo <diegoamc90@gmail.com>/ | |
62 | +s/diegoamc <diegoamc90@gmail.com>/Diego Araujo <diegoamc90@gmail.com>/ | |
63 | +s/Diego Araujo$/Diego Araujo <diegoamc90@gmail.com>/ | |
64 | +s/Diego Araújo$/Diego Araujo <diegoamc90@gmail.com>/ | |
65 | +s/Diego Araujo <alessandro.palmeira@gmail.com>/Diego Araujo <diegoamc90@gmail.com>/ | |
66 | +s/Diego Araújo <alessandro.palmeira@gmail.com>/Diego Araujo <diegoamc90@gmail.com>/ | |
67 | +s/Diego Araujo <caio.csalgado@gmail.com>/Diego Araujo <diegoamc90@gmail.com>/ | |
68 | +s/Diego Araújo <caio.csalgado@gmail.com>/Diego Araujo <diegoamc90@gmail.com>/ | |
69 | +s/Diego Araújo <danpaulalves@gmail.com>/Diego Araujo <diegoamc90@gmail.com>/ | |
70 | +s/Diego Araújo <diegoamc90@gmail.com>/Diego Araujo <diegoamc90@gmail.com>/ | |
71 | +s/Diego Araújo <jaodsilv@linux.ime.usp.br>/Diego Araujo <diegoamc90@gmail.com>/ | |
72 | +s/Diego Araújo <paulo@softwarelivre.org>/Diego Araujo <diegoamc90@gmail.com>/ | |
73 | +s/Diego Araujo <renanteruoc@gmail.com>/Diego Araujo <diegoamc90@gmail.com>/ | |
74 | +s/Diego Araújo <renanteruoc@gmail.com>/Diego Araujo <diegoamc90@gmail.com>/ | |
75 | +s/Diego Araujo <rr.manzo@gmail.com>/Diego Araujo <diegoamc90@gmail.com>/ | |
76 | +s/Diego Araújo <rr.manzo@gmail.com>/Diego Araujo <diegoamc90@gmail.com>/ | |
77 | +s/Diego Martinez <diegoamc90@gmail.com>/Diego Araujo <diegoamc90@gmail.com>/ | |
78 | + | |
79 | +# no known email | |
80 | +s/Eduardo Morais <alessandro.palmeira@gmail.com>/Eduardo Morais/ | |
81 | +s/Eduardo Morais <carlos88morais@gmail.com>/Eduardo Morais/ | |
82 | + | |
83 | +s/Eduardo Passos <eduardo@risa.localdomain.localhost>/Eduardo Passos <eduardosteps@gmail.com>/ | |
84 | + | |
85 | +s/Evandro Jr <evandrojr@gmail.com>/Evandro Magalhaes Leite Junior <evandro.leite@serpro.gov.br>/ | |
86 | +s/Evandro Junior <evandrojr@gmail.com>/Evandro Magalhaes Leite Junior <evandro.leite@serpro.gov.br>/ | |
87 | + | |
88 | +s/Fábio Teixeira <fabio1079@gmail.com>/Fabio Teixeira <fabio1079@gmail.com>/ | |
89 | + | |
90 | +s/Francisco Marcelo A. Lima Júnior <francisco.lima-junior@serpro.gov.br>/Francisco Marcelo de Araújo Lima Júnior <francisco.lima-junior@serpro.gov.br>/ | |
91 | +s/Francisco Marcelo de Araujo Lima Junior <79350259591@serpro-1457614.(none)>/Francisco Marcelo de Araújo Lima Júnior <francisco.lima-junior@serpro.gov.br>/ | |
92 | +s/Francisco Marcelo de Araújo Lima Júnior <maljunior@gmail.com>/Francisco Marcelo de Araújo Lima Júnior <francisco.lima-junior@serpro.gov.br>/ | |
93 | + | |
94 | + | |
95 | +s/Gustavo Cruz <darksshades@hotmail.com>/Gustavo Jaruga <darksshades@gmail.com>/ | |
96 | +s/Gustavo Jaruga <darksshades@hotmail.com>/Gustavo Jaruga <darksshades@gmail.com>/ | |
97 | +s/Gust <darksshades@hotmail.com>/Gustavo Jaruga <darksshades@gmail.com>/ | |
98 | + | |
99 | +s/Guilherme Rojas <alessandro.palmeira@gmail.com>/Guilherme Rojas <guilhermehrojas@gmail.com>/ | |
100 | +s/Guilherme Rojas <danpaulalves@gmail.com>/Guilherme Rojas <guilhermehrojas@gmail.com>/ | |
101 | +s/Guilherme Rojas <diegoamc90@gmail.com>/Guilherme Rojas <guilhermehrojas@gmail.com>/ | |
102 | + | |
103 | +s/Hebert Douglas <hebertdougl@gmail>/Hebert Douglas <hebertdougl@gmail.com>/ | |
104 | + | |
105 | +s/Jefferson <diegoamc90@gmail.com>/Jefferson Fernandes <jeffs.fernandes@gmail.com>/ | |
106 | +s/Jefferson Fernandes$/Jefferson Fernandes <jeffs.fernandes@gmail.com>/ | |
107 | +s/Jefferson Fernandes <alessandro.palmeira@gmail.com>/Jefferson Fernandes <jeffs.fernandes@gmail.com>/ | |
108 | +s/Jefferson Fernandes <caio.csalgado@gmail.com>/Jefferson Fernandes <jeffs.fernandes@gmail.com>/ | |
109 | +s/Jefferson Fernandes <diegoamc90@gmail.com>/Jefferson Fernandes <jeffs.fernandes@gmail.com>/ | |
110 | +s/Jefferson Fernandes <jaodsilv@linux.ime.usp.br>/Jefferson Fernandes <jeffs.fernandes@gmail.com>/ | |
111 | +s/Jefferson Fernandes <rr.manzo@gmail.com>/Jefferson Fernandes <jeffs.fernandes@gmail.com>/ | |
112 | + | |
113 | +# no known email | |
114 | +s/João Machini <diegoamc90@gmail.com>/João Machini/ | |
115 | +s/João Machini <digoamc90@gmail.com>/João Machini/ | |
116 | +s/João Machini <jaodsilv@linux.ime.usp.br>/João Machini/ | |
117 | + | |
118 | +s/João da Silva$/João M. M. da Silva <jaodsilv@linux.ime.usp.br>/ | |
119 | +s/João da Silva <jaodsilv@linux.ime.usp.br>/João M. M. da Silva <jaodsilv@linux.ime.usp.br>/ | |
120 | +s/Joao M. M. da Silva$/João M. M. da Silva <jaodsilv@linux.ime.usp.br>/ | |
121 | +s/João M. M. da Silva$/João M. M. da Silva <jaodsilv@linux.ime.usp.br>/ | |
122 | +s/João M. M. da Silva <alessandro.palmeira@gmail.com>/João M. M. da Silva <jaodsilv@linux.ime.usp.br>/ | |
123 | +s/João M. M. da Silva <caio.csalgado@gmail.com>/João M. M. da Silva <jaodsilv@linux.ime.usp.br>/ | |
124 | +s/João M. M. da Silva <diegoamc90@gmail.com>/João M. M. da Silva <jaodsilv@linux.ime.usp.br>/ | |
125 | +s/Joao M. M. da Silva <jeffs.fernandes@gmail.com>/João M. M. da Silva <jaodsilv@linux.ime.usp.br>/ | |
126 | +s/João M. M. da Silva <paulo@softwarelivre.org>/João M. M. da Silva <jaodsilv@linux.ime.usp.br>/ | |
127 | +s/João M. M. da Silva <rr.manzo@gmail.com>/João M. M. da Silva <jaodsilv@linux.ime.usp.br>/ | |
128 | +s/João M. Miranda <jaodsilv@linux.ime.usp.br>/João M. M. da Silva <jaodsilv@linux.ime.usp.br>/ | |
129 | +s/Joao M. M. Silva$/João M. M. da Silva <jaodsilv@linux.ime.usp.br>/ | |
130 | +s/João M. M. Silva$/João M. M. da Silva <jaodsilv@linux.ime.usp.br>/ | |
131 | +s/João M. M. Silva <alessandro.palmeira@gmail.com>/João M. M. da Silva <jaodsilv@linux.ime.usp.br>/ | |
132 | +s/Joao M. M. Silva <jeffs.fernandes@gmail.com>/João M. M. da Silva <jaodsilv@linux.ime.usp.br>/ | |
133 | +s/João M. M. Silva <rr.manzo@gmail.com>/João M. M. da Silva <jaodsilv@linux.ime.usp.br>/ | |
134 | +s/João Marco Maciel da Silva/João M. M. da Silva <jaodsilv@linux.ime.usp.br>/ | |
135 | +s/João <caio.csalgado@gmail.com>/João M. M. da Silva <jaodsilv@linux.ime.usp.br>/ | |
136 | + | |
137 | +s/José Pedro de Santana Neto <1jpsneto@gmail.com>/Jose Pedro <1jpsneto@gmail.com>/ | |
138 | + | |
139 | +s/Junior Silva <junior@bajor.localhost.localdomain>/Junior Silva <juniorsilva1001@gmail.com>/ | |
140 | +s/Junior Silva <junior@sedeantigo.colivre.coop.br>/Junior Silva <juniorsilva1001@gmail.com>/ | |
141 | +s/Junior Silva <juniorsilva7@juniorsilva-Aspire-5750Z.(none)>/Junior Silva <juniorsilva1001@gmail.com>/ | |
142 | +s/Junior Silva <juniorsilva@colivre.coop.br>/Junior Silva <juniorsilva1001@gmail.com>/ | |
143 | +s/juniorsilva <juniorsilva@QonoS.localhost.localdomain>/Junior Silva <juniorsilva1001@gmail.com>/ | |
144 | + | |
145 | +s/Larissa Reis <reiss.larissa@gmail.com>/Larissa Reis <larissa@colivre.coop.br>/ | |
146 | + | |
147 | +s/Leandro Nunes$/Leandro Nunes dos Santos <leandro.santos@serpro.gov.br>/ | |
148 | +s/Leandro Nunes dos Santos <81665687568@serpro-1541727.Home>/Leandro Nunes dos Santos <leandro.santos@serpro.gov.br>/ | |
149 | +s/Leandro Nunes dos Santos <81665687568@serpro-1541727.(none)>/Leandro Nunes dos Santos <leandro.santos@serpro.gov.br>/ | |
150 | +s/Leandro Nunes dos Santos <leandronunes@gmail.com>/Leandro Nunes dos Santos <leandro.santos@serpro.gov.br>/ | |
151 | + | |
152 | +s/Lucas Melo <lucas@colivre.coop.br>/Lucas Melo <lucaspradomelo@gmail.com>/ | |
153 | + | |
154 | +s/Luciano <lucianopcbr@gmail.com>/Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>/ | |
155 | +s/Luciano Prestes <lucianopcbr@gmail.com>/Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>/ | |
156 | +s/Luciano Prestes Cavacanti <lucianopcbr@gmail.com>/Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>/ | |
157 | + | |
158 | +s/Marcos da Silva Ramos <ms.ramos@outlook.com>/Marcos Ramos <ms.ramos@outlook.com>/ | |
159 | +s/Marcos Ramos <ms.ramos@outlook.com$/Marcos Ramos <ms.ramos@outlook.com>/ | |
160 | +s/Marcos <marcos.rpj2@gmail.com>/Marcos Ronaldo <marcos.rpj2@gmail.com>/ | |
161 | + | |
162 | +s/Parley Martins <parley@outlook.com>/Parley Martins <parleypachecomartins@gmail.com>/ | |
163 | + | |
164 | +s/Paulo Meirelles$/Paulo Meirelles <paulo@softwarelivre.org>/ | |
165 | +s/Paulo Meirelles <alessandro.palmeira@gmail.com>/Paulo Meirelles <paulo@softwarelivre.org>/ | |
166 | +s/Paulo Meirelles <carlos88morais@gmail.com>/Paulo Meirelles <paulo@softwarelivre.org>/ | |
167 | +s/Paulo Meirelles <diegoamc90@gmail.com>/Paulo Meirelles <paulo@softwarelivre.org>/ | |
168 | +s/Paulo Meirelles <jaodsilv@linux.ime.usp.br>/Paulo Meirelles <paulo@softwarelivre.org>/ | |
169 | +s/Paulo Meirelles <renanteruoc@gmail.com>/Paulo Meirelles <paulo@softwarelivre.org>/ | |
170 | +s/Paulo Meirelles <rr.manzo@gmail.com>/Paulo Meirelles <paulo@softwarelivre.org>/ | |
171 | +s/Paulo Meirelles <terceiro@colivre.coop.br>/Paulo Meirelles <paulo@softwarelivre.org>/ | |
172 | + | |
173 | +# no known email | |
174 | +s/Pedro$/Pedro Leal/ | |
175 | +s/Pedro <caio.csalgado@gmail.com>/Pedro Leal/ | |
176 | +s/Pedro Leal <caio.csalgado@gmail.com>/Pedro Leal/ | |
177 | +s/Pedro Leal <carlos88morais@gmail.com>/Pedro Leal/ | |
178 | +s/Pedro Leal <diegoamc90@gmail.com>/Pedro Leal/ | |
179 | +s/Pedro Leal <jaodsilv@linux.ime.usp.br>/Pedro Leal/ | |
180 | + | |
181 | +s/Rafael Manzo$/Rafael Reggiani Manzo <rr.manzo@gmail.com>/ | |
182 | +s/Rafael Manzo <alessandro.palmeira@gmail.com>/Rafael Reggiani Manzo <rr.manzo@gmail.com>/ | |
183 | +s/Rafael Manzo <caio.csalgado@gmail.com>/Rafael Reggiani Manzo <rr.manzo@gmail.com>/ | |
184 | +s/Rafael Manzo <diegoamc90@gmail.com>/Rafael Reggiani Manzo <rr.manzo@gmail.com>/ | |
185 | +s/Rafael Manzo <jaodsilv@linux.ime.usp.br>/Rafael Reggiani Manzo <rr.manzo@gmail.com>/ | |
186 | +s/Rafael Manzo <jeffs.fernandes@gmail.com>/Rafael Reggiani Manzo <rr.manzo@gmail.com>/ | |
187 | +s/Rafael Manzo <paulo@softwarelivre.org>/Rafael Reggiani Manzo <rr.manzo@gmail.com>/ | |
188 | +s/Rafael Manzo <renanteruoc@gmail.com>/Rafael Reggiani Manzo <rr.manzo@gmail.com>/ | |
189 | +s/Rafael Manzo <rr.manzo@gmail.com>/Rafael Reggiani Manzo <rr.manzo@gmail.com>/ | |
190 | +s/Rafael Reggiani Manzo$/Rafael Reggiani Manzo <rr.manzo@gmail.com>/ | |
191 | + | |
192 | +s/Renan <renanteruoc@gmail.com>/Renan Teruo <renanteruoc@gmail.com>/ | |
193 | +s/Renan Teruo$/Renan Teruo <renanteruoc@gmail.com>/ | |
194 | +s/Renan Teruo <alessandro.palmeira@gmail.com>/Renan Teruo <renanteruoc@gmail.com>/ | |
195 | +s/Renan Teruoc$/Renan Teruo <renanteruoc@gmail.com>/ | |
196 | +s/Renan Teruo <caio.csalgado@gmail.com>/Renan Teruo <renanteruoc@gmail.com>/ | |
197 | +s/Renan Teruo <caio.salgado@gmail.com>/Renan Teruo <renanteruoc@gmail.com>/ | |
198 | +s/Renan Teruo <diegoamc90@gmail.com>/Renan Teruo <renanteruoc@gmail.com>/ | |
199 | +s/Renan Teruo <jaodsilv@linux.ime.usp.br>/Renan Teruo <renanteruoc@gmail.com>/ | |
200 | + | |
201 | +s/Rodrigo Souto$/Rodrigo Souto <rodrigo@colivre.coop.br>/ | |
202 | + | |
203 | +/root <root@debian.sdr.serpro>/d | |
204 | + | |
205 | +s/Tales Martins <tales.martins@gmail.com>/Tallys Martins <tallysmartins@yahoo.com.br>/ | |
206 | +s/Tallys Martins <tallysmartins@gmail.com>/Tallys Martins <tallysmartins@yahoo.com.br>/ | |
207 | +s/tallys <tallys@tallys>/Tallys Martins <tallysmartins@yahoo.com.br>/ | |
208 | +s/tallys <tallys@tallys.(none)>/Tallys Martins <tallysmartins@yahoo.com.br>/ | |
209 | +s/Thiago Ribeiro <thiagitosouza@gmail.com>/Thiago Ribeiro <thiagitosouza@hotmail.com>/ | |
210 | + | |
211 | +s/Valéssio Brito <contato@valessiobrito.com.br>/Valessio Brito <contato@valessiobrito.com.br>/ | |
212 | +s/Valessio Brito <contato@valessiobrito.info>/Valessio Brito <contato@valessiobrito.com.br>/ | |
213 | +s/Valessio Brito <valessio@gmail.com>/Valessio Brito <contato@valessiobrito.com.br>/ | |
214 | +/Visita <visita@debian.(none)>/d | |
215 | +s/vfcosta <vfcosta@gmail.com>/Victor Costa <vfcosta@gmail.com>/ | |
216 | +s/Victor Carvalho <victorhugodf.ac@gmail.com>/Victor Hugo Alves de Carvalho <victorhugodf.ac@gmail.com>/ | |
217 | + | ... | ... |
script/quick-start
test/unit/api/articles_test.rb
... | ... | @@ -348,4 +348,75 @@ class ArticlesTest < ActiveSupport::TestCase |
348 | 348 | assert_equal [0, 1, 1], [a1.reload.hits, a2.reload.hits, a3.reload.hits] |
349 | 349 | end |
350 | 350 | |
351 | + | |
352 | + should 'list all events of a community in a given category' do | |
353 | + co = Community.create(identifier: 'my-community', name: 'name-my-community') | |
354 | + c1 = Category.create(environment: Environment.default, name: 'my-category') | |
355 | + c2 = Category.create(environment: Environment.default, name: 'dont-show-me-this-category') | |
356 | + e1 = fast_create(Event, :profile_id => co.id) | |
357 | + e2 = fast_create(Event, :profile_id => co.id) | |
358 | + e1.categories << c1 | |
359 | + e2.categories << c2 | |
360 | + e1.save! | |
361 | + e2.save! | |
362 | + params['content_type']='Event' | |
363 | + get "api/v1/communities/#{co.id}/articles?#{params.to_query}" | |
364 | + json = JSON.parse(last_response.body) | |
365 | + assert_equal json['articles'].count, 2 | |
366 | + end | |
367 | + | |
368 | + should 'list a event of a community in a given category' do | |
369 | + co = Community.create(identifier: 'my-community', name: 'name-my-community') | |
370 | + c1 = Category.create(environment: Environment.default, name: 'my-category') | |
371 | + c2 = Category.create(environment: Environment.default, name: 'dont-show-me-this-category') | |
372 | + e1 = fast_create(Event, :profile_id => co.id) | |
373 | + e2 = fast_create(Event, :profile_id => co.id) | |
374 | + e1.categories << c1 | |
375 | + e2.categories << c2 | |
376 | + e1.save! | |
377 | + e2.save! | |
378 | + params['categories_ids[]']=c1.id | |
379 | + params['content_type']='Event' | |
380 | + get "api/v1/communities/#{co.id}/articles?#{params.to_query}" | |
381 | + json = JSON.parse(last_response.body) | |
382 | + #should show only one article, since the other not in the same category | |
383 | + assert_equal 1, json['articles'].count | |
384 | + assert_equal e1.id, json['articles'][0]['id'] | |
385 | + end | |
386 | + | |
387 | + should 'list events of a community in a given 2 categories' do | |
388 | + co = Community.create(identifier: 'my-community', name: 'name-my-community') | |
389 | + c1 = Category.create(environment: Environment.default, name: 'my-category') | |
390 | + c2 = Category.create(environment: Environment.default, name: 'dont-show-me-this-category') | |
391 | + e1 = fast_create(Event, :profile_id => co.id) | |
392 | + e2 = fast_create(Event, :profile_id => co.id) | |
393 | + e1.categories << c1 | |
394 | + e2.categories << c2 | |
395 | + e1.save! | |
396 | + e2.save! | |
397 | + params['content_type']='Event' | |
398 | + params['categories_ids'] = [c1.id, c2.id] | |
399 | + get "api/v1/communities/#{co.id}/articles?#{params.to_query}" | |
400 | + json = JSON.parse(last_response.body) | |
401 | + assert_equal json['articles'].count, 2 | |
402 | + end | |
403 | + | |
404 | + should 'Show 2 events since it uses an IN operator for category instead of an OR' do | |
405 | + co = Community.create(identifier: 'my-community', name: 'name-my-community') | |
406 | + c1 = Category.create(environment: Environment.default, name: 'my-category') | |
407 | + c2 = Category.create(environment: Environment.default, name: 'dont-show-me-this-category') | |
408 | + c3 = Category.create(environment: Environment.default, name: 'extra-category') | |
409 | + e1 = fast_create(Event, :profile_id => co.id) | |
410 | + e2 = fast_create(Event, :profile_id => co.id) | |
411 | + e1.categories << c1 | |
412 | + e2.categories << c2 | |
413 | + e1.save! | |
414 | + e2.save! | |
415 | + params['content_type']='Event' | |
416 | + params['categories_ids'] = [c1.id, c2.id, c3.id] | |
417 | + get "api/v1/communities/#{co.id}/articles?#{params.to_query}" | |
418 | + json = JSON.parse(last_response.body) | |
419 | + assert_equal json['articles'].count, 2 | |
420 | + end | |
421 | + | |
351 | 422 | end | ... | ... |
test/unit/article_test.rb
... | ... | @@ -1971,6 +1971,19 @@ class ArticleTest < ActiveSupport::TestCase |
1971 | 1971 | assert_equal [a], Article.display_filter(user, p) |
1972 | 1972 | end |
1973 | 1973 | |
1974 | + should 'display_filter show person private content to friends when no profile is passed as parameter' do | |
1975 | + user = create_user('someuser').person | |
1976 | + p = fast_create(Person) | |
1977 | + user.add_friend(p) | |
1978 | + user.stubs(:has_permission?).with(:view_private_content, p).returns(false) | |
1979 | + Article.delete_all | |
1980 | + a = fast_create(Article, :published => false, :show_to_followers => true, :profile_id => p.id) | |
1981 | + fast_create(Article, :published => false, :show_to_followers => false, :profile_id => p.id) | |
1982 | + fast_create(Article, :published => false, :show_to_followers => false, :profile_id => p.id) | |
1983 | + assert_equal [a], Article.display_filter(user, nil) | |
1984 | + end | |
1985 | + | |
1986 | + | |
1974 | 1987 | should 'display_filter show community private content to members' do |
1975 | 1988 | user = create_user('someuser').person |
1976 | 1989 | p = fast_create(Community) | ... | ... |