Commit 8aa812f8fa88aa0155408925a82e42e4679ddaf1

Authored by Leandro Santos
2 parents be1b9751 c2f481ce

Merge branch 'master' into serpro-context

Showing 53 changed files with 444 additions and 341 deletions   Show diff stats
.gitlab-ci.yml
... ... @@ -2,7 +2,7 @@ before_script:
2 2 - mkdir -p tmp/pids log
3 3 - bundle check || bundle install
4 4 - script/noosfero-plugins disableall
5   - - rm -f tmp/makemo.stamp && rake makemo &>/dev/null
  5 + - bundle exec rake makemo &>/dev/null
6 6 # database
7 7 - cp config/database.yml.gitlab-ci config/database.yml
8 8 - createdb gitlab_ci_test || true
... ...
.travis.yml
... ... @@ -2,26 +2,33 @@ language: ruby
2 2 rvm:
3 3 # for 2.2 support we need to upgrade the pg gem
4 4 - 2.1.6
  5 +cache: bundler
5 6  
6   -before_install:
7   -# dependencies
8   - - sudo apt-get update
9   - - sudo apt-get -y install po4a iso-codes tango-icon-theme pidgin-data default-jre
10   - - sudo apt-get -y install libmagickwand-dev libpq-dev libreadline-dev libsqlite3-dev libxslt1-dev
11   -# selenium support
12   - - export DISPLAY=:99.0
13   - - sh -e /etc/init.d/xvfb start
  7 +sudo: false
  8 +addons:
  9 + apt:
  10 + packages:
  11 + - po4a
  12 + - iso-codes
  13 + - tango-icon-theme
  14 + - pidgin-data
  15 + # for gem extensions
  16 + - libmagickwand-dev
  17 + - libpq-dev
  18 + - libreadline-dev
  19 + - libsqlite3-dev
  20 + - libxslt1-dev
14 21  
15 22 before_script:
16 23 - mkdir -p tmp/pids log
17 24 - bundle check || bundle install
18 25 - script/noosfero-plugins disableall
19   - - rake makemo
  26 + - bundle exec rake makemo &>/dev/null
20 27 # database
21 28 - cp config/database.yml.travis config/database.yml
22 29 - psql -c 'create database myapp_test;' -U postgres
23   - - bundle exec rake db:schema:load
24   - - bundle exec rake db:migrate
  30 + - bundle exec rake db:schema:load &>/dev/null
  31 + - bundle exec rake db:migrate &>/dev/null
25 32  
26 33 env:
27 34 - TASK=test:units
... ...
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
... ... @@ -8,261 +10,118 @@ Developers
8 10  
9 11 Ábner Silva de Oliveira <abner.oliveira@serpro.gov.br>
10 12 Alan Freihof Tygel <alantygel@gmail.com>
11   -alcampelo <alcampelo@alcampelo.(none)>
12 13 Alessandro Palmeira <alessandro.palmeira@gmail.com>
13   -Alessandro Palmeira + Caio C. Salgado <alessandro.palmeira@gmail.com>
14   -Alessandro Palmeira + Caio Salgado <alessandro.palmeira@gmail.com>
15   -Alessandro Palmeira + Caio Salgado <caio.csalgado@gmail.com>
16   -Alessandro Palmeira + Caio Salgado + Diego Araújo + João M. M. da Silva <diegoamc90@gmail.com>
17   -Alessandro Palmeira + Carlos Morais <alessandro.palmeira@gmail.com>
18   -Alessandro Palmeira + Daniel Alves <alessandro.palmeira@gmail.com>
19   -Alessandro Palmeira + Daniel Alves + Diego Araújo <diegoamc90@gmail.com>
20   -Alessandro Palmeira + Daniel Alves + Diego Araújo + Guilherme Rojas <danpaulalves@gmail.com>
21   -Alessandro Palmeira + Diego Araujo <alessandro.palmeira@gmail.com>
22   -Alessandro Palmeira + Diego Araújo <alessandro.palmeira@gmail.com>
23   -Alessandro Palmeira + Diego Araujo + Daniela Feitosa <alessandro.palmeira@gmail.com>
24   -Alessandro Palmeira + Diego Araujo <diegoamc90@gmail.com>
25   -Alessandro Palmeira + Diego Araújo <diegoamc90@gmail.com>
26   -Alessandro Palmeira + Diego Araujo + Eduardo Morais <alessandro.palmeira@gmail.com>
27   -Alessandro Palmeira + Diego Araújo + João M. M. da Silva <alessandro.palmeira@gmail.com>
28   -Alessandro Palmeira + Diego Araújo + João M. M. da Silva <diegoamc90@gmail.com>
29   -Alessandro Palmeira + Diego Araujo + João M. M. da Silva + Paulo Meirelles <alessandro.palmeira@gmail.com>
30   -Alessandro Palmeira + Diego Araújo + Pedro Leal <diegoamc90@gmail.com>
31   -Alessandro Palmeira + Diego Araújo + Pedro Leal + João M. M. da Silva <diegoamc90@gmail.com>
32   -Alessandro Palmeira + Diego Araujo + Rafael Manzo <alessandro.palmeira@gmail.com>
33   -Alessandro Palmeira + Eduardo Morais <alessandro.palmeira@gmail.com>
34   -Alessandro Palmeira + Guilherme Rojas <alessandro.palmeira@gmail.com>
35   -Alessandro Palmeira + Jefferson Fernandes <alessandro.palmeira@gmail.com>
36   -Alessandro Palmeira + João M. M. da Silva <alessandro.palmeira@gmail.com>
37   -Alessandro Palmeira + Joao M. M. da Silva + Diego Araujo <alessandro.palmeira@gmail.com>
38   -Alessandro Palmeira + João M. M. da Silva + Renan Teruo <alessandro.palmeira@gmail.com>
39   -Alessandro Palmeira + João M. M. Silva <alessandro.palmeira@gmail.com>
40   -Alessandro Palmeira + Paulo Meirelles <alessandro.palmeira@gmail.com>
41   -Alessandro Palmeira + Paulo Meirelles + João M. M. da Silva <alessandro.palmeira@gmail.com>
42   -Alessandro Palmeira + Rafael Manzo <alessandro.palmeira@gmail.com>
43   -analosnak <analosnak@gmail.com>
  14 +Alex Campelo <campelo.al1@gmail.com>
  15 +Álvaro Fernando <alvarofernandoms@gmail.com>
44 16 Ana Losnak <analosnak@gmail.com>
45   -Andre Bernardes <andrebsguedes@gmail.com>
46   -Antonio Terceiro + Carlos Morais <terceiro@colivre.coop.br>
47   -Antonio Terceiro + Paulo Meirelles <terceiro@colivre.coop.br>
  17 +Ana Paula Vargas <anapaulavnoronha@gmail.com>
  18 +Andre Bedran <bedran.fleck@gmail.com>
  19 +André Guedes <andrebsguedes@gmail.com>
48 20 Antonio Terceiro <terceiro@colivre.coop.br>
49 21 Arthur Del Esposte <arthurmde@gmail.com>
50   -Arthur Del Esposte <arthurmde@yahoo.com.br>
  22 +Athos Ribeiro <athoscribeiro@gmail.com>
