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,7 +2,7 @@ before_script:
2 - mkdir -p tmp/pids log 2 - mkdir -p tmp/pids log
3 - bundle check || bundle install 3 - bundle check || bundle install
4 - script/noosfero-plugins disableall 4 - script/noosfero-plugins disableall
5 - - rm -f tmp/makemo.stamp && rake makemo &>/dev/null 5 + - bundle exec rake makemo &>/dev/null
6 # database 6 # database
7 - cp config/database.yml.gitlab-ci config/database.yml 7 - cp config/database.yml.gitlab-ci config/database.yml
8 - createdb gitlab_ci_test || true 8 - createdb gitlab_ci_test || true
@@ -2,26 +2,33 @@ language: ruby @@ -2,26 +2,33 @@ language: ruby
2 rvm: 2 rvm:
3 # for 2.2 support we need to upgrade the pg gem 3 # for 2.2 support we need to upgrade the pg gem
4 - 2.1.6 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 before_script: 22 before_script:
16 - mkdir -p tmp/pids log 23 - mkdir -p tmp/pids log
17 - bundle check || bundle install 24 - bundle check || bundle install
18 - script/noosfero-plugins disableall 25 - script/noosfero-plugins disableall
19 - - rake makemo 26 + - bundle exec rake makemo &>/dev/null
20 # database 27 # database
21 - cp config/database.yml.travis config/database.yml 28 - cp config/database.yml.travis config/database.yml
22 - psql -c 'create database myapp_test;' -U postgres 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 env: 33 env:
27 - TASK=test:units 34 - TASK=test:units
  1 +This list is automatically generated at release time. Please do not change it.
  2 +