51 23 Aurelio A. Heckert <aurelio@colivre.coop.br>
52   -Braulio Bhavamitra <brauliobo@gmail.com>
53   -Bráulio Bhavamitra <brauliobo@gmail.com>
54 24 Braulio Bhavamitra <braulio@eita.org.br>
55   -Caio <caio.csalgado@gmail.com>
56   -Caio + Diego + Pedro + João <caio.csalgado@gmail.com>
57 25 Caio Formiga <caio.formiga@gmail.com>
58   -Caio, Pedro <caio.csalgado@gmail.com>
59   -Caio Salgado + Alessandro Palmeira <caio.csalgado@gmail.com>
60 26 Caio Salgado <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 <caio.csalgado@gmail.com>
64   -Caio Salgado + Diego Araújo <diegoamc90@gmail.com>
65   -Caio Salgado + Diego Araújo + Jefferson Fernandes <caio.csalgado@gmail.com>
66   -Caio Salgado + Diego Araújo + João M. M. da Silva <caio.csalgado@gmail.com>
67   -Caio Salgado + Diego Araújo + Pedro Leal <caio.csalgado@gmail.com>
68   -Caio Salgado + Diego Araújo + Pedro Leal <diegoamc90@gmail.com>
69   -Caio Salgado + Diego Araújo + Rafael Manzo <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 <caio.csalgado@gmail.com>
74   -Caio Salgado + Renan Teruo <caio.salgado@gmail.com>
75   -Caio Salgado + Renan Teruo + Jefferson Fernandes <jeffs.fernandes@gmail.com>
76   -Caio Salgado + Renan Teruo <renanteruoc@gmail.com>
77 27 Caio SBA <caio@colivre.coop.br>
78 28 Caio Tiago Oliveira <caiotiago@colivre.coop.br>
79 29 Carlos Andre de Souza <carlos.andre.souza@msn.com>
80 30 Carlos Morais <carlos88morais@gmail.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   -Daniel Alves + Diego Araújo <danpaulalves@gmail.com>
86   -Daniel Alves + Diego Araújo <diegoamc90@gmail.com>
87   -Daniel Alves + Diego Araújo + Guilherme Rojas <danpaulalves@gmail.com>
88   -Daniel Alves + Diego Araújo + Guilherme Rojas <diegoamc90@gmail.com>
89   -Daniel Alves + Diego Araújo + Guilherme Rojas <guilhermehrojas@gmail.com>
90   -Daniel Alves + Guilherme Rojas <danpaulalves@gmail.com>
91   -Daniel Alves + Rafael Manzo <rr.manzo@gmail.com>
  31 +Christophe DANIEL <papaeng@gmail.com>
  32 +Daniela Feitosa <alessandro.palmeira@gmail.com>
  33 +Daniel Alves <danpaulalves@gmail.com>
92 34 Daniela Soares Feitosa <danielafeitosa@colivre.coop.br>
93 35 Daniel Bucher <daniel.bucher88@gmail.com>
94 36 Daniel Cunha <daniel@colivre.coop.br>
95   -daniel <dtygel@eita.org.br>
  37 +Daniel Tygel <dtygel@eita.org.br>
96 38 David Carlos <ddavidcarlos1392@gmail.com>
97   -diegoamc <diegoamc90@gmail.com>
98   -Diego Araújo + Alessandro Palmeira <diegoamc90@gmail.com>
99   -Diego Araújo + Alessandro Palmeira + João M. M. da Silva <diegoamc90@gmail.com>
100   -Diego Araújo + Alessandro Palmeira + Rafael Manzo <rr.manzo@gmail.com>
101   -Diego Araujo + Caio Salgado <diegoamc90@gmail.com>
102   -Diego Araújo + Daniel Alves + Rafael Manzo <rr.manzo@gmail.com>
103   -Diego Araújo <diegoamc90@gmail.com>
104   -Diego Araújo + Eduardo Morais + Paulo Meirelles <diegoamc90@gmail.com>
105   -Diego Araújo + Guilherme Rojas <diegoamc90@gmail.com>
106   -Diego Araújo + Jefferson Fernandes <diegoamc90@gmail.com>
107   -Diego Araujo + Jefferson Fernandes <jeffs.fernandes@gmail.com>
108   -Diego Araújo + João Machini <diegoamc90@gmail.com>
109   -Diego Araújo + João Machini <digoamc90@gmail.com>
110   -Diego Araújo + João M. M. da Silva + Alessandro Palmeira <jaodsilv@linux.ime.usp.br>
111   -Diego Araújo + João M. M. da Silva <diegoamc90@gmail.com>
112   -Diego Araújo + João M. M. da Silva + João Machini <diegoamc90@gmail.com>
113   -Diego Araújo + João M. M. da Silva + Pedro Leal <diegoamc90@gmail.com>
114   -Diego Araújo + Paulo Meirelles <diegoamc90@gmail.com>
115   -Diego Araújo + Pedro Leal <diegoamc90@gmail.com>
116   -Diego Araujo + Rafael Manzo <diegoamc90@gmail.com>
117   -Diego Araújo + Rafael Manzo <diegoamc90@gmail.com>
118   -Diego Araújo + Renan Teruo + Alessandro Palmeira <diegoamc90@gmail.com>
119   -Diego Araújo + Renan Teruo <diegoamc90@gmail.com>
120   -Diego Araujo + Rodrigo Souto + Rafael Manzo <rr.manzo@gmail.com>
121   -Diego + Jefferson <diegoamc90@gmail.com>
122   -Diego Martinez <diegoamc90@gmail.com>
123   -Diego + Renan <renanteruoc@gmail.com>
124   -dtygel <dtygel@gmail.com>
125   -DylanGuedes <djmgguedes@gmail.com>
126   -Eduardo Passos <eduardo@risa.localdomain.localhost>
  39 +Diego Araujo <diegoamc90@gmail.com>
  40 +Dylan Guedes <djmgguedes@gmail.com>
  41 +Eduardo Morais
127 42 Eduardo Passos <eduardosteps@gmail.com>
128 43 Eduardo Tourinho Edington <eduardo.edington@serpro.gov.br>
129   -Evandro Jr <evandrojr@gmail.com>
130   -Evandro Junior <evandrojr@gmail.com>
  44 +Eduardo Vital <vitaldu@gmail.com>
  45 +Evandro Magalhaes Leite Junior <evandro.leite@serpro.gov.br>
131 46 Fabio Teixeira <fabio1079@gmail.com>
132 47 FAMMA TV NOTICIAS MEDIOS DE CO <revistafammatvmusic.oficial@gmail.com>
133 48 Fernanda Lopes <nanda.listas+psl@gmail.com>
134   -Francisco Marcelo A. Lima Júnior <francisco.lima-junior@serpro.gov.br>
135   -Francisco Marcelo de Araujo Lima Junior <79350259591@serpro-1457614.(none)>
  49 +Filipe Ribeiro <firibeiro77@live.com>
136 50 Francisco Marcelo de Araújo Lima Júnior <francisco.lima-junior@serpro.gov.br>
137   -Francisco Marcelo de Araújo Lima Júnior <maljunior@gmail.com>
138 51 Gabriela Navarro <navarro1703@gmail.com>
139 52 Gonzalo Exequiel Pedone <hipersayan.x@gmail.com>
140 53 Grazieno Pellegrino <grazieno@gmail.com>
141   -Gust <darksshades@hotmail.com>
  54 +Guilherme C. Muniz <guilherme.cmuniz@gmail.com>
  55 +Guilherme Rojas <guilhermehrojas@gmail.com>
  56 +Gustavo Jaruga <darksshades@gmail.com>
142 57 Hebert Douglas <hebertdougl@gmail.com>
143 58 Hugo Melo <hugo@riseup.net>
  59 +Iolane Andrade <andrade.icaa@gmail.com>
144 60 Isaac Canan <isaac@intelletto.com.br>
145 61 Italo Valcy <italo@dcc.ufba.br>
146   -Jefferson Fernandes + Diego Araujo + Rafael Manzo <jeffs.fernandes@gmail.com>
147   -Jefferson Fernandes + Joao M. M. da Silva <jeffs.fernandes@gmail.com>
148   -Jefferson Fernandes + Joao M. M. Silva <jeffs.fernandes@gmail.com>
  62 +Jefferson Fernandes <jeffs.fernandes@gmail.com>
149 63 Jérôme Jutteau <j.jutteau@gmail.com>
150   -João da Silva + Eduardo Morais + Rafael Manzo <rr.manzo@gmail.com>
151   -João da Silva <jaodsilv@linux.ime.usp.br>
152   -João Marco Maciel da Silva + Rafael Manzo + Renan Teruo <jaodsilv@linux.ime.usp.br>
153   -João M. M. da Silva + Alessandro Palmeira + Diego Araújo + Caio Salgado <jaodsilv@linux.ime.usp.br>
154   -João M. M. da Silva + Alessandro Palmeira + Diego Araújo <jaodsilv@linux.ime.usp.br>
155   -Joao M. M. da Silva + Alessandro Palmeira <jaodsilv@linux.ime.usp.br>
156   -João M. M. da Silva + Alessandro Palmeira <jaodsilv@linux.ime.usp.br>
157   -João M. M. da Silva + Alessandro Palmeira + João Machini <jaodsilv@linux.ime.usp.br>
158   -João M. M. da Silva + Caio Salgado + Alessandro Palmeira <jaodsilv@linux.ime.usp.br>
159   -João M. M. da Silva + Caio Salgado <jaodsilv@linux.ime.usp.br>
160   -João M. M. da Silva + Carlos Morais <jaodsilv@linux.ime.usp.br>
161   -João M. M. da Silva + Diego Araújo <diegoamc90@gmail.com>
162   -João M. M. da Silva + Diego Araújo <jaodsilv@linux.ime.usp.br>
163   -João M. M. da Silva + Diego Araújo + Pedro Leal <jaodsilv@linux.ime.usp.br>
  64 +João Machini
164 65 João M. M. da Silva <jaodsilv@linux.ime.usp.br>
165   -Joao M. M. da Silva + Jefferson Fernandes <jaodsilv@linux.ime.usp.br>
166   -João M. M. da Silva + Jefferson Fernandes <jaodsilv@linux.ime.usp.br>
167   -João M. M. da Silva + João M. Miranda <jaodsilv@linux.ime.usp.br>
168   -João M. M. da Silva + Paulo Meirelles <jaodsilv@linux.ime.usp.br>
169   -João M. M. da Silva + Pedro Leal <jaodsilv@linux.ime.usp.br>
170   -João M. M. da Silva + Rafael Manzo + Diego Araújo <jaodsilv@linux.ime.usp.br>
171   -João M. M. da Silva + Rafael Manzo <jaodsilv@linux.ime.usp.br>
172   -João M. M. da Silva + Renan Teruo <jaodsilv@linux.ime.usp.br>
173   -João M. M. Silva + Caio Salgado <jaodsilv@linux.ime.usp.br>
174   -João M. M. Silva + Diego Araújo <jaodsilv@linux.ime.usp.br>
175   -Joao M. M. Silva + Jefferson Fernandes <jaodsilv@linux.ime.usp.br>
176   -João M. M. Silva + Paulo Meirelles <jaodsilv@linux.ime.usp.br>
177   -João M. M. Silva + Rafael Manzo <jaodsilv@linux.ime.usp.br>
178   -João M. M. Silva + Renan Teruo <jaodsilv@linux.ime.usp.br>
179 66 Joenio Costa <joenio@colivre.coop.br>
180 67 Josef Spillner <josef.spillner@tu-dresden.de>
181 68 Jose Pedro <1jpsneto@gmail.com>
182   -Junior Silva <junior@bajor.localhost.localdomain>
183   -Junior Silva <junior@sedeantigo.colivre.coop.br>
184 69 Junior Silva <juniorsilva1001@gmail.com>
185   -Junior Silva <juniorsilva7@juniorsilva-Aspire-5750Z.(none)>
186   -Junior Silva <juniorsilva@colivre.coop.br>
187   -juniorsilva <juniorsilva@QonoS.localhost.localdomain>
188 70 Keilla Menezes <keilla@colivre.coop.br>
189 71 Larissa Reis <larissa@colivre.coop.br>
190   -Larissa Reis <reiss.larissa@gmail.com>
191 72 Leandro Alves <leandrosustenido@gmail.com>
192   -Leandro Nunes dos Santos <81665687568@serpro-1541727.Home>
193   -Leandro Nunes dos Santos <81665687568@serpro-1541727.(none)>
194   -Leandro Nunes dos Santos <leandronunes@gmail.com>
195 73 Leandro Nunes dos Santos <leandro.santos@serpro.gov.br>
  74 +Leandro Veloso <leandrovelosorodrigues@gmail.com>
196 75 LinguÁgil 2010 <linguagil.bahia@gmail.com>
  76 +Lucas Couto <loc.unb@gmail.com>
197 77 Lucas Kanashiro <kanashiro.duarte@gmail.com>
198   -Lucas Melo <lucas@colivre.coop.br>
199 78 Lucas Melo <lucaspradomelo@gmail.com>
200   -Luciano <lucianopcbr@gmail.com>
201 79 Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>
202 80 Luis David Aguilar Carlos <ludwig9003@gmail.com>
203 81 Luiz Fernando de Freitas Matos <luiz@luizff.matos@gmail.com>
204   -Marcos <marcos.rpj2@gmail.com>
  82 +Luiz Matos <luizff.matos@gmail.com>
205 83 Marcos Ramos <ms.ramos@outlook.com>
  84 +Marcos Ronaldo <marcos.rpj2@gmail.com>
  85 +Mariel Zasso <noosfero-br@listas.softwarelivre.org>
206 86 Martín Olivera <molivera@solar.org.ar>
  87 +Matheus Faria <matheus.sousa.faria@gmail.com>
207 88 Maurilio Atila <cabelotaina@gmail.com>
208 89 M for Momo <mo@rtnp.org>
209 90 Michal Čihař <michal@cihar.com>
  91 +Michel Felipe <mfelipeof@gmail.com>
210 92 Moises Machado <moises@colivre.coop.br>
211 93 Naíla Alves <naila@colivre.coop.br>
212 94 Nanda Lopes <nanda.listas+psl@gmail.com>
213 95 Niemand Jedermann <predatorix@web.de>
214 96 Parley Martins <parleypachecomartins@gmail.com>
215   -Paulo Meirelles + Alessandro Palmeira + João M. M. da Silva <paulo@softwarelivre.org>
216   -Paulo Meirelles + Alessandro Palmeira <paulo@softwarelivre.org>
217   -Paulo Meirelles + Carlos Morais <paulo@softwarelivre.org>
218   -Paulo Meirelles + Diego Araújo <paulo@softwarelivre.org>
219   -Paulo Meirelles + João M. M. da Silva <paulo@softwarelivre.org>
220 97 Paulo Meirelles <paulo@softwarelivre.org>
221   -Paulo Meirelles + Rafael Manzo <paulo@softwarelivre.org>
  98 +Pedro de Lyra <pedrodelyra@gmail.com>
  99 +Pedro Leal
  100 +Rafael de Souza Queiroz <querafael@live.com>