1 If you are not listed here, but should be, please write to the noosfero mailing 3 If you are not listed here, but should be, please write to the noosfero mailing
2 list: http://listas.softwarelivre.org/cgi-bin/mailman/listinfo/noosfero-dev 4 list: http://listas.softwarelivre.org/cgi-bin/mailman/listinfo/noosfero-dev
3 (this list requires subscription to post, but since you are an author of 5 (this list requires subscription to post, but since you are an author of
@@ -8,261 +10,118 @@ Developers @@ -8,261 +10,118 @@ Developers
8 10
9 Ábner Silva de Oliveira <abner.oliveira@serpro.gov.br> 11 Ábner Silva de Oliveira <abner.oliveira@serpro.gov.br>
10 Alan Freihof Tygel <alantygel@gmail.com> 12 Alan Freihof Tygel <alantygel@gmail.com>
11 -alcampelo <alcampelo@alcampelo.(none)>  
12 Alessandro Palmeira <alessandro.palmeira@gmail.com> 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 Ana Losnak <analosnak@gmail.com> 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 Antonio Terceiro <terceiro@colivre.coop.br> 20 Antonio Terceiro <terceiro@colivre.coop.br>
49 Arthur Del Esposte <arthurmde@gmail.com> 21 Arthur Del Esposte <arthurmde@gmail.com>
50 -Arthur Del Esposte <arthurmde@yahoo.com.br> 22 +Athos Ribeiro <athoscribeiro@gmail.com>
51 Aurelio A. Heckert <aurelio@colivre.coop.br> 23 Aurelio A. Heckert <aurelio@colivre.coop.br>
52 -Braulio Bhavamitra <brauliobo@gmail.com>  
53 -Bráulio Bhavamitra <brauliobo@gmail.com>  
54 Braulio Bhavamitra <braulio@eita.org.br> 24 Braulio Bhavamitra <braulio@eita.org.br>
55 -Caio <caio.csalgado@gmail.com>  
56 -Caio + Diego + Pedro + João <caio.csalgado@gmail.com>  
57 Caio Formiga <caio.formiga@gmail.com> 25 Caio Formiga <caio.formiga@gmail.com>
58 -Caio, Pedro <caio.csalgado@gmail.com>  
59 -Caio Salgado + Alessandro Palmeira <caio.csalgado@gmail.com>  
60 Caio Salgado <caio.csalgado@gmail.com> 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 Caio SBA <caio@colivre.coop.br> 27 Caio SBA <caio@colivre.coop.br>
78 Caio Tiago Oliveira <caiotiago@colivre.coop.br> 28 Caio Tiago Oliveira <caiotiago@colivre.coop.br>
79 Carlos Andre de Souza <carlos.andre.souza@msn.com> 29 Carlos Andre de Souza <carlos.andre.souza@msn.com>
80 Carlos Morais <carlos88morais@gmail.com> 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 Daniela Soares Feitosa <danielafeitosa@colivre.coop.br> 34 Daniela Soares Feitosa <danielafeitosa@colivre.coop.br>
93 Daniel Bucher <daniel.bucher88@gmail.com> 35 Daniel Bucher <daniel.bucher88@gmail.com>
94 Daniel Cunha <daniel@colivre.coop.br> 36 Daniel Cunha <daniel@colivre.coop.br>
95 -daniel <dtygel@eita.org.br> 37 +Daniel Tygel <dtygel@eita.org.br>
96 David Carlos <ddavidcarlos1392@gmail.com> 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 Eduardo Passos <eduardosteps@gmail.com> 42 Eduardo Passos <eduardosteps@gmail.com>
128 Eduardo Tourinho Edington <eduardo.edington@serpro.gov.br> 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 Fabio Teixeira <fabio1079@gmail.com> 46 Fabio Teixeira <fabio1079@gmail.com>
132 FAMMA TV NOTICIAS MEDIOS DE CO <revistafammatvmusic.oficial@gmail.com> 47 FAMMA TV NOTICIAS MEDIOS DE CO <revistafammatvmusic.oficial@gmail.com>
133 Fernanda Lopes <nanda.listas+psl@gmail.com> 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 Francisco Marcelo de Araújo Lima Júnior <francisco.lima-junior@serpro.gov.br> 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 Gabriela Navarro <navarro1703@gmail.com> 51 Gabriela Navarro <navarro1703@gmail.com>
139 Gonzalo Exequiel Pedone <hipersayan.x@gmail.com> 52 Gonzalo Exequiel Pedone <hipersayan.x@gmail.com>
140 Grazieno Pellegrino <grazieno@gmail.com> 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 Hebert Douglas <hebertdougl@gmail.com> 57 Hebert Douglas <hebertdougl@gmail.com>
143 Hugo Melo <hugo@riseup.net> 58 Hugo Melo <hugo@riseup.net>
  59 +Iolane Andrade <andrade.icaa@gmail.com>
144 Isaac Canan <isaac@intelletto.com.br> 60 Isaac Canan <isaac@intelletto.com.br>
145 Italo Valcy <italo@dcc.ufba.br> 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 Jérôme Jutteau <j.jutteau@gmail.com> 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 João M. M. da Silva <jaodsilv@linux.ime.usp.br> 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 Joenio Costa <joenio@colivre.coop.br> 66 Joenio Costa <joenio@colivre.coop.br>
180 Josef Spillner <josef.spillner@tu-dresden.de> 67 Josef Spillner <josef.spillner@tu-dresden.de>
181 Jose Pedro <1jpsneto@gmail.com> 68 Jose Pedro <1jpsneto@gmail.com>
182 -Junior Silva <junior@bajor.localhost.localdomain>  
183 -Junior Silva <junior@sedeantigo.colivre.coop.br>  
184 Junior Silva <juniorsilva1001@gmail.com> 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 Keilla Menezes <keilla@colivre.coop.br> 70 Keilla Menezes <keilla@colivre.coop.br>
189 Larissa Reis <larissa@colivre.coop.br> 71 Larissa Reis <larissa@colivre.coop.br>
190 -Larissa Reis <reiss.larissa@gmail.com>  
191 Leandro Alves <leandrosustenido@gmail.com> 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 Leandro Nunes dos Santos <leandro.santos@serpro.gov.br> 73 Leandro Nunes dos Santos <leandro.santos@serpro.gov.br>
  74 +Leandro Veloso <leandrovelosorodrigues@gmail.com>
196 LinguÁgil 2010 <linguagil.bahia@gmail.com> 75 LinguÁgil 2010 <linguagil.bahia@gmail.com>
  76 +Lucas Couto <loc.unb@gmail.com>
197 Lucas Kanashiro <kanashiro.duarte@gmail.com> 77 Lucas Kanashiro <kanashiro.duarte@gmail.com>
198 -Lucas Melo <lucas@colivre.coop.br>  
199 Lucas Melo <lucaspradomelo@gmail.com> 78 Lucas Melo <lucaspradomelo@gmail.com>
200 -Luciano <lucianopcbr@gmail.com>  
201 Luciano Prestes Cavalcanti <lucianopcbr@gmail.com> 79 Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>
202 Luis David Aguilar Carlos <ludwig9003@gmail.com> 80 Luis David Aguilar Carlos <ludwig9003@gmail.com>
203 Luiz Fernando de Freitas Matos <luiz@luizff.matos@gmail.com> 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 Marcos Ramos <ms.ramos@outlook.com> 83 Marcos Ramos <ms.ramos@outlook.com>
  84 +Marcos Ronaldo <marcos.rpj2@gmail.com>
  85 +Mariel Zasso <noosfero-br@listas.softwarelivre.org>
206 Martín Olivera <molivera@solar.org.ar> 86 Martín Olivera <molivera@solar.org.ar>
  87 +Matheus Faria <matheus.sousa.faria@gmail.com>
207 Maurilio Atila <cabelotaina@gmail.com> 88 Maurilio Atila <cabelotaina@gmail.com>
208 M for Momo <mo@rtnp.org> 89 M for Momo <mo@rtnp.org>
209 Michal Čihař <michal@cihar.com> 90 Michal Čihař <michal@cihar.com>
  91 +Michel Felipe <mfelipeof@gmail.com>
210 Moises Machado <moises@colivre.coop.br> 92 Moises Machado <moises@colivre.coop.br>
211 Naíla Alves <naila@colivre.coop.br> 93 Naíla Alves <naila@colivre.coop.br>
212 Nanda Lopes <nanda.listas+psl@gmail.com> 94 Nanda Lopes <nanda.listas+psl@gmail.com>
213 Niemand Jedermann <predatorix@web.de> 95 Niemand Jedermann <predatorix@web.de>
214 Parley Martins <parleypachecomartins@gmail.com> 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 Paulo Meirelles <paulo@softwarelivre.org> 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 Rafael Gomes <rafaelgomes@techfree.com.br> 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 Rafael Martins <rmmartins@gmail.com> 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 Rafael Reggiani Manzo <rr.manzo@gmail.com> 103 Rafael Reggiani Manzo <rr.manzo@gmail.com>
235 Raphaël Rousseau <raph@r4f.org> 104 Raphaël Rousseau <raph@r4f.org>
236 Raquel Lira <raquel.lira@gmail.com> 105 Raquel Lira <raquel.lira@gmail.com>
237 Raquel <rcordioli@gmail.com> 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 Rodrigo Souto <rodrigo@colivre.coop.br> 110 Rodrigo Souto <rodrigo@colivre.coop.br>
246 Ronny Kursawe <kursawe.ronny@googlemail.com> 111 Ronny Kursawe <kursawe.ronny@googlemail.com>
247 -root <root@debian.sdr.serpro>  
248 Samuel R. C. Vale <srcvale@holoscopio.com> 112 Samuel R. C. Vale <srcvale@holoscopio.com>
249 -Tallys Martins <tallysmartins@gmail.com>  
250 Tallys Martins <tallysmartins@yahoo.com.br> 113 Tallys Martins <tallysmartins@yahoo.com.br>
251 -tallys <tallys@tallys>  
252 -tallys <tallys@tallys.(none)>  
253 Thiago Casotti <thiago.casotti@uol.com.br> 114 Thiago Casotti <thiago.casotti@uol.com.br>
  115 +Thiago Kairala <thiagor.kairala@gmail.com>
  116 +Thiago Ribeiro <thiagitosouza@hotmail.com>
254 Thiago Zoroastro <thiago.zoroastro@bol.com.br> 117 Thiago Zoroastro <thiago.zoroastro@bol.com.br>
255 Tuux <tuxa@galaxie.eu.org> 118 Tuux <tuxa@galaxie.eu.org>
256 TWS <tablettws@gmail.com> 119 TWS <tablettws@gmail.com>
257 Valessio Brito <contato@valessiobrito.com.br> 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 Victor Costa <vfcosta@gmail.com> 121 Victor Costa <vfcosta@gmail.com>
263 Victor Hugo Alves de Carvalho <victorhugodf.ac@gmail.com> 122 Victor Hugo Alves de Carvalho <victorhugodf.ac@gmail.com>
264 Vinicius Cubas Brand <viniciuscb@gmail.com> 123 Vinicius Cubas Brand <viniciuscb@gmail.com>
265 -Visita <visita@debian.(none)> 124 +Wilton Rodrigues <braynwilton@gmail.com>
266 Yann Lugrin <yann.lugrin@liquid-concept.ch> 125 Yann Lugrin <yann.lugrin@liquid-concept.ch>
267 126
268 Ideas, specifications and incentive 127 Ideas, specifications and incentive
@@ -18,7 +18,7 @@ gem &#39;exception_notification&#39;, &#39;~&gt; 4.0.1&#39; @@ -18,7 +18,7 @@ gem &#39;exception_notification&#39;, &#39;~&gt; 4.0.1&#39;
18 gem 'gettext', '~> 2.2.1', :require => false 18 gem 'gettext', '~> 2.2.1', :require => false
19 gem 'locale', '~> 2.0.5' 19 gem 'locale', '~> 2.0.5'
20 gem 'whenever', :require => false 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 # asset pipeline 23 # asset pipeline
24 gem 'uglifier', '>= 1.0.3' 24 gem 'uglifier', '>= 1.0.3'
app/models/article.rb
@@ -504,9 +504,9 @@ class Article &lt; ActiveRecord::Base @@ -504,9 +504,9 @@ class Article &lt; ActiveRecord::Base
504 where( 504 where(
505 [ 505 [
506 "published = ? OR last_changed_by_id = ? OR profile_id = ? OR ? 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 profile.nil? ? false : user.has_permission?(:view_private_content, profile), 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,6 +12,7 @@ class HighlightsBlock &lt; Block
12 block.images.each do |i| 12 block.images.each do |i|
13 i[:image_id] = i[:image_id].to_i 13 i[:image_id] = i[:image_id].to_i
14 i[:position] = i[:position].to_i 14 i[:position] = i[:position].to_i
  15 + i[:address] = Noosfero.root + i[:address] unless Noosfero.root.nil?
15 begin 16 begin
16 file = UploadedFile.find(i[:image_id]) 17 file = UploadedFile.find(i[:image_id])
17 i[:image_src] = file.public_filename 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 [ Joenio Costa ] 3 [ Joenio Costa ]
7 * Build noosfero-chat package 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 noosfero (1.1) wheezy; urgency=low 11 noosfero (1.1) wheezy; urgency=low
12 12
lib/noosfero/version.rb
1 module Noosfero 1 module Noosfero
2 PROJECT = 'noosfero' 2 PROJECT = 'noosfero'
3 - VERSION = '1.2~0' 3 + VERSION = '1.2~rc1'
4 end 4 end
5 5
6 root = File.expand_path(File.dirname(__FILE__) + '/../..') 6 root = File.expand_path(File.dirname(__FILE__) + '/../..')
lib/tasks/release.rake
@@ -53,6 +53,8 @@ namespace :noosfero do @@ -53,6 +53,8 @@ namespace :noosfero do
53 end 53 end
54 54
55 AUTHORS_HEADER = <<EOF 55 AUTHORS_HEADER = <<EOF
  56 +This list is automatically generated at release time. Please do not change it.
  57 +
56 If you are not listed here, but should be, please write to the noosfero mailing 58 If you are not listed here, but should be, please write to the noosfero mailing
57 list: http://listas.softwarelivre.org/cgi-bin/mailman/listinfo/noosfero-dev 59 list: http://listas.softwarelivre.org/cgi-bin/mailman/listinfo/noosfero-dev
58 (this list requires subscription to post, but since you are an author of 60 (this list requires subscription to post, but since you are an author of
@@ -82,7 +84,7 @@ EOF @@ -82,7 +84,7 @@ EOF
82 begin 84 begin
83 File.open("AUTHORS.md", 'w') do |output| 85 File.open("AUTHORS.md", 'w') do |output|
84 output.puts AUTHORS_HEADER 86 output.puts AUTHORS_HEADER
85 - output.puts `git log --no-merges --pretty=format:'%aN <%aE>' | sort | uniq` 87 + output.puts `./script/authors`
86 output.puts AUTHORS_FOOTER 88 output.puts AUTHORS_FOOTER
87 end 89 end
88 commit_changes(['AUTHORS.md'], 'Updating authors file') if !pendencies_on_authors[:ok] 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 class CommunityTrackPluginMyprofileController < MyProfileController 1 class CommunityTrackPluginMyprofileController < MyProfileController
2 - append_view_path File.join(File.dirname(__FILE__) + '/../../views')  
3 2
4 before_filter :allow_edit_track, :only => :save_order 3 before_filter :allow_edit_track, :only => :save_order
5 4
plugins/community_track/controllers/public/community_track_plugin_public_controller.rb
1 class CommunityTrackPluginPublicController < PublicController 1 class CommunityTrackPluginPublicController < PublicController
2 - append_view_path File.join(File.dirname(__FILE__) + '/../../views')  
3 2
4 no_design_blocks 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,7 +65,8 @@ class CommunityTrackPlugin::Track &lt; Folder
65 65
66 def category_name 66 def category_name
67 category = categories.first 67 category = categories.first
68 - category ? category.top_ancestor.name : '' 68 + category = category.top_ancestor unless category.nil?
  69 + category.nil? ? '' : category.name
69 end 70 end
70 71
71 def to_html(options = {}) 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 # Re-raise errors caught by the controller. 3 # Re-raise errors caught by the controller.
4 class CmsController; def rescue_action(e) raise e end; end 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 class ContentViewerControllerTest < ActionController::TestCase 4 class ContentViewerControllerTest < ActionController::TestCase
11 5
12 def setup 6 def setup
@@ -87,32 +81,32 @@ class ContentViewerControllerTest &lt; ActionController::TestCase @@ -87,32 +81,32 @@ class ContentViewerControllerTest &lt; ActionController::TestCase
87 end 81 end
88 82
89 should 'render a div with block id for track list block' do 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 get :view_page, @step.url 85 get :view_page, @step.url
92 assert_tag :tag => 'div', :attributes => { :class => 'track_list', :id => "track_list_#{@block.id}" } 86 assert_tag :tag => 'div', :attributes => { :class => 'track_list', :id => "track_list_#{@block.id}" }
93 end 87 end
94 88
95 should 'render a div with block id for track card list block' do 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 get :view_page, @step.url 91 get :view_page, @step.url
98 assert_tag :tag => 'div', :attributes => { :class => 'track_list', :id => "track_list_#{@block.id}" } 92 assert_tag :tag => 'div', :attributes => { :class => 'track_list', :id => "track_list_#{@block.id}" }
99 end 93 end
100 94
101 should 'render tracks in track list block' do 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 get :view_page, @step.url 97 get :view_page, @step.url
104 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)}" } } } 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 end 99 end
106 100
107 should 'render tracks in track card list block' do 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 get :view_page, @step.url 103 get :view_page, @step.url
110 assert_tag :tag => 'div', :attributes => { :class => "item_card category_#{@track.category_name}" }, :descendant => { :tag => 'div', :attributes => { :class => 'track_content' } } 104 assert_tag :tag => 'div', :attributes => { :class => "item_card category_#{@track.category_name}" }, :descendant => { :tag => 'div', :attributes => { :class => 'track_content' } }
111 assert_tag :tag => 'div', :attributes => { :class => "item_card category_#{@track.category_name}" }, :descendant => { :tag => 'div', :attributes => { :class => 'track_stats' } } 105 assert_tag :tag => 'div', :attributes => { :class => "item_card category_#{@track.category_name}" }, :descendant => { :tag => 'div', :attributes => { :class => 'track_stats' } }
112 end 106 end
113 107
114 should 'render link to display more tracks in track list block' do 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 (@block.limit+1).times { |i| create_track("track#{i}", @profile) } 110 (@block.limit+1).times { |i| create_track("track#{i}", @profile) }
117 111
118 get :view_page, @step.url 112 get :view_page, @step.url
@@ -120,7 +114,7 @@ class ContentViewerControllerTest &lt; ActionController::TestCase @@ -120,7 +114,7 @@ class ContentViewerControllerTest &lt; ActionController::TestCase
120 end 114 end
121 115
122 should 'render link to show all tracks in track list block' do 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 @block.more_another_page = true 118 @block.more_another_page = true
125 @block.save! 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 # Re-raise errors caught by the controller. 3 # Re-raise errors caught by the controller.
4 class EnvironmentDesignController; def rescue_action(e) raise e end; end 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 # Re-raise errors caught by the controller. 4 # Re-raise errors caught by the controller.
5 class CommunityTrackPluginMyprofileController; def rescue_action(e) raise e end; end 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,10 +7,6 @@ class CommunityTrackPluginMyprofileController; def rescue_action(e) raise e end;
7 class CommunityTrackPluginMyprofileControllerTest < ActionController::TestCase 7 class CommunityTrackPluginMyprofileControllerTest < ActionController::TestCase
8 8
9 def setup 9 def setup
10 - @controller = CommunityTrackPluginMyprofileController.new  
11 - @request = ActionController::TestRequest.new  
12 - @response = ActionController::TestResponse.new  
13 -  
14 @profile = fast_create(Community) 10 @profile = fast_create(Community)
15 @track = create_track('track', @profile) 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 # Re-raise errors caught by the controller. 4 # Re-raise errors caught by the controller.
5 class CommunityTrackPluginPublicController; def rescue_action(e) raise e end; end 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 def create_track(name, profile) 3 def create_track(name, profile)
4 track = CommunityTrackPlugin::Track.new(:abstract => 'abstract', :body => 'body', :name => name, :profile => profile) 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 class ArticleTest < ActiveSupport::TestCase 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 class ActivationJobTest < ActiveSupport::TestCase 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 class StepHelperTest < ActiveSupport::TestCase 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 class StepTest < ActiveSupport::TestCase 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 class TrackCardListBlockTest < ActiveSupport::TestCase 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 class TrackHelperTest < ActiveSupport::TestCase 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 class TrackListBlockTest < ActiveSupport::TestCase 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 class TrackTest < ActiveSupport::TestCase 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 class CommunityTrackPluginTest < ActiveSupport::TestCase 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,8 +26,8 @@ class EventPlugin::EventBlock &lt; Block
26 end 26 end
27 27
28 def events(user = nil) 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 if future_only 32 if future_only
33 events = events.where('start_date >= ?', Date.today) 33 events = events.where('start_date >= ?', Date.today)
plugins/event/test/test_helper.rb 0 → 100644
@@ -0,0 +1 @@ @@ -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 def setup 5 def setup
6 @env = Environment.default 6 @env = Environment.default
@@ -165,7 +165,7 @@ class EventPlugin::EventBlockTest &lt; ActiveSupport::TestCase @@ -165,7 +165,7 @@ class EventPlugin::EventBlockTest &lt; ActiveSupport::TestCase
165 165
166 def visibility_content_test_from_a_profile(profile) 166 def visibility_content_test_from_a_profile(profile)
167 @block.box.owner = @env 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 @block.all_env_events = true 169 @block.all_env_events = true
170 170
171 # Do not list event from private profile for non logged visitor 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 class EventPluginTest < ActiveSupport::TestCase 3 class EventPluginTest < ActiveSupport::TestCase
4 4
plugins/lattes_curriculum/features/lattes_curriculum.feature
@@ -29,7 +29,7 @@ Feature: import lattes information @@ -29,7 +29,7 @@ Feature: import lattes information
29 And I fill in "Lattes URL" with "http://lattes.cnpq.br/2864976228727880" 29 And I fill in "Lattes URL" with "http://lattes.cnpq.br/2864976228727880"
30 And I press "Save" 30 And I press "Save"
31 And I go to /profile/admin_user#lattes_tab 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 Scenario: Don't show lattes informations for blank lattes urls 34 Scenario: Don't show lattes informations for blank lattes urls
35 Given I am on admin_user's control panel 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,6 +19,8 @@ class Html_parser
19 page = _("Lattes not found. Please, make sure the informed URL is correct.") 19 page = _("Lattes not found. Please, make sure the informed URL is correct.")
20 rescue Timeout::Error => e 20 rescue Timeout::Error => e
21 page = _("Lattes Platform is unreachable. Please, try it later.") 21 page = _("Lattes Platform is unreachable. Please, try it later.")
  22 + rescue
  23 + page = _("Could not import the lattes")
22 end 24 end
23 end 25 end
24 26
plugins/lattes_curriculum/test/unit/html_parser_test.rb
@@ -12,13 +12,4 @@ class HtmlParserTest &lt; ActiveSupport::TestCase @@ -12,13 +12,4 @@ class HtmlParserTest &lt; ActiveSupport::TestCase
12 should 'be not nil the instance' do 12 should 'be not nil the instance' do
13 assert_not_nil @parser 13 assert_not_nil @parser
14 end 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 end 15 end
plugins/people_block/lib/friends_block.rb
@@ -17,7 +17,7 @@ class FriendsBlock &lt; PeopleBlockBase @@ -17,7 +17,7 @@ class FriendsBlock &lt; PeopleBlockBase
17 end 17 end
18 18
19 def suggestions 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 end 21 end
22 22
23 def footer 23 def footer
plugins/people_block/test/functional/profile_controller_test.rb
@@ -17,8 +17,8 @@ class ProfileControllerTest &lt; ActionController::TestCase @@ -17,8 +17,8 @@ class ProfileControllerTest &lt; ActionController::TestCase
17 login_as(user.login) 17 login_as(user.login)
18 owner = user.person 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 FriendsBlock.delete_all 23 FriendsBlock.delete_all
24 block = FriendsBlock.new 24 block = FriendsBlock.new
plugins/people_block/test/unit/friends_block_test.rb
@@ -138,8 +138,8 @@ class FriendsBlockTest &lt; ActionView::TestCase @@ -138,8 +138,8 @@ class FriendsBlockTest &lt; ActionView::TestCase
138 138
139 should 'list owner\'s friends suggestions' do 139 should 'list owner\'s friends suggestions' do
140 owner = fast_create(Person) 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 block = FriendsBlock.new 144 block = FriendsBlock.new
145 block.stubs(:owner).returns(owner) 145 block.stubs(:owner).returns(owner)
plugins/statistics/lib/statistics_block.rb
@@ -61,7 +61,7 @@ class StatisticsBlock &lt; Block @@ -61,7 +61,7 @@ class StatisticsBlock &lt; Block
61 end 61 end
62 62
63 def templates 63 def templates
64 - Community.templates(environment) 64 + self.environment.community_templates
65 end 65 end
66 66
67 def is_template_counter_active? template_id 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,5 +2,7 @@ class AddTimestampToRelation &lt; ActiveRecord::Migration
2 def change 2 def change
3 add_column :sub_organizations_plugin_relations, :created_at, :datetime 3 add_column :sub_organizations_plugin_relations, :created_at, :datetime
4 add_column :sub_organizations_plugin_relations, :updated_at, :datetime 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 end 7 end
6 end 8 end
po/fr/noosfero.po
@@ -7,7 +7,7 @@ msgstr &quot;&quot; @@ -7,7 +7,7 @@ msgstr &quot;&quot;
7 "Project-Id-Version: 1.1-166-gaf47713\n" 7 "Project-Id-Version: 1.1-166-gaf47713\n"
8 "Report-Msgid-Bugs-To: \n" 8 "Report-Msgid-Bugs-To: \n"
9 "POT-Creation-Date: 2015-06-01 17:26-0300\n" 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 "Last-Translator: Christophe DANIEL <papaeng@gmail.com>\n" 11 "Last-Translator: Christophe DANIEL <papaeng@gmail.com>\n"
12 "Language-Team: French " 12 "Language-Team: French "
13 "<https://hosted.weblate.org/projects/noosfero/noosfero/fr/>\n" 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,32 +6788,28 @@ msgid &quot;There are members currently using this role.&quot;
6788 msgstr "" 6788 msgstr ""
6789 6789
6790 #: app/views/profile_roles/destroy.html.erb:13 6790 #: app/views/profile_roles/destroy.html.erb:13
6791 -#, fuzzy  
6792 msgid "To which role do you want to change them?" 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 #: app/views/profile_roles/destroy.html.erb:20 6794 #: app/views/profile_roles/destroy.html.erb:20
6796 -#, fuzzy  
6797 msgid "Delete role" 6795 msgid "Delete role"
6798 -msgstr "Détruire le profil" 6796 +msgstr "Supprimer le rôle"
6799 6797
6800 #: app/views/profile_roles/index.html.erb:1 app/views/role/index.html.erb:1 6798 #: app/views/profile_roles/index.html.erb:1 app/views/role/index.html.erb:1
6801 msgid "Manage user roles" 6799 msgid "Manage user roles"
6802 msgstr "Gérer les rôles des utilisateurs" 6800 msgstr "Gérer les rôles des utilisateurs"
6803 6801
6804 #: app/views/profile_roles/index.html.erb:5 app/views/role/index.html.erb:5 6802 #: app/views/profile_roles/index.html.erb:5 app/views/role/index.html.erb:5
6805 -#, fuzzy  
6806 msgid "Role" 6803 msgid "Role"
6807 -msgstr "Rôles :" 6804 +msgstr "Rôle"
6808 6805
6809 #: app/views/profile_roles/index.html.erb:17 6806 #: app/views/profile_roles/index.html.erb:17
6810 msgid "Assign" 6807 msgid "Assign"
6811 msgstr "" 6808 msgstr ""
6812 6809
6813 #: app/views/comment_notifier/mail_to_followers.html.erb:1 6810 #: app/views/comment_notifier/mail_to_followers.html.erb:1
6814 -#, fuzzy  
6815 msgid "Hi!" 6811 msgid "Hi!"
6816 -msgstr "Visites" 6812 +msgstr "Bonjour !"
6817 6813
6818 #: app/views/comment_notifier/mail_to_followers.html.erb:3 6814 #: app/views/comment_notifier/mail_to_followers.html.erb:3
6819 msgid "" 6815 msgid ""
@@ -6823,9 +6819,8 @@ msgstr &quot;&quot; @@ -6823,9 +6819,8 @@ msgstr &quot;&quot;
6823 6819
6824 #: app/views/comment_notifier/mail_to_followers.html.erb:5 6820 #: app/views/comment_notifier/mail_to_followers.html.erb:5
6825 #: app/views/comment_notifier/notification.text.erb:5 6821 #: app/views/comment_notifier/notification.text.erb:5
6826 -#, fuzzy  
6827 msgid "Title: %s" 6822 msgid "Title: %s"
6828 -msgstr "Ticket : %s" 6823 +msgstr "Titre : %s"
6829 6824
6830 #: app/views/comment_notifier/mail_to_followers.html.erb:7 6825 #: app/views/comment_notifier/mail_to_followers.html.erb:7
6831 #: app/views/comment_notifier/notification.text.erb:7 6826 #: app/views/comment_notifier/notification.text.erb:7
@@ -6922,9 +6917,8 @@ msgid &quot;Set %s template as default&quot; @@ -6922,9 +6917,8 @@ msgid &quot;Set %s template as default&quot;
6922 msgstr "Définir %s comme modèle par défaut" 6917 msgstr "Définir %s comme modèle par défaut"
6923 6918
6924 #: app/views/templates/index.html.erb:31 6919 #: app/views/templates/index.html.erb:31
6925 -#, fuzzy  
6926 msgid "Edit settings" 6920 msgid "Edit settings"
6927 -msgstr "Paramètres de messagerie" 6921 +msgstr "Modifier les paramètres"
6928 6922
6929 #: app/views/templates/index.html.erb:33 6923 #: app/views/templates/index.html.erb:33
6930 #, fuzzy 6924 #, fuzzy
@@ -6932,9 +6926,8 @@ msgid &quot;Edit sideblocks&quot; @@ -6932,9 +6926,8 @@ msgid &quot;Edit sideblocks&quot;
6932 msgstr "Éditer les boîtes de menus" 6926 msgstr "Éditer les boîtes de menus"
6933 6927
6934 #: app/views/templates/index.html.erb:35 6928 #: app/views/templates/index.html.erb:35
6935 -#, fuzzy  
6936 msgid "Edit header/footer" 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 #: app/views/doc/_path.html.erb:2 6932 #: app/views/doc/_path.html.erb:2
6940 msgid "You are here:" 6933 msgid "You are here:"
@@ -6946,9 +6939,8 @@ msgid &quot;Manual sections&quot; @@ -6946,9 +6939,8 @@ msgid &quot;Manual sections&quot;
6946 msgstr "Paramètres de messagerie" 6939 msgstr "Paramètres de messagerie"
6947 6940
6948 #: app/views/home/terms.html.erb:1 6941 #: app/views/home/terms.html.erb:1
6949 -#, fuzzy  
6950 msgid "Terms of use - %s" 6942 msgid "Terms of use - %s"
6951 -msgstr "Conditions d'utilisation" 6943 +msgstr "Conditions d'utilisation - %s"
6952 6944
6953 #: app/views/home/welcome.html.erb:4 6945 #: app/views/home/welcome.html.erb:4
6954 msgid "Welcome to %s!" 6946 msgid "Welcome to %s!"
@@ -6966,9 +6958,8 @@ msgid &quot;Firstly, some tips for getting started:&quot; @@ -6966,9 +6958,8 @@ msgid &quot;Firstly, some tips for getting started:&quot;
6966 msgstr "" 6958 msgstr ""
6967 6959
6968 #: app/views/home/welcome.html.erb:11 6960 #: app/views/home/welcome.html.erb:11
6969 -#, fuzzy  
6970 msgid "Confirm your account!" 6961 msgid "Confirm your account!"
6971 -msgstr "Confirmer votre nouveau mot de passe" 6962 +msgstr "Confirmer votre compte !"
6972 6963
6973 #: app/views/home/welcome.html.erb:12 6964 #: app/views/home/welcome.html.erb:12
6974 msgid "" 6965 msgid ""
@@ -7022,9 +7013,8 @@ msgid &quot;%s your Gmail, Yahoo and Hotmail contacts!&quot; @@ -7022,9 +7013,8 @@ msgid &quot;%s your Gmail, Yahoo and Hotmail contacts!&quot;
7022 msgstr "%s vos contacts de Gmail, Yahoo et Hotmail !" 7013 msgstr "%s vos contacts de Gmail, Yahoo et Hotmail !"
7023 7014
7024 #: app/views/home/welcome.html.erb:25 7015 #: app/views/home/welcome.html.erb:25
7025 -#, fuzzy  
7026 msgid "Invite and find" 7016 msgid "Invite and find"
7027 -msgstr "Inviter mes contacts !" 7017 +msgstr "Inviter et trouver"
7028 7018
7029 #: app/views/home/welcome.html.erb:26 7019 #: app/views/home/welcome.html.erb:26
7030 msgid "" 7020 msgid ""
@@ -7047,16 +7037,14 @@ msgid &quot;What can I do as a %s?&quot; @@ -7047,16 +7037,14 @@ msgid &quot;What can I do as a %s?&quot;
7047 msgstr "" 7037 msgstr ""
7048 7038
7049 #: app/views/home/index.html.erb:2 7039 #: app/views/home/index.html.erb:2
7050 -#, fuzzy  
7051 msgid "News" 7040 msgid "News"
7052 -msgstr "Nouveau %s" 7041 +msgstr "Nouveaus"
7053 7042
7054 #: app/views/home/index.html.erb:45 7043 #: app/views/home/index.html.erb:45
7055 #: app/views/profile/_profile_activities_list.html.erb:14 7044 #: app/views/profile/_profile_activities_list.html.erb:14
7056 #: app/views/profile/_profile_network_activities.html.erb:6 7045 #: app/views/profile/_profile_network_activities.html.erb:6
7057 -#, fuzzy  
7058 msgid "View more" 7046 msgid "View more"
7059 -msgstr "Voir le profil" 7047 +msgstr "Voir plus"
7060 7048
7061 #: app/views/features/_manage_enterprise_fields.html.erb:5 7049 #: app/views/features/_manage_enterprise_fields.html.erb:5
7062 #: app/views/features/_manage_community_fields.html.erb:5 7050 #: app/views/features/_manage_community_fields.html.erb:5
@@ -7071,16 +7059,14 @@ msgid &quot;Required&quot; @@ -7071,16 +7059,14 @@ msgid &quot;Required&quot;
7071 msgstr "Obligatoire" 7059 msgstr "Obligatoire"
7072 7060
7073 #: app/views/features/_manage_enterprise_fields.html.erb:8 7061 #: app/views/features/_manage_enterprise_fields.html.erb:8
7074 -#, fuzzy  
7075 msgid "Display on registration?" 7062 msgid "Display on registration?"
7076 msgstr "Afficher à l'inscription ?" 7063 msgstr "Afficher à l'inscription ?"
7077 7064
7078 #: app/views/features/_manage_enterprise_fields.html.erb:13 7065 #: app/views/features/_manage_enterprise_fields.html.erb:13
7079 #: app/views/features/_manage_community_fields.html.erb:13 7066 #: app/views/features/_manage_community_fields.html.erb:13
7080 #: app/views/features/_manage_person_fields.html.erb:13 7067 #: app/views/features/_manage_person_fields.html.erb:13
7081 -#, fuzzy  
7082 msgid "Check/Uncheck All" 7068 msgid "Check/Uncheck All"
7083 -msgstr "Tout décocher" 7069 +msgstr "Tout cocher/décocher"
7084 7070
7085 #: app/views/features/manage_fields.html.erb:1 7071 #: app/views/features/manage_fields.html.erb:1
7086 msgid "Manage fields displayed for profiles" 7072 msgid "Manage fields displayed for profiles"
@@ -7134,19 +7120,16 @@ msgstr &quot;&quot; @@ -7134,19 +7120,16 @@ msgstr &quot;&quot;
7134 "modifications." 7120 "modifications."
7135 7121
7136 #: app/views/features/index.html.erb:15 7122 #: app/views/features/index.html.erb:15
7137 -#, fuzzy  
7138 msgid "Feature" 7123 msgid "Feature"
7139 -msgstr "Quelques fonctionnalités" 7124 +msgstr "Fonctionnalité"
7140 7125
7141 #: app/views/features/index.html.erb:16 7126 #: app/views/features/index.html.erb:16
7142 -#, fuzzy  
7143 msgid "Enabled?" 7127 msgid "Enabled?"
7144 -msgstr "Activé" 7128 +msgstr "Activé ?"
7145 7129
7146 #: app/views/features/index.html.erb:27 7130 #: app/views/features/index.html.erb:27
7147 -#, fuzzy  
7148 msgid "Configure features" 7131 msgid "Configure features"
7149 -msgstr "Quelques fonctionnalités" 7132 +msgstr "Editer les fonctionnalités"
7150 7133
7151 #: app/views/features/index.html.erb:29 7134 #: app/views/features/index.html.erb:29
7152 msgid "Page to redirect after signup" 7135 msgid "Page to redirect after signup"
@@ -7174,9 +7157,8 @@ msgid &quot;Embed unavailable.&quot; @@ -7174,9 +7157,8 @@ msgid &quot;Embed unavailable.&quot;
7174 msgstr "Indisponible" 7157 msgstr "Indisponible"
7175 7158
7176 #: app/views/chat/start_session_error.html.erb:3 7159 #: app/views/chat/start_session_error.html.erb:3
7177 -#, fuzzy  
7178 msgid "Could not connect to chat" 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 #: app/views/chat/start_session_error.html.erb:3 7163 #: app/views/chat/start_session_error.html.erb:3
7182 msgid "try again" 7164 msgid "try again"
@@ -7199,26 +7181,22 @@ msgid &quot;Select theme&quot; @@ -7199,26 +7181,22 @@ msgid &quot;Select theme&quot;
7199 msgstr "Choisissez le thème" 7181 msgstr "Choisissez le thème"
7200 7182
7201 #: app/views/themes/_select_theme.html.erb:5 7183 #: app/views/themes/_select_theme.html.erb:5
7202 -#, fuzzy  
7203 msgid "Use the default theme" 7184 msgid "Use the default theme"
7204 -msgstr "Utiliser ce thème" 7185 +msgstr "Utiliser le thème par défaut"
7205 7186
7206 #: app/views/themes/_select_theme.html.erb:5 7187 #: app/views/themes/_select_theme.html.erb:5
7207 -#, fuzzy  
7208 msgid "Are you sure you want to use the environment default theme?" 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 #: app/views/file_presenter/_image.html.erb:7 7191 #: app/views/file_presenter/_image.html.erb:7
7212 #: app/views/file_presenter/_image.html.erb:9 7192 #: app/views/file_presenter/_image.html.erb:9
7213 -#, fuzzy  
7214 msgid "&laquo; Previous" 7193 msgid "&laquo; Previous"
7215 -msgstr "Précédent" 7194 +msgstr "&laquo; Précédent"
7216 7195
7217 #: app/views/file_presenter/_image.html.erb:13 7196 #: app/views/file_presenter/_image.html.erb:13
7218 #: app/views/file_presenter/_image.html.erb:15 7197 #: app/views/file_presenter/_image.html.erb:15
7219 -#, fuzzy  
7220 msgid "Next &raquo;" 7198 msgid "Next &raquo;"
7221 -msgstr "Plus récents &raquo;" 7199 +msgstr "Suivant &raquo;"
7222 7200
7223 #: app/views/file_presenter/_image.html.erb:22 7201 #: app/views/file_presenter/_image.html.erb:22
7224 msgid "image %d of %d" 7202 msgid "image %d of %d"
@@ -7229,18 +7207,16 @@ msgstr &quot;&quot; @@ -7229,18 +7207,16 @@ msgstr &quot;&quot;
7229 #: app/views/profile_members/_members_list.html.erb:2 7207 #: app/views/profile_members/_members_list.html.erb:2
7230 #: app/views/profile_members/add_member.html.erb:2 7208 #: app/views/profile_members/add_member.html.erb:2
7231 #: app/views/profile_members/add_admin.html.erb:2 7209 #: app/views/profile_members/add_admin.html.erb:2
7232 -#, fuzzy  
7233 msgid "Current members" 7210 msgid "Current members"
7234 -msgstr "Un membre" 7211 +msgstr "Les membres actuels"
7235 7212
7236 #: app/views/profile_members/_manage_roles.html.erb:21 7213 #: app/views/profile_members/_manage_roles.html.erb:21
7237 msgid "Type in a search term for users" 7214 msgid "Type in a search term for users"
7238 msgstr "" 7215 msgstr ""
7239 7216
7240 #: app/views/profile_members/_add_admins.html.erb:1 7217 #: app/views/profile_members/_add_admins.html.erb:1
7241 -#, fuzzy  
7242 msgid "Add admins to %s" 7218 msgid "Add admins to %s"
7243 -msgstr "Tous les membres" 7219 +msgstr "Ajouter un admin à %s"
7244 7220
7245 #: app/views/profile_members/affiliate.html.erb:7 7221 #: app/views/profile_members/affiliate.html.erb:7
7246 #: app/views/environment_role_manager/affiliate.html.erb:7 7222 #: app/views/environment_role_manager/affiliate.html.erb:7
@@ -7248,9 +7224,8 @@ msgid &quot;Affiliate&quot; @@ -7248,9 +7224,8 @@ msgid &quot;Affiliate&quot;
7248 msgstr "Affilié" 7224 msgstr "Affilié"
7249 7225
7250 #: app/views/profile_members/_index_buttons.html.erb:3 7226 #: app/views/profile_members/_index_buttons.html.erb:3
7251 -#, fuzzy  
7252 msgid "Add members" 7227 msgid "Add members"
7253 -msgstr "Tous les membres" 7228 +msgstr "Ajouter des membres"
7254 7229
7255 #: app/views/profile_members/_index_buttons.html.erb:5 7230 #: app/views/profile_members/_index_buttons.html.erb:5
7256 #: app/views/invite/select_friends.html.erb:6 7231 #: app/views/invite/select_friends.html.erb:6
@@ -7279,9 +7254,8 @@ msgstr &quot;&quot; @@ -7279,9 +7254,8 @@ msgstr &quot;&quot;
7279 "membre pour administrer cette communauté." 7254 "membre pour administrer cette communauté."
7280 7255
7281 #: app/views/profile_members/add_members.html.erb:1 7256 #: app/views/profile_members/add_members.html.erb:1
7282 -#, fuzzy  
7283 msgid "Add members to %s" 7257 msgid "Add members to %s"
7284 -msgstr "Tous les membres" 7258 +msgstr "Ajouter des membres à %s"
7285 7259
7286 #: app/views/profile_members/change_role.html.erb:1 7260 #: app/views/profile_members/change_role.html.erb:1
7287 #: app/views/environment_role_manager/change_role.html.erb:1 7261 #: app/views/environment_role_manager/change_role.html.erb:1
@@ -7289,14 +7263,12 @@ msgid &quot;Changing role of %s&quot; @@ -7289,14 +7263,12 @@ msgid &quot;Changing role of %s&quot;
7289 msgstr "Changement du rôle de %s" 7263 msgstr "Changement du rôle de %s"
7290 7264
7291 #: app/views/profile_members/change_role.html.erb:15 7265 #: app/views/profile_members/change_role.html.erb:15
7292 -#, fuzzy  
7293 msgid "Custom Roles:" 7266 msgid "Custom Roles:"
7294 -msgstr "Rôles :" 7267 +msgstr "Rôles personnalisés :"
7295 7268
7296 #: app/views/maps/edit_location.html.erb:15 7269 #: app/views/maps/edit_location.html.erb:15
7297 -#, fuzzy  
7298 msgid "Locate in the map" 7270 msgid "Locate in the map"
7299 -msgstr "Créer un nouveau thème" 7271 +msgstr "Localiser sur la carte"
7300 7272
7301 #: app/views/maps/edit_location.html.erb:15 7273 #: app/views/maps/edit_location.html.erb:15
7302 msgid "" 7274 msgid ""
@@ -7317,9 +7289,8 @@ msgid &quot;Invalid address&quot; @@ -7317,9 +7289,8 @@ msgid &quot;Invalid address&quot;
7317 msgstr "Adresse invalide" 7289 msgstr "Adresse invalide"
7318 7290
7319 #: app/views/maps/_google_map.js.erb:137 7291 #: app/views/maps/_google_map.js.erb:137
7320 -#, fuzzy  
7321 msgid "Request denied" 7292 msgid "Request denied"
7322 -msgstr "Accès interdit" 7293 +msgstr "Demande refusée"
7323 7294
7324 #: app/views/maps/_google_map.js.erb:139 7295 #: app/views/maps/_google_map.js.erb:139
7325 msgid "Over query limit" 7296 msgid "Over query limit"
@@ -7340,9 +7311,8 @@ msgid &quot;New category&quot; @@ -7340,9 +7311,8 @@ msgid &quot;New category&quot;
7340 msgstr "Nouvelle catégorie" 7311 msgstr "Nouvelle catégorie"
7341 7312
7342 #: app/views/categories/_category.html.erb:10 7313 #: app/views/categories/_category.html.erb:10
7343 -#, fuzzy  
7344 msgid "Show" 7314 msgid "Show"
7345 -msgstr "Voir le diaporama" 7315 +msgstr "Voir"
7346 7316
7347 #: app/views/categories/_category.html.erb:12 7317 #: app/views/categories/_category.html.erb:12
7348 msgid "Hide" 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,14 +7331,12 @@ msgid &quot;Are you sure you want to remove \&quot;%s\&quot; and all its subcategories?&quot;
7361 msgstr "Êtes-vous sûr(e) d'ôter/effacer «%s» et toutes ses sous-catégories ?" 7331 msgstr "Êtes-vous sûr(e) d'ôter/effacer «%s» et toutes ses sous-catégories ?"
7362 7332
7363 #: app/views/categories/_form.html.erb:22 7333 #: app/views/categories/_form.html.erb:22
7364 -#, fuzzy  
7365 msgid "Display in the menu" 7334 msgid "Display in the menu"
7366 msgstr "Afficher dans le menu" 7335 msgstr "Afficher dans le menu"
7367 7336
7368 #: app/views/categories/_form.html.erb:24 7337 #: app/views/categories/_form.html.erb:24
7369 -#, fuzzy  
7370 msgid "Pick a color" 7338 msgid "Pick a color"
7371 -msgstr "Afficher la couleur" 7339 +msgstr "Choisir la couleur"
7372 7340
7373 #: app/views/categories/edit.html.erb:1 7341 #: app/views/categories/edit.html.erb:1
7374 msgid "Editing %s" 7342 msgid "Editing %s"
@@ -7383,14 +7351,12 @@ msgid &quot;Regions&quot; @@ -7383,14 +7351,12 @@ msgid &quot;Regions&quot;
7383 msgstr "Régions" 7351 msgstr "Régions"
7384 7352
7385 #: app/views/memberships/welcome.html.erb:1 7353 #: app/views/memberships/welcome.html.erb:1
7386 -#, fuzzy  
7387 msgid "Community created" 7354 msgid "Community created"
7388 -msgstr "Groupe" 7355 +msgstr "Communauté créée"
7389 7356
7390 #: app/views/memberships/welcome.html.erb:2 7357 #: app/views/memberships/welcome.html.erb:2
7391 -#, fuzzy  
7392 msgid "Your community (%s) was successfully created." 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 #: app/views/memberships/welcome.html.erb:3 7361 #: app/views/memberships/welcome.html.erb:3
7396 #, fuzzy 7362 #, fuzzy
public/500.html
@@ -67,7 +67,7 @@ @@ -67,7 +67,7 @@
67 67
68 68
69 <div id='fr' style='display: none' class='message'> 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 <p> 71 <p>
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. 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 </p> 73 </p>
public/javascripts/manage-categories.js
@@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
2 fetch_sub_items = function(sub_items, category){ 2 fetch_sub_items = function(sub_items, category){
3 loading_for_button($("#category-loading-"+category)[0]); 3 loading_for_button($("#category-loading-"+category)[0]);
4 $.ajax({ 4 $.ajax({
5 - url: "/admin/categories/get_children", 5 + url: noosfero_root() + "/admin/categories/get_children",
6 dataType: "html", 6 dataType: "html",
7 data: {id: category}, 7 data: {id: category},
8 success: function(data, st, ajax){ 8 success: function(data, st, ajax){
script/authors 0 → 100755
@@ -0,0 +1,3 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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,6 +61,8 @@ setup_rubygems_path() {
61 fi 61 fi
62 } 62 }
63 63
  64 +# change current directory to the noosfero's root
  65 +cd "$(dirname $0)/../"
64 66
65 force_install=false 67 force_install=false
66 if test "$1" = '--force-install'; then 68 if test "$1" = '--force-install'; then
test/unit/article_test.rb
@@ -1970,6 +1970,19 @@ class ArticleTest &lt; ActiveSupport::TestCase @@ -1970,6 +1970,19 @@ class ArticleTest &lt; ActiveSupport::TestCase
1970 assert_equal [a], Article.display_filter(user, p) 1970 assert_equal [a], Article.display_filter(user, p)
1971 end 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 should 'display_filter show community private content to members' do 1986 should 'display_filter show community private content to members' do
1974 user = create_user('someuser').person 1987 user = create_user('someuser').person
1975 p = fast_create(Community) 1988 p = fast_create(Community)
test/unit/environment_test.rb
@@ -759,13 +759,10 @@ class EnvironmentTest &lt; ActiveSupport::TestCase @@ -759,13 +759,10 @@ class EnvironmentTest &lt; ActiveSupport::TestCase
759 759
760 should 'set custom_person_fields with its dependecies' do 760 should 'set custom_person_fields with its dependecies' do
761 env = Environment.new 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 end 766 end
770 767
771 should 'not set in custom_person_fields if not in person.fields' do 768 should 'not set in custom_person_fields if not in person.fields' do
@@ -773,7 +770,8 @@ class EnvironmentTest &lt; ActiveSupport::TestCase @@ -773,7 +770,8 @@ class EnvironmentTest &lt; ActiveSupport::TestCase
773 Person.stubs(:fields).returns(['cell_phone', 'comercial_phone']) 770 Person.stubs(:fields).returns(['cell_phone', 'comercial_phone'])
774 771
775 env.custom_person_fields = { 'birth_date' => {'required' => 'true', 'active' => 'true'}, 'cell_phone' => {'required' => 'true', 'active' => 'true'}} 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 assert ! env.custom_person_fields.keys.include?('birth_date') 775 assert ! env.custom_person_fields.keys.include?('birth_date')
778 end 776 end
779 777
@@ -782,7 +780,8 @@ class EnvironmentTest &lt; ActiveSupport::TestCase @@ -782,7 +780,8 @@ class EnvironmentTest &lt; ActiveSupport::TestCase
782 Person.stubs(:fields).returns(['cell_phone', 'schooling']) 780 Person.stubs(:fields).returns(['cell_phone', 'schooling'])
783 781
784 env.custom_person_fields = { 'schooling' => {'required' => 'true', 'active' => 'true'}} 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 assert ! env.custom_person_fields.keys.include?('birth_date') 785 assert ! env.custom_person_fields.keys.include?('birth_date')
787 end 786 end
788 787
test/unit/highlights_block_test.rb
@@ -119,6 +119,19 @@ class HighlightsBlockTest &lt; ActiveSupport::TestCase @@ -119,6 +119,19 @@ class HighlightsBlockTest &lt; ActiveSupport::TestCase
119 block.featured_images 119 block.featured_images
120 end 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 [Environment, Profile].each do |klass| 135 [Environment, Profile].each do |klass|
123 should "choose between owner galleries when owner is #{klass.name}" do 136 should "choose between owner galleries when owner is #{klass.name}" do
124 owner = fast_create(klass) 137 owner = fast_create(klass)
util/debian-install/README.md
1 This directory contains the basic structure to test the installation of 1 This directory contains the basic structure to test the installation of
2 Noosfero debian packages, using a fresh Vagrant VM and packages built in 2 Noosfero debian packages, using a fresh Vagrant VM and packages built in
3 ${NOOSFEROROOT}/pkg/. 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,7 +5,7 @@
5 VAGRANTFILE_API_VERSION = "2" 5 VAGRANTFILE_API_VERSION = "2"
6 6
7 require 'fileutils' 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 if debs.empty? 9 if debs.empty?
10 puts "W: no debs built in ../../pkg/; will either install existing local" 10 puts "W: no debs built in ../../pkg/; will either install existing local"
11 puts " ones, or the ones from the remote repository" 11 puts " ones, or the ones from the remote repository"
@@ -16,7 +16,7 @@ else @@ -16,7 +16,7 @@ else
16 16
17 local_debs.delete(fn) 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 FileUtils::Verbose.rm_f(fn) 20 FileUtils::Verbose.rm_f(fn)
21 FileUtils::Verbose.ln f, '.' 21 FileUtils::Verbose.ln f, '.'
22 end 22 end