222 101 Rafael Gomes <rafaelgomes@techfree.com.br>
223   -Rafael Manzo + Alessandro Palmeira <rr.manzo@gmail.com>
224   -Rafael Manzo + Daniel Alves <danpaulalves@gmail.com>
225   -Rafael Manzo + Diego Araújo <rr.manzo@gmail.com>
226   -Rafael Manzo + João M. M. Silva <rr.manzo@gmail.com>
227   -Rafael Manzo + Paulo Meirelles <rr.manzo@gmail.com>
228 102 Rafael Martins <rmmartins@gmail.com>
229   -Rafael Reggiani Manzo + Caio Salgado + Jefferson Fernandes <rr.manzo@gmail.com>
230   -Rafael Reggiani Manzo + Diego Araujo <diegoamc90@gmail.com>
231   -Rafael Reggiani Manzo + Diego Araujo <rr.manzo@gmail.com>
232   -Rafael Reggiani Manzo + Diego Araújo <rr.manzo@gmail.com>
233   -Rafael Reggiani Manzo + João M. M. da Silva <rr.manzo@gmail.com>
234 103 Rafael Reggiani Manzo <rr.manzo@gmail.com>
235 104 Raphaël Rousseau <raph@r4f.org>
236 105 Raquel Lira <raquel.lira@gmail.com>
237 106 Raquel <rcordioli@gmail.com>
238   -Renan Teruo + Caio Salgado <renanteruoc@gmail.com>
239   -Renan Teruoc + Diego Araujo <renanteruoc@gmail.com>
240   -Renan Teruo + Diego Araujo <renanteruoc@gmail.com>
241   -Renan Teruo + Diego Araújo <renanteruoc@gmail.com>
242   -Renan Teruo + Paulo Meirelles <renanteruoc@gmail.com>
243   -Renan Teruo + Rafael Manzo <renanteruoc@gmail.com>
244   -Rodrigo Souto + Ana Losnak + Daniel Bucher + Caio Almeida + Leandro Nunes + Daniela Feitosa + Mariel Zasso <noosfero-br@listas.softwarelivre.org>
  107 +Renan Costa <renan2727@hotmail.com>
  108 +Renan Teruo <renanteruoc@gmail.com>
  109 +Rodrigo Medeiros <rodrigo.mss01@gmail.com>
245 110 Rodrigo Souto <rodrigo@colivre.coop.br>
246 111 Ronny Kursawe <kursawe.ronny@googlemail.com>
247   -root <root@debian.sdr.serpro>
248 112 Samuel R. C. Vale <srcvale@holoscopio.com>
249   -Tallys Martins <tallysmartins@gmail.com>
250 113 Tallys Martins <tallysmartins@yahoo.com.br>
251   -tallys <tallys@tallys>
252   -tallys <tallys@tallys.(none)>
253 114 Thiago Casotti <thiago.casotti@uol.com.br>
  115 +Thiago Kairala <thiagor.kairala@gmail.com>
  116 +Thiago Ribeiro <thiagitosouza@hotmail.com>
254 117 Thiago Zoroastro <thiago.zoroastro@bol.com.br>
255 118 Tuux <tuxa@galaxie.eu.org>
256 119 TWS <tablettws@gmail.com>
257 120 Valessio Brito <contato@valessiobrito.com.br>
258   -Valessio Brito <contato@valessiobrito.info>
259   -Valessio Brito <valessio@gmail.com>
260   -vfcosta <vfcosta@gmail.com>
261   -Victor Carvalho <victorhugodf.ac@gmail.com>
262 121 Victor Costa <vfcosta@gmail.com>
263 122 Victor Hugo Alves de Carvalho <victorhugodf.ac@gmail.com>
264 123 Vinicius Cubas Brand <viniciuscb@gmail.com>
265   -Visita <visita@debian.(none)>
  124 +Wilton Rodrigues <braynwilton@gmail.com>
266 125 Yann Lugrin <yann.lugrin@liquid-concept.ch>
267 126  
268 127 Ideas, specifications and incentive
... ...
Gemfile
... ... @@ -18,7 +18,7 @@ gem &#39;exception_notification&#39;, &#39;~&gt; 4.0.1&#39;
18 18 gem 'gettext', '~> 2.2.1', :require => false
19 19 gem 'locale', '~> 2.0.5'
20 20 gem 'whenever', :require => false
21   -gem 'eita-jrails', '>= 0.9.5', :require => 'jrails'
  21 +gem 'eita-jrails', '~> 0.9.5', require: 'jrails'
22 22  
23 23 # asset pipeline
24 24 gem 'uglifier', '>= 1.0.3'
... ...
app/models/article.rb
... ... @@ -504,9 +504,9 @@ class Article &lt; ActiveRecord::Base
504 504 where(
505 505 [
506 506 "published = ? OR last_changed_by_id = ? OR profile_id = ? OR ?
507   - OR (show_to_followers = ? AND ? AND profile_id = ?)", true, user.id, user.id,
  507 + OR (show_to_followers = ? AND ? AND profile_id IN (?))", true, user.id, user.id,
508 508 profile.nil? ? false : user.has_permission?(:view_private_content, profile),
509   - true, user.follows?(profile), (profile.nil? ? nil : profile.id)
  509 + true, (profile.nil? ? true : user.follows?(profile)), ( profile.nil? ? (user.friends.select('profiles.id')) : [profile.id])
510 510 ]
511 511 )
512 512 }
... ...
app/models/highlights_block.rb
... ... @@ -12,6 +12,7 @@ class HighlightsBlock &lt; Block
12 12 block.images.each do |i|
13 13 i[:image_id] = i[:image_id].to_i
14 14 i[:position] = i[:position].to_i
  15 + i[:address] = Noosfero.root + i[:address] unless Noosfero.root.nil?
15 16 begin
16 17 file = UploadedFile.find(i[:image_id])
17 18 i[:image_src] = file.public_filename
... ...
debian/changelog
1   -noosfero (1.2~1) UNRELEASED; urgency=medium
2   -
3   - [ Antonio Terceiro ]
4   - * Temporary version in heavy development
  1 +noosfero (1.2~rc1) wheezy; urgency=medium
5 2  
6 3 [ Joenio Costa ]
7 4 * Build noosfero-chat package
8 5  
9   - -- Joenio Costa <joenio@colivre.coop.br> Mon, 18 May 2015 14:32:21 -0300
  6 + [ Antonio Terceiro ]
  7 + * Noosfero 1.2 RC1
  8 +
  9 + -- Antonio Terceiro <terceiro@colivre.coop.br> Mon, 13 Jul 2015 15:44:17 -0300
10 10  
11 11 noosfero (1.1) wheezy; urgency=low
12 12  
... ...
lib/noosfero/version.rb
1 1 module Noosfero
2 2 PROJECT = 'noosfero'
3   - VERSION = '1.2~0'
  3 + VERSION = '1.2~rc1'
4 4 end
5 5  
6 6 root = File.expand_path(File.dirname(__FILE__) + '/../..')
... ...
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
1 1 class CommunityTrackPluginMyprofileController < MyProfileController
2   - append_view_path File.join(File.dirname(__FILE__) + '/../../views')
3 2  
4 3 before_filter :allow_edit_track, :only => :save_order
5 4  
... ...
plugins/community_track/controllers/public/community_track_plugin_public_controller.rb
1 1 class CommunityTrackPluginPublicController < PublicController
2   - append_view_path File.join(File.dirname(__FILE__) + '/../../views')
3 2  
4 3 no_design_blocks
5 4  
... ...
plugins/community_track/lib/community_track_plugin/track.rb
... ... @@ -65,7 +65,8 @@ class CommunityTrackPlugin::Track &lt; Folder
65 65  
66 66 def category_name
67 67 category = categories.first
68   - category ? category.top_ancestor.name : ''
  68 + category = category.top_ancestor unless category.nil?
  69 + category.nil? ? '' : category.name
69 70 end
70 71  
71 72 def to_html(options = {})
... ...
plugins/community_track/test/functional/community_track_plugin_cms_controller_test.rb
1   -require File.dirname(__FILE__) + '/../test_helper'
  1 +require_relative '../test_helper'
2 2  
3 3 # Re-raise errors caught by the controller.
4 4 class CmsController; def rescue_action(e) raise e end; end
... ...
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 &lt; 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 &lt; 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
1   -require File.dirname(__FILE__) + '/../test_helper'
  1 +require_relative '../test_helper'
2 2  
3 3 # Re-raise errors caught by the controller.
4 4 class EnvironmentDesignController; def rescue_action(e) raise e end; end
... ...
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
1   -require File.dirname(__FILE__) + '/../../../test/test_helper'
  1 +require_relative '../../../test/test_helper'
2 2  
3 3 def create_track(name, profile)
4 4 track = CommunityTrackPlugin::Track.new(:abstract => 'abstract', :body => 'body', :name => name, :profile => profile)
... ...
plugins/community_track/test/unit/article_test.rb
1   -require File.dirname(__FILE__) + '/../test_helper'
  1 +require_relative '../test_helper'
2 2  
3 3 class ArticleTest < ActiveSupport::TestCase
4 4  
... ...
plugins/community_track/test/unit/community_track_plugin/activation_job_test.rb
1   -require File.dirname(__FILE__) + '/../../test_helper'
  1 +require_relative '../../test_helper'
2 2  
3 3 class ActivationJobTest < ActiveSupport::TestCase
4 4  
... ...
plugins/community_track/test/unit/community_track_plugin/step_helper_test.rb
1   -require File.dirname(__FILE__) + '/../../test_helper'
  1 +require_relative '../../test_helper'
2 2  
3 3 class StepHelperTest < ActiveSupport::TestCase
4 4  
... ...
plugins/community_track/test/unit/community_track_plugin/step_test.rb
1   -require File.dirname(__FILE__) + '/../../test_helper'
  1 +require_relative '../../test_helper'
2 2  
3 3 class StepTest < ActiveSupport::TestCase
4 4  
... ...
plugins/community_track/test/unit/community_track_plugin/track_card_list_block_test.rb
1   -require File.dirname(__FILE__) + '/../../test_helper'
  1 +require_relative '../../test_helper'
2 2  
3 3 class TrackCardListBlockTest < ActiveSupport::TestCase
4 4  
... ...
plugins/community_track/test/unit/community_track_plugin/track_helper_test.rb
1   -require File.dirname(__FILE__) + '/../../test_helper'
  1 +require_relative '../../test_helper'
2 2  
3 3 class TrackHelperTest < ActiveSupport::TestCase
4 4  
... ...
plugins/community_track/test/unit/community_track_plugin/track_list_block_test.rb
1   -require File.dirname(__FILE__) + '/../../test_helper'
  1 +require_relative '../../test_helper'
2 2  
3 3 class TrackListBlockTest < ActiveSupport::TestCase
4 4  
... ...
plugins/community_track/test/unit/community_track_plugin/track_test.rb
1   -require File.dirname(__FILE__) + '/../../test_helper'
  1 +require_relative '../../test_helper'
2 2  
3 3 class TrackTest < ActiveSupport::TestCase
4 4  
... ...
plugins/community_track/test/unit/community_track_plugin_test.rb
1   -require File.dirname(__FILE__) + '/../test_helper'
  1 +require_relative '../test_helper'
2 2  
3 3 class CommunityTrackPluginTest < ActiveSupport::TestCase
4 4  
... ...
plugins/event/lib/event_plugin/event_block.rb
... ... @@ -26,8 +26,8 @@ class EventPlugin::EventBlock &lt; 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)
... ...
plugins/event/test/test_helper.rb 0 → 100644
... ... @@ -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 &lt; 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
1   -require File.dirname(__FILE__) + '/../../../../test/test_helper'
  1 +require_relative '../test_helper'
2 2  
3 3 class EventPluginTest < ActiveSupport::TestCase
4 4  
... ...
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 &lt; 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/people_block/lib/friends_block.rb
... ... @@ -17,7 +17,7 @@ class FriendsBlock &lt; PeopleBlockBase
17 17 end
18 18  
19 19 def suggestions
20   - owner.profile_suggestions.of_person.enabled.limit(3).includes(:suggestion)
  20 + owner.suggested_profiles.of_person.enabled.limit(3).includes(:suggestion)
21 21 end
22 22  
23 23 def footer
... ...
plugins/people_block/test/functional/profile_controller_test.rb
... ... @@ -17,8 +17,8 @@ class ProfileControllerTest &lt; ActionController::TestCase
17 17 login_as(user.login)
18 18 owner = user.person
19 19  
20   - suggestion1 = owner.profile_suggestions.create(:suggestion => fast_create(Person))
21   - suggestion2 = owner.profile_suggestions.create(:suggestion => fast_create(Person))
  20 + suggestion1 = ProfileSuggestion.create!(:suggestion => fast_create(Person), :person => owner)
  21 + suggestion2 = ProfileSuggestion.create!(:suggestion => fast_create(Person), :person => owner)
22 22  
23 23 FriendsBlock.delete_all
24 24 block = FriendsBlock.new
... ...
plugins/people_block/test/unit/friends_block_test.rb
... ... @@ -138,8 +138,8 @@ class FriendsBlockTest &lt; ActionView::TestCase
138 138  
139 139 should 'list owner\'s friends suggestions' do
140 140 owner = fast_create(Person)
141   - suggestion1 = owner.profile_suggestions.create(:suggestion => fast_create(Person))
142   - suggestion2 = owner.profile_suggestions.create(:suggestion => fast_create(Person))
  141 + suggestion1 = ProfileSuggestion.create!(:suggestion => fast_create(Person), :person => owner)
  142 + suggestion2 = ProfileSuggestion.create!(:suggestion => fast_create(Person), :person => owner)
143 143  
144 144 block = FriendsBlock.new
145 145 block.stubs(:owner).returns(owner)
... ...
plugins/statistics/lib/statistics_block.rb
... ... @@ -61,7 +61,7 @@ class StatisticsBlock &lt; Block
61 61 end
62 62  
63 63 def templates
64   - Community.templates(environment)
  64 + self.environment.community_templates
65 65 end
66 66  
67 67 def is_template_counter_active? template_id
... ...
plugins/sub_organizations/db/migrate/20150508153119_add_timestamp_to_relation.rb
... ... @@ -2,5 +2,7 @@ class AddTimestampToRelation &lt; 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
... ...
po/fr/noosfero.po
... ... @@ -7,7 +7,7 @@ msgstr &quot;&quot;
7 7 "Project-Id-Version: 1.1-166-gaf47713\n"
8 8 "Report-Msgid-Bugs-To: \n"
9 9 "POT-Creation-Date: 2015-06-01 17:26-0300\n"
10   -"PO-Revision-Date: 2015-07-03 00:41+0200\n"
  10 +"PO-Revision-Date: 2015-07-13 10:39+0200\n"
11 11 "Last-Translator: Christophe DANIEL <papaeng@gmail.com>\n"
12 12 "Language-Team: French "
13 13 "<https://hosted.weblate.org/projects/noosfero/noosfero/fr/>\n"
... ... @@ -6788,32 +6788,28 @@ msgid &quot;There are members currently using this role.&quot;
6788 6788 msgstr ""
6789 6789  
6790 6790 #: app/views/profile_roles/destroy.html.erb:13
6791   -#, fuzzy
6792 6791 msgid "To which role do you want to change them?"
6793   -msgstr "Indiquez quels contacts vous souhaitez inviter."
  6792 +msgstr "Pour quel rôle voulez-vous les changer ?"
6794 6793  
6795 6794 #: app/views/profile_roles/destroy.html.erb:20
6796   -#, fuzzy
6797 6795 msgid "Delete role"
6798   -msgstr "Détruire le profil"
  6796 +msgstr "Supprimer le rôle"
6799 6797  
6800 6798 #: app/views/profile_roles/index.html.erb:1 app/views/role/index.html.erb:1
6801 6799 msgid "Manage user roles"
6802 6800 msgstr "Gérer les rôles des utilisateurs"
6803 6801  
6804 6802 #: app/views/profile_roles/index.html.erb:5 app/views/role/index.html.erb:5
6805   -#, fuzzy
6806 6803 msgid "Role"
6807   -msgstr "Rôles :"
  6804 +msgstr "Rôle"
6808 6805  
6809 6806 #: app/views/profile_roles/index.html.erb:17
6810 6807 msgid "Assign"
6811 6808 msgstr ""
6812 6809  
6813 6810 #: app/views/comment_notifier/mail_to_followers.html.erb:1
6814   -#, fuzzy
6815 6811 msgid "Hi!"
6816   -msgstr "Visites"
  6812 +msgstr "Bonjour !"
6817 6813  
6818 6814 #: app/views/comment_notifier/mail_to_followers.html.erb:3
6819 6815 msgid ""
... ... @@ -6823,9 +6819,8 @@ msgstr &quot;&quot;
6823 6819  
6824 6820 #: app/views/comment_notifier/mail_to_followers.html.erb:5
6825 6821 #: app/views/comment_notifier/notification.text.erb:5
6826   -#, fuzzy
6827 6822 msgid "Title: %s"
6828   -msgstr "Ticket : %s"
  6823 +msgstr "Titre : %s"
6829 6824  
6830 6825 #: app/views/comment_notifier/mail_to_followers.html.erb:7
6831 6826 #: app/views/comment_notifier/notification.text.erb:7
... ... @@ -6922,9 +6917,8 @@ msgid &quot;Set %s template as default&quot;
6922 6917 msgstr "Définir %s comme modèle par défaut"
6923 6918  
6924 6919 #: app/views/templates/index.html.erb:31
6925   -#, fuzzy
6926 6920 msgid "Edit settings"
6927   -msgstr "Paramètres de messagerie"
  6921 +msgstr "Modifier les paramètres"
6928 6922  
6929 6923 #: app/views/templates/index.html.erb:33
6930 6924 #, fuzzy
... ... @@ -6932,9 +6926,8 @@ msgid &quot;Edit sideblocks&quot;
6932 6926 msgstr "Éditer les boîtes de menus"
6933 6927  
6934 6928 #: app/views/templates/index.html.erb:35
6935   -#, fuzzy
6936 6929 msgid "Edit header/footer"
6937   -msgstr "Édition des en-tête et pied de page"
  6930 +msgstr "Modifier en-tête/pied de page"
6938 6931  
6939 6932 #: app/views/doc/_path.html.erb:2
6940 6933 msgid "You are here:"
... ... @@ -6946,9 +6939,8 @@ msgid &quot;Manual sections&quot;
6946 6939 msgstr "Paramètres de messagerie"
6947 6940  
6948 6941 #: app/views/home/terms.html.erb:1
6949   -#, fuzzy
6950 6942 msgid "Terms of use - %s"
6951   -msgstr "Conditions d'utilisation"
  6943 +msgstr "Conditions d'utilisation - %s"
6952 6944  
6953 6945 #: app/views/home/welcome.html.erb:4
6954 6946 msgid "Welcome to %s!"
... ... @@ -6966,9 +6958,8 @@ msgid &quot;Firstly, some tips for getting started:&quot;
6966 6958 msgstr ""
6967 6959  
6968 6960 #: app/views/home/welcome.html.erb:11
6969   -#, fuzzy
6970 6961 msgid "Confirm your account!"
6971   -msgstr "Confirmer votre nouveau mot de passe"
  6962 +msgstr "Confirmer votre compte !"
6972 6963  
6973 6964 #: app/views/home/welcome.html.erb:12
6974 6965 msgid ""
... ... @@ -7022,9 +7013,8 @@ msgid &quot;%s your Gmail, Yahoo and Hotmail contacts!&quot;
7022 7013 msgstr "%s vos contacts de Gmail, Yahoo et Hotmail !"
7023 7014  
7024 7015 #: app/views/home/welcome.html.erb:25
7025   -#, fuzzy
7026 7016 msgid "Invite and find"
7027   -msgstr "Inviter mes contacts !"
  7017 +msgstr "Inviter et trouver"
7028 7018  
7029 7019 #: app/views/home/welcome.html.erb:26
7030 7020 msgid ""
... ... @@ -7047,16 +7037,14 @@ msgid &quot;What can I do as a %s?&quot;
7047 7037 msgstr ""
7048 7038  
7049 7039 #: app/views/home/index.html.erb:2
7050   -#, fuzzy
7051 7040 msgid "News"
7052   -msgstr "Nouveau %s"
  7041 +msgstr "Nouveaus"
7053 7042  
7054 7043 #: app/views/home/index.html.erb:45
7055 7044 #: app/views/profile/_profile_activities_list.html.erb:14
7056 7045 #: app/views/profile/_profile_network_activities.html.erb:6
7057   -#, fuzzy
7058 7046 msgid "View more"
7059   -msgstr "Voir le profil"
  7047 +msgstr "Voir plus"
7060 7048  
7061 7049 #: app/views/features/_manage_enterprise_fields.html.erb:5
7062 7050 #: app/views/features/_manage_community_fields.html.erb:5
... ... @@ -7071,16 +7059,14 @@ msgid &quot;Required&quot;
7071 7059 msgstr "Obligatoire"
7072 7060  
7073 7061 #: app/views/features/_manage_enterprise_fields.html.erb:8
7074   -#, fuzzy
7075 7062 msgid "Display on registration?"
7076 7063 msgstr "Afficher à l'inscription ?"
7077 7064  
7078 7065 #: app/views/features/_manage_enterprise_fields.html.erb:13
7079 7066 #: app/views/features/_manage_community_fields.html.erb:13
7080 7067 #: app/views/features/_manage_person_fields.html.erb:13
7081   -#, fuzzy
7082 7068 msgid "Check/Uncheck All"
7083   -msgstr "Tout décocher"
  7069 +msgstr "Tout cocher/décocher"
7084 7070  
7085 7071 #: app/views/features/manage_fields.html.erb:1
7086 7072 msgid "Manage fields displayed for profiles"
... ... @@ -7134,19 +7120,16 @@ msgstr &quot;&quot;
7134 7120 "modifications."
7135 7121  
7136 7122 #: app/views/features/index.html.erb:15
7137   -#, fuzzy
7138 7123 msgid "Feature"
7139   -msgstr "Quelques fonctionnalités"
  7124 +msgstr "Fonctionnalité"
7140 7125  
7141 7126 #: app/views/features/index.html.erb:16
7142   -#, fuzzy
7143 7127 msgid "Enabled?"
7144   -msgstr "Activé"
  7128 +msgstr "Activé ?"
7145 7129  
7146 7130 #: app/views/features/index.html.erb:27
7147   -#, fuzzy
7148 7131 msgid "Configure features"
7149   -msgstr "Quelques fonctionnalités"
  7132 +msgstr "Editer les fonctionnalités"
7150 7133  
7151 7134 #: app/views/features/index.html.erb:29
7152 7135 msgid "Page to redirect after signup"
... ... @@ -7174,9 +7157,8 @@ msgid &quot;Embed unavailable.&quot;
7174 7157 msgstr "Indisponible"
7175 7158  
7176 7159 #: app/views/chat/start_session_error.html.erb:3
7177   -#, fuzzy
7178 7160 msgid "Could not connect to chat"
7179   -msgstr "Impossible de créer le produit"
  7161 +msgstr "Impossible de se connecter au chat"
7180 7162  
7181 7163 #: app/views/chat/start_session_error.html.erb:3
7182 7164 msgid "try again"
... ... @@ -7199,26 +7181,22 @@ msgid &quot;Select theme&quot;
7199 7181 msgstr "Choisissez le thème"
7200 7182  
7201 7183 #: app/views/themes/_select_theme.html.erb:5
7202   -#, fuzzy
7203 7184 msgid "Use the default theme"
7204   -msgstr "Utiliser ce thème"
  7185 +msgstr "Utiliser le thème par défaut"
7205 7186  
7206 7187 #: app/views/themes/_select_theme.html.erb:5
7207   -#, fuzzy
7208 7188 msgid "Are you sure you want to use the environment default theme?"
7209   -msgstr "Êtes-vous sûr(e) de vouloir sortir ?"
  7189 +msgstr "Etes-vous sûr que vous voulez utiliser le thème par défaut ?"
7210 7190  
7211 7191 #: app/views/file_presenter/_image.html.erb:7
7212 7192 #: app/views/file_presenter/_image.html.erb:9
7213   -#, fuzzy
7214 7193 msgid "&laquo; Previous"
7215   -msgstr "Précédent"
  7194 +msgstr "&laquo; Précédent"
7216 7195  
7217 7196 #: app/views/file_presenter/_image.html.erb:13
7218 7197 #: app/views/file_presenter/_image.html.erb:15
7219   -#, fuzzy
7220 7198 msgid "Next &raquo;"
7221   -msgstr "Plus récents &raquo;"
  7199 +msgstr "Suivant &raquo;"
7222 7200  
7223 7201 #: app/views/file_presenter/_image.html.erb:22
7224 7202 msgid "image %d of %d"
... ... @@ -7229,18 +7207,16 @@ msgstr &quot;&quot;
7229 7207 #: app/views/profile_members/_members_list.html.erb:2
7230 7208 #: app/views/profile_members/add_member.html.erb:2
7231 7209 #: app/views/profile_members/add_admin.html.erb:2
7232   -#, fuzzy
7233 7210 msgid "Current members"
7234   -msgstr "Un membre"
  7211 +msgstr "Les membres actuels"
7235 7212  
7236 7213 #: app/views/profile_members/_manage_roles.html.erb:21
7237 7214 msgid "Type in a search term for users"
7238 7215 msgstr ""
7239 7216  
7240 7217 #: app/views/profile_members/_add_admins.html.erb:1
7241   -#, fuzzy
7242 7218 msgid "Add admins to %s"
7243   -msgstr "Tous les membres"
  7219 +msgstr "Ajouter un admin à %s"
7244 7220  
7245 7221 #: app/views/profile_members/affiliate.html.erb:7
7246 7222 #: app/views/environment_role_manager/affiliate.html.erb:7
... ... @@ -7248,9 +7224,8 @@ msgid &quot;Affiliate&quot;
7248 7224 msgstr "Affilié"
7249 7225  
7250 7226 #: app/views/profile_members/_index_buttons.html.erb:3
7251   -#, fuzzy
7252 7227 msgid "Add members"
7253   -msgstr "Tous les membres"
  7228 +msgstr "Ajouter des membres"
7254 7229  
7255 7230 #: app/views/profile_members/_index_buttons.html.erb:5
7256 7231 #: app/views/invite/select_friends.html.erb:6
... ... @@ -7279,9 +7254,8 @@ msgstr &quot;&quot;
7279 7254 "membre pour administrer cette communauté."
7280 7255  
7281 7256 #: app/views/profile_members/add_members.html.erb:1
7282   -#, fuzzy
7283 7257 msgid "Add members to %s"
7284   -msgstr "Tous les membres"
  7258 +msgstr "Ajouter des membres à %s"
7285 7259  
7286 7260 #: app/views/profile_members/change_role.html.erb:1
7287 7261 #: app/views/environment_role_manager/change_role.html.erb:1
... ... @@ -7289,14 +7263,12 @@ msgid &quot;Changing role of %s&quot;
7289 7263 msgstr "Changement du rôle de %s"
7290 7264  
7291 7265 #: app/views/profile_members/change_role.html.erb:15
7292   -#, fuzzy
7293 7266 msgid "Custom Roles:"
7294   -msgstr "Rôles :"
  7267 +msgstr "Rôles personnalisés :"
7295 7268  
7296 7269 #: app/views/maps/edit_location.html.erb:15
7297   -#, fuzzy
7298 7270 msgid "Locate in the map"
7299   -msgstr "Créer un nouveau thème"
  7271 +msgstr "Localiser sur la carte"
7300 7272  
7301 7273 #: app/views/maps/edit_location.html.erb:15
7302 7274 msgid ""
... ... @@ -7317,9 +7289,8 @@ msgid &quot;Invalid address&quot;
7317 7289 msgstr "Adresse invalide"
7318 7290  
7319 7291 #: app/views/maps/_google_map.js.erb:137
7320   -#, fuzzy
7321 7292 msgid "Request denied"
7322   -msgstr "Accès interdit"
  7293 +msgstr "Demande refusée"
7323 7294  
7324 7295 #: app/views/maps/_google_map.js.erb:139
7325 7296 msgid "Over query limit"
... ... @@ -7340,9 +7311,8 @@ msgid &quot;New category&quot;
7340 7311 msgstr "Nouvelle catégorie"
7341 7312  
7342 7313 #: app/views/categories/_category.html.erb:10
7343   -#, fuzzy
7344 7314 msgid "Show"
7345   -msgstr "Voir le diaporama"
  7315 +msgstr "Voir"
7346 7316  
7347 7317 #: app/views/categories/_category.html.erb:12
7348 7318 msgid "Hide"
... ... @@ -7361,14 +7331,12 @@ msgid &quot;Are you sure you want to remove \&quot;%s\&quot; and all its subcategories?&quot;
7361 7331 msgstr "Êtes-vous sûr(e) d'ôter/effacer «%s» et toutes ses sous-catégories ?"
7362 7332  
7363 7333 #: app/views/categories/_form.html.erb:22
7364   -#, fuzzy
7365 7334 msgid "Display in the menu"
7366 7335 msgstr "Afficher dans le menu"
7367 7336  
7368 7337 #: app/views/categories/_form.html.erb:24
7369   -#, fuzzy
7370 7338 msgid "Pick a color"
7371   -msgstr "Afficher la couleur"
  7339 +msgstr "Choisir la couleur"
7372 7340  
7373 7341 #: app/views/categories/edit.html.erb:1
7374 7342 msgid "Editing %s"
... ... @@ -7383,14 +7351,12 @@ msgid &quot;Regions&quot;
7383 7351 msgstr "Régions"
7384 7352  
7385 7353 #: app/views/memberships/welcome.html.erb:1
7386   -#, fuzzy
7387 7354 msgid "Community created"
7388   -msgstr "Groupe"
  7355 +msgstr "Communauté créée"
7389 7356  
7390 7357 #: app/views/memberships/welcome.html.erb:2
7391   -#, fuzzy
7392 7358 msgid "Your community (%s) was successfully created."
7393   -msgstr "%s, votre nouveau mot de passe a bien été installé."
  7359 +msgstr "Votre communauté (%s) a été créée avec succès."
7394 7360  
7395 7361 #: app/views/memberships/welcome.html.erb:3
7396 7362 #, fuzzy
... ...
public/500.html
... ... @@ -67,7 +67,7 @@
67 67  
68 68  
69 69 <div id='fr' style='display: none' class='message'>
70   - <h1>Problème temporaire du système.</h1>
  70 + <h1>Problème temporaire du système</h1>
71 71 <p>
72 72 Notre équipe technique est en train d'y travailler. Merci de réessayer plus tard. Nous sommes désolés de la gêne occasionnée.
73 73 </p>
... ...
public/javascripts/manage-categories.js
... ... @@ -2,7 +2,7 @@
2 2 fetch_sub_items = function(sub_items, category){
3 3 loading_for_button($("#category-loading-"+category)[0]);
4 4 $.ajax({
5   - url: "/admin/categories/get_children",
  5 + url: noosfero_root() + "/admin/categories/get_children",
6 6 dataType: "html",
7 7 data: {id: category},
8 8 success: function(data, st, ajax){
... ...
script/authors 0 → 100755
... ... @@ -0,0 +1,3 @@
  1 +#!/bin/sh
  2 +
  3 +./script/authors-all-commits | sort -u
... ...
script/authors-all-commits 0 → 100755
... ... @@ -0,0 +1,6 @@
  1 +#!/bin/sh
  2 +
  3 +git log --pretty=format:'Author: %aN <%aE>%n%b' --no-merges \
  4 + | grep -i '^\s*\(author:\|signed-off-by:\)' \
  5 + | sed -f script/authors-normalize.sed \
  6 + | sed -f script/authors.sed
... ...
script/authors-commits 0 → 100755
... ... @@ -0,0 +1,4 @@
  1 +#!/bin/sh
  2 +
  3 +./script/authors-all-commits | sort | uniq -c | sort -n
  4 +
... ...
script/authors-normalize.sed 0 → 100644
... ... @@ -0,0 +1,7 @@
  1 +s/\s\+/ /g
  2 +s/^\s\+//g
  3 +s/^\S*:\s*//
  4 +s/\(\S\)</\1 </
  5 +s/ + /\n/g
  6 +s/\s*$//
  7 +s/\s*,\s*/\n/g
... ...
script/authors.sed 0 → 100644
... ... @@ -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
... ... @@ -61,6 +61,8 @@ setup_rubygems_path() {
61 61 fi
62 62 }
63 63  
  64 +# change current directory to the noosfero's root
  65 +cd "$(dirname $0)/../"
64 66  
65 67 force_install=false
66 68 if test "$1" = '--force-install'; then
... ...
test/unit/article_test.rb
... ... @@ -1970,6 +1970,19 @@ class ArticleTest &lt; ActiveSupport::TestCase
1970 1970 assert_equal [a], Article.display_filter(user, p)
1971 1971 end
1972 1972  
  1973 + should 'display_filter show person private content to friends when no profile is passed as parameter' do
  1974 + user = create_user('someuser').person
  1975 + p = fast_create(Person)
  1976 + user.add_friend(p)
  1977 + user.stubs(:has_permission?).with(:view_private_content, p).returns(false)
  1978 + Article.delete_all
  1979 + a = fast_create(Article, :published => false, :show_to_followers => true, :profile_id => p.id)
  1980 + fast_create(Article, :published => false, :show_to_followers => false, :profile_id => p.id)
  1981 + fast_create(Article, :published => false, :show_to_followers => false, :profile_id => p.id)
  1982 + assert_equal [a], Article.display_filter(user, nil)
  1983 + end
  1984 +
  1985 +
1973 1986 should 'display_filter show community private content to members' do
1974 1987 user = create_user('someuser').person
1975 1988 p = fast_create(Community)
... ...
test/unit/environment_test.rb
... ... @@ -759,13 +759,10 @@ class EnvironmentTest &lt; ActiveSupport::TestCase
759 759  
760 760 should 'set custom_person_fields with its dependecies' do
761 761 env = Environment.new
762   - env.custom_person_fields = {'cell_phone' => {'required' => 'true', 'active' => '', 'signup' => ''}, 'comercial_phone'=> {'required' => '', 'active' => 'true', 'signup' => '' }, 'description' => {'required' => '', 'active' => '', 'signup' => 'true'}}
  762 + data = {'cell_phone' => {'required' => 'true', 'active' => '', 'signup' => ''}, 'comercial_phone'=> {'required' => '', 'active' => 'true', 'signup' => '' }, 'description' => {'required' => '', 'active' => '', 'signup' => 'true'}}
  763 + env.custom_person_fields = data
763 764  
764   - assert_equal({'cell_phone' => {'required' => 'true', 'active' => 'true', 'signup' => 'true'}, 'comercial_phone'=> {'required' => '', 'active' => 'true', 'signup' => '' }, 'description' => {'required' => '', 'active' => 'true', 'signup' => 'true'}}, env.custom_person_fields)
765   - end
766   -
767   - should 'have no custom_person_fields by default' do
768   - assert_equal({}, Environment.new.custom_person_fields)
  765 + assert(env.custom_person_fields.merge(data) == env.custom_person_fields)
769 766 end
770 767  
771 768 should 'not set in custom_person_fields if not in person.fields' do
... ... @@ -773,7 +770,8 @@ class EnvironmentTest &lt; ActiveSupport::TestCase
773 770 Person.stubs(:fields).returns(['cell_phone', 'comercial_phone'])
774 771  
775 772 env.custom_person_fields = { 'birth_date' => {'required' => 'true', 'active' => 'true'}, 'cell_phone' => {'required' => 'true', 'active' => 'true'}}
776   - assert_equal({'cell_phone' => {'required' => 'true','signup' => 'true', 'active' => 'true'}}, env.custom_person_fields)
  773 + expected_hash = {'cell_phone' => {'required' => 'true', 'active' => 'true', 'signup' => 'true'}}
  774 + assert(env.custom_person_fields.merge(expected_hash) == env.custom_person_fields)
777 775 assert ! env.custom_person_fields.keys.include?('birth_date')
778 776 end
779 777  
... ... @@ -782,7 +780,8 @@ class EnvironmentTest &lt; ActiveSupport::TestCase
782 780 Person.stubs(:fields).returns(['cell_phone', 'schooling'])
783 781  
784 782 env.custom_person_fields = { 'schooling' => {'required' => 'true', 'active' => 'true'}}
785   - assert_equal({'schooling' => {'required' => 'true', 'signup' => 'true', 'active' => 'true'}, 'schooling_status' => {'required' => 'true', 'signup' => 'true', 'active' => 'true'}}, env.custom_person_fields)
  783 + expected_hash = {'schooling' => {'required' => 'true', 'active' => 'true', 'signup' => 'true'}, 'schooling_status' => {'required' => 'true', 'signup' => 'true', 'active' => 'true'}}
  784 + assert(env.custom_person_fields.merge(expected_hash) == env.custom_person_fields)
786 785 assert ! env.custom_person_fields.keys.include?('birth_date')
787 786 end
788 787  
... ...
test/unit/highlights_block_test.rb
... ... @@ -119,6 +119,19 @@ class HighlightsBlockTest &lt; ActiveSupport::TestCase
119 119 block.featured_images
120 120 end
121 121  
  122 + should 'return correct sub-dir address' do
  123 + Noosfero.stubs(:root).returns("/social")
  124 + f1 = mock()
  125 + f1.expects(:public_filename).returns('address')
  126 + UploadedFile.expects(:find).with(1).returns(f1)
  127 + block = HighlightsBlock.new
  128 + i1 = {:image_id => 1, :address => '/address', :position => 3, :title => 'address'}
  129 + block.images = [i1]
  130 + block.save!
  131 + block.reload
  132 + assert_equal block.images.first[:address], "/social/address"
  133 + end
  134 +
122 135 [Environment, Profile].each do |klass|
123 136 should "choose between owner galleries when owner is #{klass.name}" do
124 137 owner = fast_create(klass)
... ...
util/debian-install/README.md
1 1 This directory contains the basic structure to test the installation of
2 2 Noosfero debian packages, using a fresh Vagrant VM and packages built in
3 3 ${NOOSFEROROOT}/pkg/.
  4 +
  5 +To perform a test, do
  6 +
  7 +```
  8 +$ cd /path/to/noosfero
  9 +$ rake noosfero:deb
  10 +$ cd util/debian-install/
  11 +$ vagrant up
  12 +```
  13 +
  14 +To reset the environment in preparation for a new test, destroy the VM and
  15 +remove any local `*.deb` files :
  16 +
  17 +```
  18 +$ cd util/debian-install/
  19 +$ vagrant halt
  20 +$ vagrant destroy
  21 +$ rm -f *.deb
  22 +```
... ...
util/debian-install/Vagrantfile
... ... @@ -5,7 +5,7 @@
5 5 VAGRANTFILE_API_VERSION = "2"
6 6  
7 7 require 'fileutils'
8   -debs = `find ../../pkg/ -name '*.deb' | sort -t _ -V | tail -2`.split
  8 +debs = `find ../../pkg/ -name '*.deb' | sort -t _ -V`.split
9 9 if debs.empty?
10 10 puts "W: no debs built in ../../pkg/; will either install existing local"
11 11 puts " ones, or the ones from the remote repository"
... ... @@ -16,7 +16,7 @@ else
16 16  
17 17 local_debs.delete(fn)
18 18  
19   - if File.stat(f) != File.stat(fn)
  19 + if !File.exist?(fn) || File.stat(f) != File.stat(fn)
20 20 FileUtils::Verbose.rm_f(fn)
21 21 FileUtils::Verbose.ln f, '.'
22 22 end
... ...