Commit 922cd359cb73e839107bb1d84137c011ef2c015a

Authored by Lucas Kanashiro
2 parents ac727c47 c3b96cd5

Merge branch 'stable-4.x'

Showing 216 changed files with 757 additions and 125 deletions   Show diff stats

Too many changes.

To preserve performance only 100 of 216 files displayed.

config/cdtc/config.yaml
1 admins: 1 admins:
2 - ["Paulo Meirelles", "paulo@softwarelivre.org"] 2 - ["Paulo Meirelles", "paulo@softwarelivre.org"]
3 external_hostname: spb.cdtc.unb.br 3 external_hostname: spb.cdtc.unb.br
  4 +sisp_external_hostname: sisp.cdtc.unb.br
4 external_ip: 164.41.9.49 5 external_ip: 164.41.9.49
5 site_url: https://spb.cdtc.unb.br 6 site_url: https://spb.cdtc.unb.br
6 colab_from_address: '"Portal do Software Publico" <noreply@spb.cdtc.unb.br>' 7 colab_from_address: '"Portal do Software Publico" <noreply@spb.cdtc.unb.br>'
config/dev/config.yaml
1 admins: 1 admins:
2 - ["Paulo Meirelles", "paulo@softwarelivre.org"] 2 - ["Paulo Meirelles", "paulo@softwarelivre.org"]
3 external_hostname: dev.softwarepublico.gov.br 3 external_hostname: dev.softwarepublico.gov.br
  4 +sisp_external_hostname: dev.sisp.gov.br
4 external_ip: 189.9.151.16 5 external_ip: 189.9.151.16
5 alternative_hostnames: 6 alternative_hostnames:
6 - www.dev.softwarepublico.gov.br 7 - www.dev.softwarepublico.gov.br
config/homologa/config.yaml
@@ -4,6 +4,7 @@ admins: @@ -4,6 +4,7 @@ admins:
4 - ["Nayanne Araújo", "nayanne.bonifacio@planejamento.gov.br"] 4 - ["Nayanne Araújo", "nayanne.bonifacio@planejamento.gov.br"]
5 - ["Marisa Souza dos Santos", "marisa.santos@planejamento.gov.br"] 5 - ["Marisa Souza dos Santos", "marisa.santos@planejamento.gov.br"]
6 external_hostname: homologa.softwarepublico.gov.br 6 external_hostname: homologa.softwarepublico.gov.br
  7 +sisp_external_hostname: homologa.sisp.gov.br
7 external_ip: 189.9.151.65 8 external_ip: 189.9.151.65
8 alt_ssh_port: 55555 9 alt_ssh_port: 55555
9 site_url: https://homologa.softwarepublico.gov.br 10 site_url: https://homologa.softwarepublico.gov.br
config/lappis/config.yaml
@@ -2,6 +2,7 @@ admins: @@ -2,6 +2,7 @@ admins:
2 - ["Paulo Meirelles", "paulo@softwarelivre.org"] 2 - ["Paulo Meirelles", "paulo@softwarelivre.org"]
3 site_url: https://softwarepublico.lappis 3 site_url: https://softwarepublico.lappis
4 external_hostname: softwarepublico.lappis 4 external_hostname: softwarepublico.lappis
  5 +sisp_external_hostname: sisp.lappis
5 external_ip: 10.0.0.11 6 external_ip: 10.0.0.11
6 colab_from_address: '"Portal do Software Publico" <noreply@softwarepublico.lappis>' 7 colab_from_address: '"Portal do Software Publico" <noreply@softwarepublico.lappis>'
7 server_email: '"Portal do Software Publico" <noreply@softwarepublico.lappis>' 8 server_email: '"Portal do Software Publico" <noreply@softwarepublico.lappis>'
config/local/config.yaml
@@ -2,6 +2,7 @@ admins: @@ -2,6 +2,7 @@ admins:
2 - ["Paulo Meirelles", "paulo@softwarelivre.org"] 2 - ["Paulo Meirelles", "paulo@softwarelivre.org"]
3 site_url: https://softwarepublico.dev 3 site_url: https://softwarepublico.dev
4 external_hostname: softwarepublico.dev 4 external_hostname: softwarepublico.dev
  5 +sisp_external_hostname: sisp.dev
5 alternative_hostnames: 6 alternative_hostnames:
6 - www.softwarepublico.dev 7 - www.softwarepublico.dev
7 - beta.softwarepublico.dev 8 - beta.softwarepublico.dev
config/prod/config.yaml
@@ -5,6 +5,7 @@ admins: @@ -5,6 +5,7 @@ admins:
5 - ["Marisa Souza dos Santos", "marisa.santos@planejamento.gov.br"] 5 - ["Marisa Souza dos Santos", "marisa.santos@planejamento.gov.br"]
6 site_url: https://softwarepublico.gov.br 6 site_url: https://softwarepublico.gov.br
7 external_hostname: softwarepublico.gov.br 7 external_hostname: softwarepublico.gov.br
  8 +sisp_external_hostname: novo.sisp.gov.br
8 alternative_hostnames: 9 alternative_hostnames:
9 - www.softwarepublico.gov.br 10 - www.softwarepublico.gov.br
10 - portal.softwarepublico.gov.br 11 - portal.softwarepublico.gov.br
cookbooks/colab/recipes/default.rb
@@ -11,6 +11,11 @@ if node[&#39;platform&#39;] == &#39;centos&#39; @@ -11,6 +11,11 @@ if node[&#39;platform&#39;] == &#39;centos&#39;
11 end 11 end
12 end 12 end
13 13
  14 +# remove link left behind by old colab packages
  15 +file '/usr/share/nginx/colab' do
  16 + action :delete
  17 +end
  18 +
14 package 'colab' do 19 package 'colab' do
15 action :upgrade 20 action :upgrade
16 notifies :restart, 'service[colab]' 21 notifies :restart, 'service[colab]'
@@ -190,6 +195,11 @@ execute &#39;colab-mailman-group&#39; do @@ -190,6 +195,11 @@ execute &#39;colab-mailman-group&#39; do
190 command "usermod -a -G mailman colab" 195 command "usermod -a -G mailman colab"
191 end 196 end
192 197
  198 +# Collect static is here instead of colab.spec because
  199 +# plugins might provide their own static files, as
  200 +# the package don't know about installed plugins
  201 +# collectstatic needs to run after package install
  202 +# and plugins instantiated. Same for migrate.
193 execute 'colab-admin migrate' 203 execute 'colab-admin migrate'
194 execute 'colab-admin:collectstatic' do 204 execute 'colab-admin:collectstatic' do
195 command 'colab-admin collectstatic --noinput' 205 command 'colab-admin collectstatic --noinput'
cookbooks/colab/templates/00-custom_settings.py.erb
@@ -28,7 +28,8 @@ SECRET_KEY = &quot;&lt;%= File.read(&#39;/etc/colab/secret.key&#39;).strip %&gt;&quot; @@ -28,7 +28,8 @@ SECRET_KEY = &quot;&lt;%= File.read(&#39;/etc/colab/secret.key&#39;).strip %&gt;&quot;
28 28
29 SITE_URL = "<%= node['config']['site_url'] %>" 29 SITE_URL = "<%= node['config']['site_url'] %>"
30 30
31 -ALLOWED_HOSTS = ["<%= node['config']['external_hostname'] %>"] 31 +ALLOWED_HOSTS = ["<%= node['config']['external_hostname'] %>",
  32 + "<%= node['config']['sisp_external_hostname'] %>"]
32 33
33 ## Disable indexing 34 ## Disable indexing
34 ROBOTS_NOINDEX = False 35 ROBOTS_NOINDEX = False
cookbooks/colab/templates/colab.conf.erb
@@ -5,18 +5,20 @@ upstream colab { @@ -5,18 +5,20 @@ upstream colab {
5 server { 5 server {
6 listen *:80; 6 listen *:80;
7 7
8 - server_name <%= node['config']['external_hostname'] %>; 8 + server_name <%= node['config']['external_hostname'] %> <%= node['config']['sisp_external_hostname'] %>;
9 9
10 access_log /var/log/nginx/colab.access.log; 10 access_log /var/log/nginx/colab.access.log;
11 error_log /var/log/nginx/colab.error.log; 11 error_log /var/log/nginx/colab.error.log;
12 - client_max_body_size 150m; 12 + client_max_body_size 0;
13 13
  14 + # FIXME: Favico should be at right place and this
  15 + # code should be removed.
14 location ~ ^/static/img/fav\.[^.]+\.ico$ { 16 location ~ ^/static/img/fav\.[^.]+\.ico$ {
15 alias /var/lib/colab/assets/spb/fav.ico; 17 alias /var/lib/colab/assets/spb/fav.ico;
16 } 18 }
17 19
18 location / { 20 location / {
19 - root /usr/share/nginx/colab; 21 + root /var/lib/colab/assets/;
20 try_files $uri @colab-app; 22 try_files $uri @colab-app;
21 } 23 }
22 24
cookbooks/noosfero/files/noosfero.yml
1 production: 1 production:
2 - max_upload_size: 150MB 2 + max_upload_size: 500MB
cookbooks/noosfero/templates/nginx.conf.erb
@@ -6,11 +6,11 @@ upstream noosfero { @@ -6,11 +6,11 @@ upstream noosfero {
6 6
7 server { 7 server {
8 listen *:80; 8 listen *:80;
9 - server_name <%= node['config']['external_hostname'] %> <%= node['peers']['social'] %>; 9 + server_name <%= node['config']['external_hostname'] %> <%= node['peers']['social'] %> <%= node['config']['sisp_external_hostname'] %>;
10 underscores_in_headers on; 10 underscores_in_headers on;
11 access_log /var/log/nginx/noosfero.access.log; 11 access_log /var/log/nginx/noosfero.access.log;
12 error_log /var/log/nginx/noosfero.error.log; 12 error_log /var/log/nginx/noosfero.error.log;
13 - client_max_body_size 150m; 13 + client_max_body_size 0;
14 14
15 root /usr/lib/noosfero/public; 15 root /usr/lib/noosfero/public;
16 location /social/ { 16 location /social/ {
@@ -24,7 +24,7 @@ server { @@ -24,7 +24,7 @@ server {
24 proxy_read_timeout 90; 24 proxy_read_timeout 90;
25 proxy_connect_timeout 90; 25 proxy_connect_timeout 90;
26 proxy_redirect off; 26 proxy_redirect off;
27 - proxy_set_header Host <%= node['config']['external_hostname'] %>; 27 + proxy_set_header Host $host;
28 proxy_set_header X-Real-IP $remote_addr; 28 proxy_set_header X-Real-IP $remote_addr;
29 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 29 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
30 } 30 }
cookbooks/reverse_proxy/files/host-reverseproxy/dev.sisp.gov.br.crt 0 → 100644
@@ -0,0 +1,27 @@ @@ -0,0 +1,27 @@
  1 +-----BEGIN CERTIFICATE-----
  2 +MIIEgTCCA2mgAwIBAgIJAJz0XkZVg/KTMA0GCSqGSIb3DQEBCwUAMIHWMQswCQYD
  3 +VQQGEwJCUjEZMBcGA1UECAwQRGlzdHJpdG8gRmVkZXJhbDERMA8GA1UEBwwIQnJh
  4 +c2lsaWExPTA7BgNVBAoMNE1pbmlzdGVyaW8gZG8gUGxhbmVqYW1lbnRvLCBPcsOD
  5 +wqdhbWVudG8gZSBHZXN0w4PCo28xDTALBgNVBAsMBFNMVEkxIzAhBgNVBAMMGmRl
  6 +di5zb2Z0d2FyZXB1YmxpY28uZ292LmJyMSYwJAYJKoZIhvcNAQkBFhdwYXVsb0Bz
  7 +b2Z0d2FyZWxpdnJlLm9yZzAeFw0xNTAzMTIxOTQ3NTdaFw0xNzEyMDYxOTQ3NTda
  8 +MIHWMQswCQYDVQQGEwJCUjEZMBcGA1UECAwQRGlzdHJpdG8gRmVkZXJhbDERMA8G
  9 +A1UEBwwIQnJhc2lsaWExPTA7BgNVBAoMNE1pbmlzdGVyaW8gZG8gUGxhbmVqYW1l
  10 +bnRvLCBPcsODwqdhbWVudG8gZSBHZXN0w4PCo28xDTALBgNVBAsMBFNMVEkxIzAh
  11 +BgNVBAMMGmRldi5zb2Z0d2FyZXB1YmxpY28uZ292LmJyMSYwJAYJKoZIhvcNAQkB
  12 +FhdwYXVsb0Bzb2Z0d2FyZWxpdnJlLm9yZzCCASIwDQYJKoZIhvcNAQEBBQADggEP
  13 +ADCCAQoCggEBANUAsaDZ77GHyrlWDet+I2Xq8Sf31j3ponMXzMd/6zAu6NSDcZjl
  14 +LPrFEqfqBVdY3T1L5THDHG42ZS6n0FHsOTBq2JKswlcTSPyaHiweRI+lEMVzRcgm
  15 +GshtJnTWukMsDvOGwVe6zkcKWl5vG2KKgTrI0l+QnCbCP10UNqwTCl2gN5l0piDl
  16 +rTiBwRbfn1wdGd9JgQr+MQrMhPnE31vsSA8G5p0KUX4oxYgmKmMykutqJIia7LeF
  17 +VQtMuRZbfz/HwtUtFuAa3ztBQiKmoZlrh1k/akm3YhBiramtAXEt7aHI6HY3X0pw
  18 +l7AE7MHOutCfoshEHZToZNJiyXpDATIIwfsCAwEAAaNQME4wHQYDVR0OBBYEFDVm
  19 +z5gED6aHPs1H9DdqUfGIY0vfMB8GA1UdIwQYMBaAFDVmz5gED6aHPs1H9DdqUfGI
  20 +Y0vfMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBANNc+ZD4ImQI8V2Y
  21 +2lkRnRQvQ7M2mdAgRaP5f4EJLLlczmRPzNhItiYr9njg8pUdN50iQPnvwlDJhI5d
  22 +mFuDypY1AhLB74sSDk7Um3gFP5rAlKdD9WrmKA3FSfGcUJA2Usa+6NnudBmm1Uvn
  23 +yLGpOCSnxQfTZ+81XanI9Sy6kV/6Nwpaid9akmm3aIUtJA0thC0OWEhHMY97vqBF
  24 +7or8IKooXxIx4jNbholJXQ2zD5tc5nDfBwB9DFBX7LeXRqZQE4T0eUOhF/shoRnG
  25 +gFSMN8Vjhw8eV7wPvxX6aX8kZmfZgAF1m4EzEaDLs2iL7dVkPxO7SSlXqkg0nLuH
  26 +RWIj+F0=
  27 +-----END CERTIFICATE-----
cookbooks/reverse_proxy/files/host-reverseproxy/dev.sisp.gov.br.key 0 → 100644
@@ -0,0 +1,28 @@ @@ -0,0 +1,28 @@
  1 +-----BEGIN PRIVATE KEY-----
  2 +MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDVALGg2e+xh8q5
  3 +Vg3rfiNl6vEn99Y96aJzF8zHf+swLujUg3GY5Sz6xRKn6gVXWN09S+UxwxxuNmUu
  4 +p9BR7DkwatiSrMJXE0j8mh4sHkSPpRDFc0XIJhrIbSZ01rpDLA7zhsFXus5HClpe
  5 +bxtiioE6yNJfkJwmwj9dFDasEwpdoDeZdKYg5a04gcEW359cHRnfSYEK/jEKzIT5
  6 +xN9b7EgPBuadClF+KMWIJipjMpLraiSImuy3hVULTLkWW38/x8LVLRbgGt87QUIi
  7 +pqGZa4dZP2pJt2IQYq2prQFxLe2hyOh2N19KcJewBOzBzrrQn6LIRB2U6GTSYsl6
  8 +QwEyCMH7AgMBAAECggEAa2w6KUFAXWx6lRYNVyL6f0AJ93pKllbqEtmB8WtWFarS
  9 +ybqw48dQ8/fH/N9Nakvq6CsKoBoikILmbK09ptNX1E9OgkqWiIu1V4/yf5WURk2d
  10 +M7d7DgIJp+NEbdCNh6sEr1Ta1X/k4HccNFwcl4n6usblMkUgO3vjsPGs0QOZSrXD
  11 +NDp4ixdElxyuZPZnRkrry4JZzm0Jad/kNw0naz0S+YLqysJNOD1kepN+DAlap5WE
  12 +oEfvmkLgrTDnjar8cK3i/EzbzNxWxLo89IdbbnpPV3m/SSQO7p689uL+VkZxLz0I
  13 +uzVg6TZ1jQ5+IWjKL0Aqt5xkStaZp2uh8vlNw/0IQQKBgQDwBVtI+2ASacuu6eJL
  14 +RTWalTPH/jr9mA0Ism2Px5hdI7vugJ3NJY0fIRTzRU53MFfRXZIcpYf+60stYhiX
  15 +QBmF/DukxtUL4naOz2VzkY5RcKnfsvUff65KGaCdHzWQQsL93qEjpusRMQwhGErt
  16 +vgKsbjgyHaVbVLGNZuFYoNLzkwKBgQDjLt6d8p7rR2e89sQKuE0B43UiuL/rDY1n
  17 +OC411KwqsKFX3J/ias4NIy/h1BEag+Ron9SMRAlVoPg+2aLmywZp4KijcFxSLUFI
  18 +2fWtoRXEyAOgz61I9SonGvBQLCLAZ+24VpoymmMNdH/xbeoysRCxovPw3NPnFfzB
  19 +xYfiRpXI+QKBgE9v1mhvGbq+XPUE3yo+O6Fvo/WaxHdNrXKlavFdA6Y/v2EOHCvb
  20 +M7uLvV1OIMv9qfLW3xawCjRqNzVL9AuK4WegtTSxwazvRIG7Tj5TfCCkAvTQS6Qj
  21 +I9HObYPS4m1eSx6uYfJkugO0kekaGyJX8paS2/JqMWHqw+Cing4xG+AVAoGBAKx2
  22 +DStMXpXve/H4RnR42oS/flGgfJjcjea4wGO/Ef/KXIENjBZezBMvDg9aZK2DSGag
  23 +RsNAdvGZJDraDo8zuqevk3WXO45qqm+6foWTjqn2yMJQRZToAFr1WU8TYkI74zuY
  24 +CrC1gNJbCTFnJm3a+vhO4u6LRRXdHCahZHlC6jxJAoGARpcsSUSXqWOsmCvP+d0I
  25 +m3B7DTJc0fL7WOoXINSa1U4zr9vMfSxTdWBdlKmizDvzzz9+Rx+03TGQkqzroTk/
  26 +eWZuPuJ74qXkT68JCoCmf6MBolIkWqkDO5zKlQF3hkb3c16mOKCqzQpXLGtoZQRG
  27 +PH+5xM1maQvJxF5tCVQz0uU=
  28 +-----END PRIVATE KEY-----
cookbooks/reverse_proxy/files/host-reverseproxy/sisp.dev.crt 0 → 100644
@@ -0,0 +1,27 @@ @@ -0,0 +1,27 @@
  1 +-----BEGIN CERTIFICATE-----
  2 +MIIEjzCCA3egAwIBAgIJAPLzeW3WZTOqMA0GCSqGSIb3DQEBCwUAMIHdMQswCQYD
  3 +VQQGEwJCUjEZMBcGA1UECAwQRGlzdHJpdG8gRmVkZXJhbDERMA8GA1UEBwwIQnJh
  4 +c2lsaWExIzAhBgNVBAoMGk1pbmlzdGVyaW8gZG8gUGxhbmVqYW1lbnRvMS0wKwYD
  5 +VQQLDCRQcm9ncmFtYSBTb2Z0d2FyZSBQdWJsaWNvIEJyYXNpbGVpcm8xJDAiBgNV
  6 +BAMMG2JldGEuc29mdHdhcmVwdWJsaWNvLmdvdi5icjEmMCQGCSqGSIb3DQEJARYX
  7 +cGF1bG9Ac29mdHdhcmVsaXZyZS5vcmcwHhcNMTUwMjEyMTM0MDEwWhcNMTcxMTA4
  8 +MTM0MDEwWjCB3TELMAkGA1UEBhMCQlIxGTAXBgNVBAgMEERpc3RyaXRvIEZlZGVy
  9 +YWwxETAPBgNVBAcMCEJyYXNpbGlhMSMwIQYDVQQKDBpNaW5pc3RlcmlvIGRvIFBs
  10 +YW5lamFtZW50bzEtMCsGA1UECwwkUHJvZ3JhbWEgU29mdHdhcmUgUHVibGljbyBC
  11 +cmFzaWxlaXJvMSQwIgYDVQQDDBtiZXRhLnNvZnR3YXJlcHVibGljby5nb3YuYnIx
  12 +JjAkBgkqhkiG9w0BCQEWF3BhdWxvQHNvZnR3YXJlbGl2cmUub3JnMIIBIjANBgkq
  13 +hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvQcGwjcDku+162qWFXvfD3VzK+qonEIo
  14 +EWimjFgxkBIsbKQ6WurTg6jTdT7TCyz0bfXgNPUo2tTfOtyM2ctb/oCfu5Piu3hK
  15 +TU71/oswUWCMnPwaGhvJ7wWFrkClLNS3MYzlbGAxuLtX8KEcCSOR0109xvVMb+LD
  16 +kAUmHij1DfI9XguYS4J2xQ+aDCHZRzRxMPV7If75HtoeZ7y8bieqFL9T1+atsvbS
  17 +WuoYaJFKiW859h6Fwo/0wfkv8gSaGulSwnS2esMPfEm97QfmWbgEqq/XFkrKWtPo
  18 +ENNY8WlGFDMWdur7dlQwazjG9+OK5h3X84qDfYhzY4GPh1O+2WDudwIDAQABo1Aw
  19 +TjAdBgNVHQ4EFgQUzu9xzlM0W3YmELPcUvNlfpYcndQwHwYDVR0jBBgwFoAUzu9x
  20 +zlM0W3YmELPcUvNlfpYcndQwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOC
  21 +AQEAaQKLFZaqLRS493o4cyJsz1mxBgbzQ+6vttEPmY1/yW391h9rBXDTlpqRt22z
  22 ++CNDzo7L2LQjlrvvqk/ByDl5xWw4z9Qy+OFGFVGDVPvhld00/7QNnqkwyYbqWghN
  23 +M0m/BZp59Bpm+eRHG1HIw0jpA/zfgVqUjoIgPWWnGJLtJh4l+GOAxwTdJh0Vp/1Q
  24 +yYiI6NRufr8+lUStojY27dC94WLX2dCUAS0imvdONWiaCZ8ktq4D3AGkni5wUVH1
  25 +knap5Bf5FRnKCTnRmZe1Wi+e2ZIMDdW4gHsC5NKO38c4agWubE68yhYiFKMRLWsd
  26 +fLq+KLdrwb++Xd0SECj/hsQYLQ==
  27 +-----END CERTIFICATE-----
cookbooks/reverse_proxy/files/host-reverseproxy/sisp.dev.key 0 → 100644
@@ -0,0 +1,28 @@ @@ -0,0 +1,28 @@
  1 +-----BEGIN PRIVATE KEY-----
  2 +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC9BwbCNwOS77Xr
  3 +apYVe98PdXMr6qicQigRaKaMWDGQEixspDpa6tODqNN1PtMLLPRt9eA09Sja1N86
  4 +3IzZy1v+gJ+7k+K7eEpNTvX+izBRYIyc/BoaG8nvBYWuQKUs1LcxjOVsYDG4u1fw
  5 +oRwJI5HTXT3G9Uxv4sOQBSYeKPUN8j1eC5hLgnbFD5oMIdlHNHEw9Xsh/vke2h5n
  6 +vLxuJ6oUv1PX5q2y9tJa6hhokUqJbzn2HoXCj/TB+S/yBJoa6VLCdLZ6ww98Sb3t
  7 +B+ZZuASqr9cWSspa0+gQ01jxaUYUMxZ26vt2VDBrOMb344rmHdfzioN9iHNjgY+H
  8 +U77ZYO53AgMBAAECggEAXM+AYAeG97Q+zDHvMuk5Imv2eo+i7eYFqlaJv8rluulR
  9 +ap5QEKfP5osUGDMaiBgwg3T/+sCMqLVwTYRQm/cfWhxpUT5RSt7LDJ5CZhKNTMdt
  10 +Av89CaivQ26grmgLMbHXqLqXQtkQULWbfgh8rXgLd44GcROrzhu3DZWZm6FcgNWf
  11 +0/NpruEkxyqvCGygOOPR8IMlMGuCs+CUcVuDL5InrobroKTrWgWXOW8k+XJpaINz
  12 +5udLgdTAfRWecuJkFvfA71JZJXpnyTSx2je16SwnA6bhaQCSuK4myXiOVacPUOhM
  13 +PZ2/gcZbuB16vFlNMhQUjvzFKMvH96R+PrYuG7BGYQKBgQD5gZwKuc3cat17ghpB
  14 +WSl3njBrqiCMvTYeec6anfTB0bSs9z8LoCwRdLATw9AAPfFuXnxzBNzTEK3GBnW6
  15 +slYeDrhrOKz4uilHnXdSGXu0vOgjn5AzuHtnNUc2Eyx3qe2RxXJZ5Y/ADhJNCTIU
  16 +GFTBak/FLFrMOvxPtFaluP4VKQKBgQDB8naaziF42y254+JzbshMlLffRpnubk/X
  17 +Xxvntjh7dCPCS+jrARM0XGHnrhFyDOODny55EyRzYip2+r80PN4N5rzQuaIFOhh7
  18 +aT/X2hFBFcAmiWCUTRXCRdNTZYGFNOQ+A9xrR375Ltqu3w1K/RB2QEfWYPR+KLEe
  19 +QdtHmuK6nwKBgQCVeITflBH0cvy+SeGqtlx2MYk2ZpPbXFq4hSY1UF1ZY2TGndPi
  20 +BhGAX5RAMvU/v9wLz4TkbsxPkVVZJXOP5dhbZ1wpt6k/1F54bagWwfdu/iBffu6n
  21 +XWRoHu3LQk9IXL9arZtkqXalioiCJ/kdOrpDqImjSIAYi1mt8g5ad2mXiQKBgHdy
  22 +Bk2s6bxu8ChuCscg0UcoyF1ANAk98vonXx5DgWG201cUPSyOiu9SfhGbiK7+9RfY
  23 +71wtx+Mv8As6votDeVaCZoL98KTbdLx8w48ChGHbLW4OaWasWtw8+LuB5lTNkEwJ
  24 +QLTpYW/BxXixcpReascJK7UCHVGdagfCc3QUFdLtAoGBAPN9+2/W990bWNLlEncB
  25 +tMq89b/pOGhy9u+CN2pgKmBBkL5M8ESyYDUKM7wn+DlilpcYvadlR9gfk4gaCQQ4
  26 +DLHGFGfvVN1CRuIU0YAgaLMNveVV/6Dd7D8/OxYxKlCrFZaUfVe2HcVPbm+w4tZf
  27 +2HfXJdbD1gNhbTmWlKjFLdA1
  28 +-----END PRIVATE KEY-----
cookbooks/reverse_proxy/files/host-reverseproxy/sisp.lappis.crt 0 → 100644
@@ -0,0 +1,27 @@ @@ -0,0 +1,27 @@
  1 +-----BEGIN CERTIFICATE-----
  2 +MIIEjzCCA3egAwIBAgIJAPLzeW3WZTOqMA0GCSqGSIb3DQEBCwUAMIHdMQswCQYD
  3 +VQQGEwJCUjEZMBcGA1UECAwQRGlzdHJpdG8gRmVkZXJhbDERMA8GA1UEBwwIQnJh
  4 +c2lsaWExIzAhBgNVBAoMGk1pbmlzdGVyaW8gZG8gUGxhbmVqYW1lbnRvMS0wKwYD
  5 +VQQLDCRQcm9ncmFtYSBTb2Z0d2FyZSBQdWJsaWNvIEJyYXNpbGVpcm8xJDAiBgNV
  6 +BAMMG2JldGEuc29mdHdhcmVwdWJsaWNvLmdvdi5icjEmMCQGCSqGSIb3DQEJARYX
  7 +cGF1bG9Ac29mdHdhcmVsaXZyZS5vcmcwHhcNMTUwMjEyMTM0MDEwWhcNMTcxMTA4
  8 +MTM0MDEwWjCB3TELMAkGA1UEBhMCQlIxGTAXBgNVBAgMEERpc3RyaXRvIEZlZGVy
  9 +YWwxETAPBgNVBAcMCEJyYXNpbGlhMSMwIQYDVQQKDBpNaW5pc3RlcmlvIGRvIFBs
  10 +YW5lamFtZW50bzEtMCsGA1UECwwkUHJvZ3JhbWEgU29mdHdhcmUgUHVibGljbyBC
  11 +cmFzaWxlaXJvMSQwIgYDVQQDDBtiZXRhLnNvZnR3YXJlcHVibGljby5nb3YuYnIx
  12 +JjAkBgkqhkiG9w0BCQEWF3BhdWxvQHNvZnR3YXJlbGl2cmUub3JnMIIBIjANBgkq
  13 +hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvQcGwjcDku+162qWFXvfD3VzK+qonEIo
  14 +EWimjFgxkBIsbKQ6WurTg6jTdT7TCyz0bfXgNPUo2tTfOtyM2ctb/oCfu5Piu3hK
  15 +TU71/oswUWCMnPwaGhvJ7wWFrkClLNS3MYzlbGAxuLtX8KEcCSOR0109xvVMb+LD
  16 +kAUmHij1DfI9XguYS4J2xQ+aDCHZRzRxMPV7If75HtoeZ7y8bieqFL9T1+atsvbS
  17 +WuoYaJFKiW859h6Fwo/0wfkv8gSaGulSwnS2esMPfEm97QfmWbgEqq/XFkrKWtPo
  18 +ENNY8WlGFDMWdur7dlQwazjG9+OK5h3X84qDfYhzY4GPh1O+2WDudwIDAQABo1Aw
  19 +TjAdBgNVHQ4EFgQUzu9xzlM0W3YmELPcUvNlfpYcndQwHwYDVR0jBBgwFoAUzu9x
  20 +zlM0W3YmELPcUvNlfpYcndQwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOC
  21 +AQEAaQKLFZaqLRS493o4cyJsz1mxBgbzQ+6vttEPmY1/yW391h9rBXDTlpqRt22z
  22 ++CNDzo7L2LQjlrvvqk/ByDl5xWw4z9Qy+OFGFVGDVPvhld00/7QNnqkwyYbqWghN
  23 +M0m/BZp59Bpm+eRHG1HIw0jpA/zfgVqUjoIgPWWnGJLtJh4l+GOAxwTdJh0Vp/1Q
  24 +yYiI6NRufr8+lUStojY27dC94WLX2dCUAS0imvdONWiaCZ8ktq4D3AGkni5wUVH1
  25 +knap5Bf5FRnKCTnRmZe1Wi+e2ZIMDdW4gHsC5NKO38c4agWubE68yhYiFKMRLWsd
  26 +fLq+KLdrwb++Xd0SECj/hsQYLQ==
  27 +-----END CERTIFICATE-----
cookbooks/reverse_proxy/files/host-reverseproxy/sisp.lappis.key 0 → 100644
@@ -0,0 +1,28 @@ @@ -0,0 +1,28 @@
  1 +-----BEGIN PRIVATE KEY-----
  2 +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC9BwbCNwOS77Xr
  3 +apYVe98PdXMr6qicQigRaKaMWDGQEixspDpa6tODqNN1PtMLLPRt9eA09Sja1N86
  4 +3IzZy1v+gJ+7k+K7eEpNTvX+izBRYIyc/BoaG8nvBYWuQKUs1LcxjOVsYDG4u1fw
  5 +oRwJI5HTXT3G9Uxv4sOQBSYeKPUN8j1eC5hLgnbFD5oMIdlHNHEw9Xsh/vke2h5n
  6 +vLxuJ6oUv1PX5q2y9tJa6hhokUqJbzn2HoXCj/TB+S/yBJoa6VLCdLZ6ww98Sb3t
  7 +B+ZZuASqr9cWSspa0+gQ01jxaUYUMxZ26vt2VDBrOMb344rmHdfzioN9iHNjgY+H
  8 +U77ZYO53AgMBAAECggEAXM+AYAeG97Q+zDHvMuk5Imv2eo+i7eYFqlaJv8rluulR
  9 +ap5QEKfP5osUGDMaiBgwg3T/+sCMqLVwTYRQm/cfWhxpUT5RSt7LDJ5CZhKNTMdt
  10 +Av89CaivQ26grmgLMbHXqLqXQtkQULWbfgh8rXgLd44GcROrzhu3DZWZm6FcgNWf
  11 +0/NpruEkxyqvCGygOOPR8IMlMGuCs+CUcVuDL5InrobroKTrWgWXOW8k+XJpaINz
  12 +5udLgdTAfRWecuJkFvfA71JZJXpnyTSx2je16SwnA6bhaQCSuK4myXiOVacPUOhM
  13 +PZ2/gcZbuB16vFlNMhQUjvzFKMvH96R+PrYuG7BGYQKBgQD5gZwKuc3cat17ghpB
  14 +WSl3njBrqiCMvTYeec6anfTB0bSs9z8LoCwRdLATw9AAPfFuXnxzBNzTEK3GBnW6
  15 +slYeDrhrOKz4uilHnXdSGXu0vOgjn5AzuHtnNUc2Eyx3qe2RxXJZ5Y/ADhJNCTIU
  16 +GFTBak/FLFrMOvxPtFaluP4VKQKBgQDB8naaziF42y254+JzbshMlLffRpnubk/X
  17 +Xxvntjh7dCPCS+jrARM0XGHnrhFyDOODny55EyRzYip2+r80PN4N5rzQuaIFOhh7
  18 +aT/X2hFBFcAmiWCUTRXCRdNTZYGFNOQ+A9xrR375Ltqu3w1K/RB2QEfWYPR+KLEe
  19 +QdtHmuK6nwKBgQCVeITflBH0cvy+SeGqtlx2MYk2ZpPbXFq4hSY1UF1ZY2TGndPi
  20 +BhGAX5RAMvU/v9wLz4TkbsxPkVVZJXOP5dhbZ1wpt6k/1F54bagWwfdu/iBffu6n
  21 +XWRoHu3LQk9IXL9arZtkqXalioiCJ/kdOrpDqImjSIAYi1mt8g5ad2mXiQKBgHdy
  22 +Bk2s6bxu8ChuCscg0UcoyF1ANAk98vonXx5DgWG201cUPSyOiu9SfhGbiK7+9RfY
  23 +71wtx+Mv8As6votDeVaCZoL98KTbdLx8w48ChGHbLW4OaWasWtw8+LuB5lTNkEwJ
  24 +QLTpYW/BxXixcpReascJK7UCHVGdagfCc3QUFdLtAoGBAPN9+2/W990bWNLlEncB
  25 +tMq89b/pOGhy9u+CN2pgKmBBkL5M8ESyYDUKM7wn+DlilpcYvadlR9gfk4gaCQQ4
  26 +DLHGFGfvVN1CRuIU0YAgaLMNveVV/6Dd7D8/OxYxKlCrFZaUfVe2HcVPbm+w4tZf
  27 +2HfXJdbD1gNhbTmWlKjFLdA1
  28 +-----END PRIVATE KEY-----
cookbooks/reverse_proxy/recipes/default.rb
@@ -6,6 +6,13 @@ cookbook_file &quot;/etc/nginx/#{node[&#39;config&#39;][&#39;external_hostname&#39;]}.crt&quot; do @@ -6,6 +6,13 @@ cookbook_file &quot;/etc/nginx/#{node[&#39;config&#39;][&#39;external_hostname&#39;]}.crt&quot; do
6 notifies :restart, 'service[nginx]' 6 notifies :restart, 'service[nginx]'
7 end 7 end
8 8
  9 +cookbook_file "/etc/nginx/#{node['config']['sisp_external_hostname']}.crt" do
  10 + owner 'root'
  11 + group 'root'
  12 + mode 0600
  13 + notifies :restart, 'service[nginx]'
  14 +end
  15 +
9 cookbook_file "/etc/sysctl.d/ip_forward.conf" do 16 cookbook_file "/etc/sysctl.d/ip_forward.conf" do
10 owner 'root' 17 owner 'root'
11 group 'root' 18 group 'root'
@@ -23,6 +30,13 @@ cookbook_file &quot;/etc/nginx/#{node[&#39;config&#39;][&#39;external_hostname&#39;]}.key&quot; do @@ -23,6 +30,13 @@ cookbook_file &quot;/etc/nginx/#{node[&#39;config&#39;][&#39;external_hostname&#39;]}.key&quot; do
23 notifies :restart, 'service[nginx]' 30 notifies :restart, 'service[nginx]'
24 end 31 end
25 32
  33 +cookbook_file "/etc/nginx/#{node['config']['sisp_external_hostname']}.key" do
  34 + owner 'root'
  35 + group 'root'
  36 + mode 0600
  37 + notifies :restart, 'service[nginx]'
  38 +end
  39 +
26 template '/etc/nginx/conf.d/reverse_proxy.conf' do 40 template '/etc/nginx/conf.d/reverse_proxy.conf' do
27 owner 'root' 41 owner 'root'
28 group 'root' 42 group 'root'
cookbooks/reverse_proxy/templates/reverse_proxy.conf.erb
@@ -5,15 +5,15 @@ upstream colab { @@ -5,15 +5,15 @@ upstream colab {
5 server { 5 server {
6 listen *:80; 6 listen *:80;
7 7
8 - server_name <%= node['config']['external_hostname'] %>;  
9 - return 301 https://$server_name$request_uri; 8 + server_name <%= node['config']['external_hostname'] %> <%= node['config']['sisp_external_hostname'] %>;
  9 + return 301 https://$host$request_uri;
10 } 10 }
11 11
12 server { 12 server {
13 listen *:443 ssl; 13 listen *:443 ssl;
14 14
15 server_name <%= node['config']['external_hostname'] %>; 15 server_name <%= node['config']['external_hostname'] %>;
16 - client_max_body_size 150m; 16 + client_max_body_size 500m;
17 17
18 ssl on; 18 ssl on;
19 19
@@ -47,3 +47,38 @@ server { @@ -47,3 +47,38 @@ server {
47 } 47 }
48 48
49 } 49 }
  50 +
  51 +server {
  52 + listen *:443 ssl;
  53 +
  54 + server_name <%= node['config']['sisp_external_hostname'] %>;
  55 + client_max_body_size 500m;
  56 +
  57 + ssl on;
  58 +
  59 + ssl_certificate /etc/nginx/<%= node['config']['sisp_external_hostname'] %>.crt;
  60 + ssl_certificate_key /etc/nginx/<%= node['config']['sisp_external_hostname'] %>.key;
  61 + ssl_session_cache shared:SSL:10m;
  62 + ssl_session_timeout 5m;
  63 + ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
  64 + ssl_ciphers HIGH:!aNULL:!MD5;
  65 + ssl_prefer_server_ciphers on;
  66 +
  67 + access_log /var/log/nginx/ssl-<%= node['config']['sisp_external_hostname'] %>.access.log;
  68 + error_log /var/log/nginx/ssl-<%= node['config']['sisp_external_hostname'] %>.error.log;
  69 +
  70 + # TODO caching
  71 + location / {
  72 + proxy_pass http://colab;
  73 + proxy_read_timeout 90;
  74 + proxy_connect_timeout 90;
  75 + proxy_redirect off;
  76 + proxy_set_header Host $host;
  77 + proxy_set_header X-Real-IP $remote_addr;
  78 + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  79 + proxy_set_header X-Forwarded-Proto https;
  80 + proxy_set_header Remote-User '';
  81 + proxy_set_header REMOTE_USER '';
  82 + }
  83 +
  84 +}
docs/apoio.rst.in
@@ -68,23 +68,22 @@ O output do comando acima é a sua chave pública, ela deverá ser copiada e col @@ -68,23 +68,22 @@ O output do comando acima é a sua chave pública, ela deverá ser copiada e col
68 Git push com HTTPS 68 Git push com HTTPS
69 ----------------- 69 -----------------
70 70
71 -Para a utilização do git com protocolo HTTPS é necessário configurar a senha do perfil do seu usuário na ferramenta Gitlab, pois a senha do seu usuário do portal não é configurada no Gitlab já que a autenticação é feita via REMOTE_USER (cabeçalho HTTP). Para configurar a sua senha no Gitlab é necessário que já exista um usuário válido no portal e o mesmo esteja logado, em seguida, siga os passos a seguir: 71 +Para a utilização do git com protocolo HTTPS, existem dois casos básicos: aqueles que já tinham cadastro e os novos usuários. Se for o primeiro cadastro, pule o passo "0" descrito abaixo.
72 72
73 -1- No menu, clique no botão "Desenvolvimento" para que apareça novas opções  
74 -2- Nas opções apresentadas, clique em "Perfil" para ser direcionado para o seu perfil do Gitlab  
75 -3- No seu perfil será apresentado um novo menu abaixo do menu do portal, nesse menu clique na aba "Password"  
76 -4- Na aba "Password", indique que você esqueceu a sua senha clicando no link "Forgot your password?"  
77 -5- Um email será enviado para o seu endereço de email configurado no seu usuário do portal  
78 -6- Abra o email recebido e clique no link "Change my password", que irá redirecionar para uma página de configuração de uma nova senha  
79 -7- Na página de configuração de uma nova senha digite a sua senha e a confirme (sugere-se que use a mesma senha do portal), finalizando a operação de configuração da senha do seu perfil no Gitlab 73 +0) Mudar senha no colab (para usuários já cadastrados): No topo da tela, do lado direito, você verá um icone circular no qual você deve clicar. Na nova tela apresentada, escolha a opção "Meu perfil" e em seguida escolha a opção "Editar Perfil". Na nova tela, clique na opção "Trocar senha". Digite a sua senha original, e a nova senha.
  74 +1) Para clonar o repositório via http, use o comando abaixo:
80 75
81 -Com a senha do seu perfil do Gitlab configurada pode-se utlizar normalmente o git com protocolo HTTPS, onde será solcitado o seu usuário e senha durante as operações. Lembrando que o usuário será o seu usuário do portal e a senha será a que foi configurada com o processo descrito anteriormente. 76 + $ git -c http.sslVerify=false clone <seu-repositório>
82 77
83 -No Portal do Software Público Brasileiro, assim como em outros portais do governo, temos problemas com o certificado digital. Para o git conseguir realizar as operções usando HTTPS é necessário ignorar o certificado, para isso, abra o terminal (com o git instalado) e execute o seguinte comando:: 78 +2) Para realizar o push via http, faça:
84 79
85 $ cd <caminho-do-diretório-do-projeto> 80 $ cd <caminho-do-diretório-do-projeto>
86 $ git config http.sslVerify "false" 81 $ git config http.sslVerify "false"
  82 + $ git push <remote> <branch>
87 83
  84 +3) Informe o seu login e senha.
  85 +
  86 +No Portal do Software Público Brasileiro, assim como em outros portais do governo, temos problemas com o certificado digital. Para o git conseguir realizar as operações usando HTTPS é necessário ignorar o certificado, por isto as opções com "sslVerify".
88 87
89 Integração manual entre repositórios 88 Integração manual entre repositórios
90 --------------------------------- 89 ---------------------------------
src/colab-spb-plugin/setup.py
@@ -15,7 +15,7 @@ version = open(&#39;VERSION&#39;).read().strip() @@ -15,7 +15,7 @@ version = open(&#39;VERSION&#39;).read().strip()
15 15
16 setup( 16 setup(
17 name='colab-spb-plugin', 17 name='colab-spb-plugin',
18 - version=version, 18 + version='0.2.3',
19 author='Macartur Sousa', 19 author='Macartur Sousa',
20 author_email='macartur.sc@gmail.com', 20 author_email='macartur.sc@gmail.com',
21 url='https://portal.softwarepublico.gov.br/gitlab/softwarepublico/colab-spb-plugin/', 21 url='https://portal.softwarepublico.gov.br/gitlab/softwarepublico/colab-spb-plugin/',
src/colab-spb-theme-plugin/Makefile
1 PACKAGE = colab-spb-theme 1 PACKAGE = colab-spb-theme
2 -VERSION = $(shell cat VERSION) 2 +VERSION = 0.3.4
3 DISTDIR = dist 3 DISTDIR = dist
4 PACKAGE_NAME = $(PACKAGE)-$(VERSION) 4 PACKAGE_NAME = $(PACKAGE)-$(VERSION)
5 TARBALL = $(PACKAGE_NAME).tar.gz 5 TARBALL = $(PACKAGE_NAME).tar.gz
@@ -10,7 +10,7 @@ all: @@ -10,7 +10,7 @@ all:
10 colab_dir=/usr/lib/colab 10 colab_dir=/usr/lib/colab
11 11
12 dist: clean 12 dist: clean
13 - mkdir -p $(DISTDIR)/$(PACKAGE_NAME) 13 + mkdir -p $(DISTDIR)/$(PACKAGE_NAME)
14 tar --exclude=.git --exclude=$(DISTDIR) -cf - * | (cd $(DISTDIR)/$(PACKAGE_NAME) && tar xf -) 14 tar --exclude=.git --exclude=$(DISTDIR) -cf - * | (cd $(DISTDIR)/$(PACKAGE_NAME) && tar xf -)
15 cd $(DISTDIR) && tar -czf $(TARBALL) $(PACKAGE_NAME) 15 cd $(DISTDIR) && tar -czf $(TARBALL) $(PACKAGE_NAME)
16 rm -r $(DISTDIR)/$(PACKAGE_NAME) 16 rm -r $(DISTDIR)/$(PACKAGE_NAME)
src/colab-spb-theme-plugin/colab_spb_theme/static/css/screen.css
@@ -168,14 +168,9 @@ ul.message-list li { @@ -168,14 +168,9 @@ ul.message-list li {
168 168
169 169
170 /* Forms */ 170 /* Forms */
171 -.required label:before {  
172 - color: #f00;  
173 - content: "* ";  
174 -}  
175 -  
176 form.signup .form-group { 171 form.signup .form-group {
177 - width: 90%;  
178 - margin-left: 0.5em; 172 + margin-left: 0px;
  173 + margin-right: 22px;
179 } 174 }
180 175
181 div.submit { 176 div.submit {
@@ -517,3 +512,79 @@ span.highlighted { @@ -517,3 +512,79 @@ span.highlighted {
517 padding: 40px 0 60px 0; 512 padding: 40px 0 60px 0;
518 color: #172738; 513 color: #172738;
519 } 514 }
  515 +
  516 +.colab-content {
  517 + max-width: 960px;
  518 + min-width: 960px;
  519 + padding: 40px 0 60px 0;
  520 +}
  521 +
  522 +.colab-content h2{
  523 + color: #FF0366;
  524 + font-size: 16px;
  525 + font-family: "open_sansregular",Arial, Helvetica,sans-serif;
  526 + font-weight: 300;
  527 + text-transform: uppercase;
  528 +}
  529 +
  530 +.colab-content h1{
  531 + padding: 5px 0 10px 0;
  532 + border-bottom: 1px solid #D3D6DE;
  533 + font-family: Arial, Helvetica, sans-serif;
  534 + font-size: 35px;
  535 + font-variant: normal;
  536 + font-weight: bold;
  537 +}
  538 +
  539 +h4.help-pane-title {
  540 + font-family: Arial;
  541 + color: #172738;
  542 +}
  543 +
  544 +#btn-cadastrar {
  545 + text-transform: uppercase;
  546 + font-weight: bold;
  547 + padding: 5px 27px 5px 27px;
  548 +}
  549 +
  550 +.control-label {
  551 + font-family: Arial;
  552 + font-weight: normal;
  553 + font-size: 16px;
  554 +}
  555 +
  556 +form.signup {
  557 + padding-top: 30px;
  558 +}
  559 +
  560 +.signup .form-group:nth-child(5),
  561 +.signup .form-group:nth-child(6) {
  562 + width: 45%;
  563 +}
  564 +
  565 +.signup .form-group:nth-child(5) {
  566 + float: left;
  567 +}
  568 +
  569 +.signup .form-group:nth-child(6) {
  570 + float: right;
  571 +}
  572 +
  573 +.signup div.form-group.alert {
  574 + padding: 0px 10px 10px 10px;
  575 +}
  576 +
  577 +.signup div.form-group.alert ul.errorlist {
  578 + padding-left: 15px;
  579 +}
  580 +
  581 +.signup-help {
  582 + font-size: 16px;
  583 + font-family: Arial;
  584 + padding-top: 7px;
  585 +
  586 + }
  587 +
  588 +a.btn {
  589 + margin: 2px 0 2px 0;
  590 +}
src/colab-spb-theme-plugin/colab_spb_theme/static/css/search.css
1 1
2 -.search-form { 2 +.colab-search-form {
3 margin-top: 28px; 3 margin-top: 28px;
4 padding-top: 0px; 4 padding-top: 0px;
5 padding-bottom: 15px; 5 padding-bottom: 15px;
@@ -10,7 +10,7 @@ @@ -10,7 +10,7 @@
10 border: 1px solid #d3d6de; 10 border: 1px solid #d3d6de;
11 } 11 }
12 12
13 -.search-title { 13 +.colab-search-title {
14 color: #3e67b1; 14 color: #3e67b1;
15 margin: 5px 0px 3px; 15 margin: 5px 0px 3px;
16 padding: 16px 0px 0px 0px; 16 padding: 16px 0px 0px 0px;
@@ -20,7 +20,7 @@ @@ -20,7 +20,7 @@
20 text-transform: uppercase; 20 text-transform: uppercase;
21 } 21 }
22 22
23 -.search-input { 23 +.colab-search-input {
24 width: 100%; 24 width: 100%;
25 padding: 7px; 25 padding: 7px;
26 font-size: 14px; 26 font-size: 14px;
@@ -30,7 +30,7 @@ @@ -30,7 +30,7 @@
30 border: 1px solid #d3d6de; 30 border: 1px solid #d3d6de;
31 } 31 }
32 32
33 -.search-blue { 33 +.colab-search-blue {
34 background: #3e67b1; 34 background: #3e67b1;
35 color: white; 35 color: white;
36 width: auto; 36 width: auto;
@@ -43,6 +43,21 @@ @@ -43,6 +43,21 @@
43 font-size: 14px; 43 font-size: 14px;
44 } 44 }
45 45
  46 +.colab-search-results div.container div.row h4 a {
  47 + font-size: 19px;
  48 + font-weight: 700;
  49 + line-height: 21px;
  50 +}
  51 +
  52 +.colab-search-results div.container div.row a {
  53 + color: #172738;
  54 + text-decoration: none;
  55 +}
  56 +
  57 +.colab-search-results div.container div.row a:hover {
  58 + text-decoration: none;
  59 +}
  60 +
46 .btn:hover { 61 .btn:hover {
47 color: white; 62 color: white;
48 } 63 }
@@ -59,4 +74,9 @@ @@ -59,4 +74,9 @@
59 font-size: 14px; 74 font-size: 14px;
60 font-family: Arial; 75 font-family: Arial;
61 font-weight: bold; 76 font-weight: bold;
62 -}  
63 \ No newline at end of file 77 \ No newline at end of file
  78 +}
  79 +
  80 +.colab-result-register {
  81 + display: block;
  82 + padding-top: 40px;
  83 +}
src/colab-spb-theme-plugin/colab_spb_theme/templates/accounts/manage_subscriptions.html 0 → 100644
@@ -0,0 +1,45 @@ @@ -0,0 +1,45 @@
  1 +{% extends 'base.html' %}
  2 +{% load i18n gravatar %}
  3 +
  4 +{% block main-content %}
  5 + <div class="colab-content container">
  6 + <h2>Inscreva-se nas listas de discussão</h2>
  7 + <h3>{% gravatar user_.email 50 %} {{ user_.get_full_name }} ({{ user_.username }})</h3>
  8 + <br>
  9 +
  10 + <form method='post'>
  11 + {% csrf_token %}
  12 +
  13 + <div class="row">
  14 + {% for email, lists in membership.items %}
  15 + <div class="col-lg-6 col-md-6 col-sm-6 col-xs-12">
  16 + <div class="panel panel-default">
  17 + <div class="panel-heading">
  18 + <h3 class="panel-title">{{ email }}</h3>
  19 + </div>
  20 + <div class="panel-body">
  21 + {% for list, checked in lists %}
  22 + <div class="checkbox" title="{{ list.description }}">
  23 + <label>
  24 + <input name="{{ email }}" value="{{ list.listname }}" type="checkbox" {% if checked %}checked{% endif%}>{{ list.listname }}</input>
  25 + </label>
  26 + </div>
  27 + {% endfor %}
  28 + </div>
  29 + </div>
  30 + </div>
  31 + {% endfor %}
  32 + </div>
  33 +
  34 + <div class="row">
  35 + <div class="col-md-12">
  36 + <button class="btn btn-lg btn-primary" type="submit">{% trans 'Update subscriptions' %}</button>
  37 + </div>
  38 + </div>
  39 +
  40 + </form>
  41 +
  42 + <br><br>
  43 + <br><br>
  44 + </div>
  45 +{% endblock %}
src/colab-spb-theme-plugin/colab_spb_theme/templates/accounts/user_create_form.html 0 → 100644
@@ -0,0 +1,38 @@ @@ -0,0 +1,38 @@
  1 +{% extends "base.html" %}
  2 +{% load i18n %}
  3 +{% block main-content %}
  4 +<div class="colab-content container">
  5 + <h2>Cadastre-se</h2>
  6 + <h1>Informações pessoais</h1>
  7 +
  8 + <form action="{% url "signup" %}" method="post" role="form" class="form-horizontal signup">
  9 + {% csrf_token %}
  10 + <div class="row">
  11 + <div class="col-md-6 col-lg-6 col-sm-6 col-xs-12">
  12 + <fieldset>
  13 + {% for field in user_form %}
  14 + <div class="form-group{% if field.field.required %} required{% endif %}{% if field.errors %} alert alert-danger has-error{% endif %}">
  15 + <label for="{{ field.name }}" class="control-label">
  16 + {{ field.label }}
  17 + </label>
  18 + {{ field }}
  19 + {{ field.errors }}
  20 + </div>
  21 + {% endfor %}
  22 + </fieldset>
  23 +
  24 + <input type="submit" value="Cadastrar" id="btn-cadastrar" class="btn btn-primary">
  25 + </div>
  26 + <div class="col-md-6 col-lg-6 col-sm-6 col-xs-12">
  27 + <div style="border-left: 1px solid #ccc; padding-left: 52px; min-height: 450px">
  28 + <div class="signup-help">
  29 + <p>Em caso de dúvidas visite a seção de <a href="/social/spb/ajuda#faq">Ajuda</a></p>
  30 + <hr>
  31 + <p>Caso ainda permaneça com dúvidas, fique à vontade para entrar em contato conosco através do email <a href="mailto:admin@softwarepublico.gov.br">admin@softwarepublico.gov.br</a></p>
  32 + </div>
  33 + </div>
  34 + </div>
  35 + </div>
  36 + </form>
  37 +</div>
  38 +{% endblock %}
src/colab-spb-theme-plugin/colab_spb_theme/templates/accounts/user_detail.html 0 → 100644
@@ -0,0 +1,164 @@ @@ -0,0 +1,164 @@
  1 +{% extends "base.html" %}
  2 +
  3 +{% load i18n gravatar %}
  4 +
  5 +{% block title %}Perfil{% endblock %}
  6 +
  7 +{% block head_js %}
  8 + {% trans "Messages" as group_collabs %}
  9 + {% trans "Contributions" as type_collabs %}
  10 +
  11 + {% include "doughnut-chart.html" with chart_data=type_count chart_canvas="collabs" name=type_collabs %}
  12 + {% include "doughnut-chart.html" with chart_data=list_activity chart_canvas="collabs2" name=group_collabs %}
  13 +{% endblock %}
  14 +
  15 +{% block main-content %}
  16 + <div class="colab-content container">
  17 + <div id="user-profile" class="row">
  18 + <div class="colab-vcard col-lg-4 col-md-4 col-sm-5">
  19 + <div class="thumbnail">
  20 + {% gravatar user_.email 200 %}
  21 + </div>
  22 +
  23 + <h1>
  24 + <span>{{ user_.get_full_name }}</span>
  25 + <em>{{ user_.username }}</em>
  26 + </h1>
  27 +
  28 + {% if request.user == user_ or request.user.is_superuser %}
  29 + <a class="btn btn-info" href="{% url 'user_profile_update' user_ %}"><span class="glyphicon glyphicon-pencil"></span>&nbsp;&nbsp;{% trans "edit profile"|title %}</a>
  30 + <a class="btn btn-info" href="{% url 'user_list_subscriptions' user_ %}"><span class="glyphicon glyphicon-pencil"></span>&nbsp;&nbsp;Inscreva-se nas listas de discussão</a>
  31 + {% endif %}
  32 +
  33 + {% if request.user.is_active %}
  34 + {% if user_.bio %}
  35 + <div class="divider"></div>
  36 + <ul class="unstyled-list">
  37 + <li>
  38 + <strong>{% trans 'Bio' %}</strong>
  39 + </li>
  40 + <li class="text-muted"> {{ user_.bio }}</li>
  41 + </ul>
  42 + {% endif %}
  43 + {% endif %}
  44 +
  45 + <div class="divider"></div>
  46 + {% if request.user.is_active %}
  47 + <ul class="unstyled-list">
  48 + <li><span class="icon-envelope icon-fixed-width"></span> <a href="mailto:{{ user_.email }}">{{ user_.email }}</a></li>
  49 + </ul>
  50 + <div class="divider"></div>
  51 + {% endif %}
  52 +
  53 + <ul class="unstyled-list">
  54 + {% if user_.institution or user_.role %}
  55 + <li>
  56 + <span class="icon-briefcase icon-fixed-width"></span>
  57 + {{ user_.role }}
  58 + {% if user_.institution and user_.role %}-{% endif %}
  59 + {{ user_.institution }}
  60 + </li>
  61 + {% endif %}
  62 + {% if request.user.is_active %}
  63 + {% if SOCIAL_NETWORK_ENABLED %}
  64 + <li>
  65 + {% if user_.twitter %}
  66 + <span class="icon-twitter icon-fixed-width" title="{% trans 'Twitter account' %}"></span> <a target="_blank" href="{{ user_.twitter_link }}" title="{% trans 'Twitter account' %}">{{ user_.twitter }}</a>
  67 + {% endif %}
  68 + {% if user_.facebook %}
  69 + <span class="icon-facebook icon-fixed-width" title="{% trans 'Facebook account' %}"></span> <a target="_blank" href="{{ user_.facebook_link }}" title="{% trans 'Facebook account' %}">{{ user_.facebook }}</a>
  70 + {% endif %}
  71 + </li>
  72 +
  73 + {% if user_.google_talk %}
  74 + <li><span class="icon-google-plus icon-fixed-width" title="{% trans 'Google talk account' %}"></span> {{ user_.google_talk }}</li>
  75 + {% endif %}
  76 +
  77 + {% if user_.github %}
  78 + <li><span class="icon-github icon-fixed-width" title="{% trans 'Github account' %}"></span> <a target="_blank" href="https://github.com/{{ user_.github }}">{{ user_.github }}</a></li>
  79 + {% endif %}
  80 +
  81 + {% if user_.webpage %}
  82 + <li><span class="icon-link icon-fixed-width" title="{% trans 'Personal webpage' %}"></span> <a target="_blank" href="{{ user_.webpage }}" title="{% trans 'Personal webpage' %}">{{ user_.webpage }}</a></li>
  83 + {% endif %}
  84 + {% endif %}
  85 + {% endif %}
  86 + </ul>
  87 + {% if user_.mailinglists %}
  88 + <b>Listas de discussão</b>
  89 + {% for list in user_.mailinglists %}
  90 + <a href="{% url 'haystack_search' %}?order=latest&amp;type=thread&amp;list={{ list }}"><span class="label label-primary">{{ list }}</span></a>
  91 + {% endfor %}
  92 + {% endif %}
  93 +
  94 + <div class="divider"></div>
  95 +
  96 + </div>
  97 +
  98 + <div class="col-lg-4 col-md-4 col-sm-7">
  99 + <div class="panel panel-default">
  100 + <div class="panel-heading">
  101 + <h3 class="panel-title">{% trans "Collaborations by Type" %}</h3>
  102 + </div>
  103 + <div class="panel-body">
  104 + <div id="collabs"></div>
  105 + <div class="chart collabs">
  106 + <canvas width="200" height="200"></canvas>
  107 + <p></p>
  108 + </div>
  109 + </div>
  110 + </div>
  111 + </div>
  112 +
  113 +
  114 + <div class="col-lg-4 col-md-4 col-sm-7">
  115 + <div class="panel panel-default">
  116 + <div class="panel-heading">
  117 + <h3 class="panel-title">Participação por lista de discussão</h3>
  118 + </div>
  119 + <div class="panel-body">
  120 + <div class="chart collabs2">
  121 + <canvas width="200" height="200"></canvas>
  122 + <p></p>
  123 + </div>
  124 + </div>
  125 + </div>
  126 + </div>
  127 +
  128 + </div> <!-- End of user-profile row -->
  129 +
  130 + <div class="row">
  131 +
  132 + <div class="col-lg-6 col-md-6 col-sm-12">
  133 + <h3>{% trans "Latest posted" %} </h3>
  134 + <ul class="message-list">
  135 + {% for doc in emails %}
  136 + {% include "message-preview.html" with result=doc %}
  137 + {% empty %}
  138 + <li>{% trans "There are no posts by this user so far." %}</li>
  139 + {% endfor %}
  140 + </ul>
  141 + <a href="{% url 'haystack_search' %}?type=thread&amp;author={{ user_.username }}">
  142 + {% trans "View more posts..." %}
  143 + </a>
  144 + <div>&nbsp;</div>
  145 + </div>
  146 +
  147 + <div class="col-lg-6 col-md-6 col-sm-12">
  148 + <h3>{% trans "Latest contributions" %}</h3>
  149 + <ul class="message-list">
  150 + {% for result in results %}
  151 + {% include "message-preview.html" %}
  152 + {% empty %}
  153 + <li>{% trans "No contributions of this user so far." %}</li>
  154 + {% endfor %}
  155 + </ul>
  156 + <a href="{% url 'haystack_search' %}?order=latest&amp;collaborators={{ user_.username }}">
  157 + {% trans "View more contributions..." %}
  158 + </a>
  159 + <div>&nbsp;</div>
  160 + </div>
  161 +
  162 + </div>
  163 + </div>
  164 +{% endblock %}
src/colab-spb-theme-plugin/colab_spb_theme/templates/header.html
@@ -135,9 +135,19 @@ @@ -135,9 +135,19 @@
135 </div> 135 </div>
136 <div id="sobre"> 136 <div id="sobre">
137 <ul> 137 <ul>
138 - <li id="softwarepublico-groups" class="softwarepublico-item">  
139 - <a href="{% url 'thread_list' %}" title="Listas de discussão">Listas de discussão</a>  
140 - </li> 138 + {% if not user.is_authenticated %}
  139 + <li id="softwarepublico-groups" class="softwarepublico-item">
  140 + <a href="{% url 'thread_list' %}" title="Listas de discussão">Listas de discussão</a>
  141 + </li>
  142 + {% else %}
  143 + <li class="dropdown softwarepublico-item">
  144 + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Listas de discussão <b class="caret"></b></a>
  145 + <ul class="dropdown-menu">
  146 + <li><a href="{% url 'thread_list' %}">Acesse todas as listas</a></li>
  147 + <li><a href="{% url 'user_list_subscriptions' user %}">Inscreva-se nas listas</a></li>
  148 + </ul>
  149 + </li>
  150 + {% endif %}
141 {% plugins_menu %} 151 {% plugins_menu %}
142 <li id="softwarepublico-perguntas-frequentes" class="softwarepublico-item"> 152 <li id="softwarepublico-perguntas-frequentes" class="softwarepublico-item">
143 <a href="/social/spb/ajuda" title="Perguntas frequentes">Perguntas frequentes</a> 153 <a href="/social/spb/ajuda" title="Perguntas frequentes">Perguntas frequentes</a>
src/colab-spb-theme-plugin/colab_spb_theme/templates/search/search.html
1 {% extends "base.html" %} 1 {% extends "base.html" %}
2 -{% load i18n highlight superarchives %} 2 +{% load i18n tz highlight superarchives search_preview_templates %}
3 {% load static from staticfiles %} 3 {% load static from staticfiles %}
4 4
5 {% block title %}{% trans 'search'|title %}{% endblock %} 5 {% block title %}{% trans 'search'|title %}{% endblock %}
@@ -30,20 +30,20 @@ @@ -30,20 +30,20 @@
30 {% endblock %} 30 {% endblock %}
31 31
32 {% block main-content %} 32 {% block main-content %}
33 -<div class="search-results" style="width: 980px;margin: auto;"> 33 +<div class="colab-search-results" style="width: 980px;margin: auto;">
34 34
35 <form accept-charset="UTF-8" action="/search/" method="get"> 35 <form accept-charset="UTF-8" action="/search/" method="get">
36 <div class="container"> 36 <div class="container">
37 <div class="row"> 37 <div class="row">
38 <div class="col-md-12"> 38 <div class="col-md-12">
39 - <div class="search-form">  
40 - <h3 class="search-title"> {% trans "BUSCAR NO PORTAL" %} </h3>  
41 - <div class="search-field"> 39 + <div class="colab-search-form">
  40 + <h3 class="colab-search-title"> {% trans "BUSCAR NO PORTAL" %} </h3>
  41 + <div class="colab-search-field">
42 <span class="formfield"> 42 <span class="formfield">
43 - <input class="search-input" id="search-input" name="q" value="" type="text"> 43 + <input class="colab-search-input" id="search-input" name="q" value="{{ request.GET.q }}" type="text">
44 </span> 44 </span>
45 </div> 45 </div>
46 - <input class="btn search-blue with-text icon-search submit" name="commit" value="Buscar" type="submit"> 46 + <input class="btn colab-search-blue with-text icon-search submit" name="commit" value="Buscar" type="submit">
47 </div> 47 </div>
48 </div> 48 </div>
49 </div> 49 </div>
@@ -63,9 +63,9 @@ @@ -63,9 +63,9 @@
63 <select name="order" id="order_option" onchange="this.form.submit()"> 63 <select name="order" id="order_option" onchange="this.form.submit()">
64 {% for option, dict_order in order_data.items %} 64 {% for option, dict_order in order_data.items %}
65 {% ifequal request.GET.order option %} 65 {% ifequal request.GET.order option %}
66 - <option value="{{option}}" selected>{% trans option %}</option> 66 + <option value="{{option}}" selected>{% trans dict_order.name %}</option>
67 {% else %} 67 {% else %}
68 - <option value="{{option}}">{% trans option %}</option> 68 + <option value="{{option}}">{% trans dict_order.name %}</option>
69 {% endifequal %} 69 {% endifequal %}
70 {% endfor %} 70 {% endfor %}
71 </select> 71 </select>
@@ -80,7 +80,8 @@ @@ -80,7 +80,8 @@
80 <div class="col-md-12 col-lg-12"> 80 <div class="col-md-12 col-lg-12">
81 <div class="container"> 81 <div class="container">
82 {% for result in page.object_list %} 82 {% for result in page.object_list %}
83 - {% include "message-preview.html" %} 83 + {% get_search_preview_templates result as template_target %}
  84 + {% include template_target %}
84 {% empty %} 85 {% empty %}
85 <ul class="list-unstyled"> 86 <ul class="list-unstyled">
86 <li class="text-center"> 87 <li class="text-center">
@@ -144,4 +145,4 @@ @@ -144,4 +145,4 @@
144 145
145 </div> 146 </div>
146 </div> 147 </div>
147 -{% endblock main-content %}  
148 \ No newline at end of file 148 \ No newline at end of file
  149 +{% endblock main-content %}
src/colab-spb-theme-plugin/colab_spb_theme/templates/superarchives/thread-dashboard.html 0 → 100644
@@ -0,0 +1,101 @@ @@ -0,0 +1,101 @@
  1 +{% extends 'base.html' %}
  2 +{% load i18n %}
  3 +
  4 +{% block title %}Listas de discussão{% endblock %}
  5 +
  6 +{% block main-content %}
  7 + <div class="colab-content container">
  8 + <h2>Listas de discussão</h2>
  9 + <hr/>
  10 +
  11 + {% for mailinglist in lists %}
  12 + {% if mailinglist.get_latest or mailinglist.get_most_relevant %}
  13 + <h3><b>{{ mailinglist.name|title|lower }} {% if mailinglist.description %} ({{ mailinglist.description }}){% endif %}</b></h3>
  14 + <div class="btn-group btn-group-sm">
  15 + <a href="#" class="btn btn-default" disabled="disabled">{% blocktrans with number_of_users=mailinglist.get_number_of_users %}{{ number_of_users }} members{% endblocktrans %}</a>
  16 + </div>
  17 + <hr/>
  18 +
  19 + <div class="row">
  20 + <div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
  21 + <h4>{% trans 'latest'|title %}</h4>
  22 + <ul class="message-list">
  23 + {% for thread in mailinglist.get_latest %}
  24 + {% include "message-preview.html" with result=thread.latest_message %}
  25 + {% endfor %}
  26 + </ul>
  27 + <div class="text-right">
  28 + <a href="{% url 'haystack_search' %}?order=latest&list={{ mailinglist.name }}&type=thread">
  29 + {% trans "more..." %}
  30 + </a>
  31 + </div>
  32 + </div>
  33 +
  34 + <div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
  35 + <h4>{% trans 'most relevant'|title %}</h4>
  36 + <ul class="message-list">
  37 + {% for thread in mailinglist.get_most_relevant %}
  38 + {% include "message-preview.html" with result=thread %}
  39 + {% endfor %}
  40 + </ul>
  41 + <div class="text-right">
  42 + <a href="{% url 'haystack_search' %}?list={{ mailinglist.name }}&type=thread">
  43 + {% trans "more..." %}
  44 + </a>
  45 + </div>
  46 + </div>
  47 + </div>
  48 +
  49 +
  50 + {% endif %}
  51 + {% endfor %}
  52 +
  53 + {% if page_obj.has_other_pages %}
  54 + <div class="text-center">
  55 + <ul class="pagination">
  56 + <li {% if page_obj.number == 1 %}class="disabled"{% endif %}>
  57 + <a href="{% if page_obj.number == 1 %}javascript:void(0);{% else %}?page={{1}}{% endif %}"><span class="glyphicon glyphicon-chevron-left small-icon"></span><span class="glyphicon glyphicon-chevron-left small-icon"></span></a>
  58 + </li>
  59 + <li {% if not page_obj.has_previous %}class="disabled"{% endif %}>
  60 + <a href="{% if page_obj.has_previous %}?page={{page_obj.previous_page_number }}{% else %}javascript:void(0);{% endif %}"><span class="glyphicon glyphicon-chevron-left small-icon"></span></a>
  61 + </li>
  62 +
  63 + {% if page_obj.has_previous %}
  64 + {% if page_obj.previous_page_number > 1 %}
  65 + <li>
  66 + <a href="?page={{page_obj.previous_page_number|add:-2 }}">{{ page_obj.number|add:-2 }}</a>
  67 + </li>
  68 + {% endif %}
  69 + <li>
  70 + <a href="?page={{page_obj.previous_page_number }}">{{ page_obj.number|add:-1 }}</a>
  71 + </li>
  72 + {% endif %}
  73 +
  74 + <li class="active">
  75 + <a href="javascript:void(0);">{{ page_obj.number }}</a>
  76 + </li>
  77 +
  78 + {% if page_obj.has_next %}
  79 + <li>
  80 + <a href="?page={{page_obj.next_page_number }}">{{ page_obj.number|add:1 }}</a>
  81 + </li>
  82 + {% if page_obj.next_page_number < page_obj.paginator.num_pages %}
  83 + <li>
  84 + <a href="?page={{page_obj.next_page_number|add:1 }}">{{ page_obj.number|add:2 }}</a>
  85 + </li>
  86 + {% endif %}
  87 + {% endif %}
  88 +
  89 + <li {% if not page_obj.has_next %}class="disabled"{% endif %}>
  90 + <a href="{% if page_obj.has_next %}?page={{page_obj.next_page_number }}{% else %}javascript:void(0);{% endif %}"><span class="glyphicon glyphicon-chevron-right small-icon"></span></a>
  91 + </li>
  92 +
  93 + <li {% if page_obj.number == page_obj.paginator.num_pages %}class="disabled"{% endif %}>
  94 + <a href="{% if page_obj.number == page_obj.paginator.num_pages %}javascript:void(0);{% else %}?page={{page_obj.paginator.num_pages }}{% endif %}"><span class="glyphicon glyphicon-chevron-right small-icon"></span><span class="glyphicon glyphicon-chevron-right small-icon"></span></a>
  95 + </li>
  96 +
  97 + </ul>
  98 + </div>
  99 + {% endif %}
  100 + </div>
  101 +{% endblock %}
src/noosfero-spb/.gitignore
1 dist/ 1 dist/
  2 +*.tar.gz
src/noosfero-spb/Makefile
1 PACKAGE = noosfero-spb 1 PACKAGE = noosfero-spb
2 -VERSION = $(shell cat VERSION) 2 +VERSION = 4.2.7
3 DISTDIR = $(PACKAGE)-$(VERSION) 3 DISTDIR = $(PACKAGE)-$(VERSION)
4 TARBALL = $(DISTDIR).tar.gz 4 TARBALL = $(DISTDIR).tar.gz
5 5
@@ -11,10 +11,9 @@ themes_dir=/usr/lib/noosfero/public/designs/themes @@ -11,10 +11,9 @@ themes_dir=/usr/lib/noosfero/public/designs/themes
11 noosfero_dir=/usr/lib/noosfero 11 noosfero_dir=/usr/lib/noosfero
12 12
13 dist: clean 13 dist: clean
14 - mkdir -p dist/$(DISTDIR)  
15 - tar --exclude=.git --exclude=$(DISTDIR) -cf - * | (cd dist/$(DISTDIR) && tar xaf -)  
16 - cd dist && tar --exclude=.git -czf $(TARBALL) $(DISTDIR)  
17 - $(RM) -r dist/$(DISTDIR) 14 + mkdir $(DISTDIR)
  15 + tar --exclude=.git --exclude=$(DISTDIR) -cf - * | (cd $(DISTDIR) && tar xaf -)
  16 + tar --exclude=.git -czf $(TARBALL) $(DISTDIR)
18 17
19 clean: 18 clean:
20 $(RM) -r dist/ 19 $(RM) -r dist/
src/noosfero-spb/noosfero-spb-theme/categories.html.erb
@@ -1,7 +0,0 @@ @@ -1,7 +0,0 @@
1 -<ul id="cat_menu">  
2 - <% @environment.top_level_categories.find(:all, :conditions => {:display_in_menu => true}).each do |item| %>  
3 - <li id="category category_<%= item.path %>" >  
4 - <%= link_to(item.name, {:controller => :search, :action => 'category_index', :category_path => item.path }, :title => item.name, :style=>"color: ##{item.display_color || '000000'}" ) %>  
5 - </li>  
6 - <% end %>  
7 -</ul><!-- fim id="cat_menu" -->  
src/noosfero-spb/noosfero-spb-theme/css/search-pages.css
@@ -160,4 +160,3 @@ @@ -160,4 +160,3 @@
160 text-align: center; 160 text-align: center;
161 } 161 }
162 162
163 -  
src/noosfero-spb/noosfero-spb-theme/favicon.ico
No preview for this file type
src/noosfero-spb/noosfero-spb-theme/images/503-logo.jpg

9.42 KB

src/noosfero-spb/noosfero-spb-theme/images/503-small.jpg

70.1 KB

src/noosfero-spb/noosfero-spb-theme/images/503.jpg

174 KB

src/noosfero-spb/noosfero-spb-theme/images/acesso-a-infornacao.png

3.75 KB

src/noosfero-spb/noosfero-spb-theme/images/alerta-cadastro16.jpg

18.5 KB

src/noosfero-spb/noosfero-spb-theme/images/arrow_down.jpg

567 Bytes

src/noosfero-spb/noosfero-spb-theme/images/arrow_right.jpg

548 Bytes

src/noosfero-spb/noosfero-spb-theme/images/background_footer.png

230 Bytes

src/noosfero-spb/noosfero-spb-theme/images/balao-amarelo.png

2.54 KB

src/noosfero-spb/noosfero-spb-theme/images/barra-menu-user-bg.png

179 Bytes

src/noosfero-spb/noosfero-spb-theme/images/barra-psocial-bg-contarste.png

187 Bytes

src/noosfero-spb/noosfero-spb-theme/images/barra-psocial-bg.png

173 Bytes

src/noosfero-spb/noosfero-spb-theme/images/barra-psocial.png

14.3 KB

src/noosfero-spb/noosfero-spb-theme/images/bg-bloco-de-trilhas.png

245 KB

src/noosfero-spb/noosfero-spb-theme/images/bg-btn-ver-mais-1px.png

159 Bytes

src/noosfero-spb/noosfero-spb-theme/images/bg-fundo-verde-tags.png

1.02 KB

src/noosfero-spb/noosfero-spb-theme/images/bg-linhas-cinza.png

3.01 KB

src/noosfero-spb/noosfero-spb-theme/images/bg-menu-mobile-panel.png

1.47 KB

src/noosfero-spb/noosfero-spb-theme/images/bg-menu-mobile.png

3.13 KB

src/noosfero-spb/noosfero-spb-theme/images/bg-paginacao-preto.png

884 Bytes

src/noosfero-spb/noosfero-spb-theme/images/bg-paginacao.png

856 Bytes

src/noosfero-spb/noosfero-spb-theme/images/bg-palacio-do-planalto.jpg

95.1 KB

src/noosfero-spb/noosfero-spb-theme/images/bg-titulo-interno.png

142 Bytes

src/noosfero-spb/noosfero-spb-theme/images/bg-titulo-login.png

216 Bytes

src/noosfero-spb/noosfero-spb-theme/images/bg_h1.gif

35 Bytes

src/noosfero-spb/noosfero-spb-theme/images/bg_h3_busca.gif

43 Bytes

src/noosfero-spb/noosfero-spb-theme/images/bg_tags.png

305 Bytes

src/noosfero-spb/noosfero-spb-theme/images/border-hor.png

127 Bytes

src/noosfero-spb/noosfero-spb-theme/images/border-ver.png

128 Bytes

src/noosfero-spb/noosfero-spb-theme/images/botao-enviar-pairwise.png

1.85 KB

src/noosfero-spb/noosfero-spb-theme/images/btn_busca.png

969 Bytes

src/noosfero-spb/noosfero-spb-theme/images/btn_cancelar_login.png

333 Bytes

src/noosfero-spb/noosfero-spb-theme/images/btn_commit.png

969 Bytes

src/noosfero-spb/noosfero-spb-theme/images/btn_continue.png

1.01 KB

src/noosfero-spb/noosfero-spb-theme/images/btn_duvida_pairwise.png

2.85 KB

src/noosfero-spb/noosfero-spb-theme/images/btn_duvida_pairwise_hover.png

3.12 KB

src/noosfero-spb/noosfero-spb-theme/images/btn_entrar_login.png

445 Bytes

src/noosfero-spb/noosfero-spb-theme/images/btn_entrar_login_hover.png

448 Bytes

src/noosfero-spb/noosfero-spb-theme/images/bullet.png

174 Bytes

src/noosfero-spb/noosfero-spb-theme/images/button-read-more-vazio-contraste.png

648 Bytes

src/noosfero-spb/noosfero-spb-theme/images/button-read-more-vazio.png

648 Bytes

src/noosfero-spb/noosfero-spb-theme/images/button-read-more2.png

2.17 KB

src/noosfero-spb/noosfero-spb-theme/images/cabecalho_pairwise.png

52 KB

src/noosfero-spb/noosfero-spb-theme/images/carta-comentarios.png

771 Bytes

src/noosfero-spb/noosfero-spb-theme/images/chat-icon.png

391 Bytes

src/noosfero-spb/noosfero-spb-theme/images/coala.jpeg

5.21 KB

src/noosfero-spb/noosfero-spb-theme/images/comentarios.png

579 Bytes

src/noosfero-spb/noosfero-spb-theme/images/comunidade-evento-imagem-evento.jpg

23.7 KB

src/noosfero-spb/noosfero-spb-theme/images/comunidade-evento-imagem-evento.png

26.3 KB

src/noosfero-spb/noosfero-spb-theme/images/docs-board-icon.png

245 Bytes

src/noosfero-spb/noosfero-spb-theme/images/em-destaque.png

877 Bytes

src/noosfero-spb/noosfero-spb-theme/images/facebook-widget.png

2.46 KB

src/noosfero-spb/noosfero-spb-theme/images/facebook.png

624 Bytes

src/noosfero-spb/noosfero-spb-theme/images/favicon.ico
No preview for this file type
src/noosfero-spb/noosfero-spb-theme/images/flag-en.gif

538 Bytes

src/noosfero-spb/noosfero-spb-theme/images/flag-en.png

2.09 KB

src/noosfero-spb/noosfero-spb-theme/images/flag-es.gif

190 Bytes

src/noosfero-spb/noosfero-spb-theme/images/flag-pt_br.png

1.71 KB

src/noosfero-spb/noosfero-spb-theme/images/flickr.png

642 Bytes

src/noosfero-spb/noosfero-spb-theme/images/fundo-de-tela-amarelo.png

182 KB

src/noosfero-spb/noosfero-spb-theme/images/google_follow.png

2.04 KB

src/noosfero-spb/noosfero-spb-theme/images/google_follow.svg
@@ -1,23 +0,0 @@ @@ -1,23 +0,0 @@
1 -<?xml version="1.0" encoding="iso-8859-1"?>  
2 -<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->  
3 -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">  
4 -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"  
5 - width="32px" height="32px" viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve">  
6 -<circle id="circle_x5F_bg_17_" style="fill:#CF4832;" cx="16" cy="16" r="16.005"/>  
7 -<g>  
8 - <polygon style="fill:#FFFFFF;" points="24.376,9.896 22.499,9.896 22.499,13.646 18.747,13.646 18.747,15.523 22.499,15.523  
9 - 22.499,19.273 24.376,19.273 24.376,15.523 28.126,15.523 28.126,13.646 24.376,13.646 "/>  
10 -</g>  
11 -<g>  
12 - <path style="fill:#FFFFFF;" d="M14.933,25.068c-0.74-0.559-2.355-1.699-2.355-2.465c0-0.898,0.256-1.342,1.605-2.396  
13 - c1.387-1.082,2.367-2.51,2.367-4.279c0-1.93-0.789-3.678-2.27-4.527h2.102l1.787-1.879c0,0-5.91,0-8.008,0  
14 - c-4.061,0-7.447,2.996-7.447,6.291c0,3.367,2.225,6.051,6.045,6.051c0.264,0,0.523-0.01,0.775-0.027  
15 - C9.286,22.309,9.11,22.84,9.11,23.395c0,0.938,0.518,1.473,1.148,2.09c-0.48,0-0.941,0.01-1.449,0.01  
16 - c-1.805,0-3.395,0.486-4.67,1.254c0.396,0.436,0.814,0.85,1.254,1.238c1.1-0.949,2.709-1.561,4.471-1.541  
17 - c0.748,0.004,1.449,0.127,2.082,0.332c1.746,1.215,3.156,1.971,3.508,3.357c0.066,0.275,0.102,0.566,0.102,0.861  
18 - c0,0.34-0.033,0.666-0.098,0.982c0.174,0.006,0.342,0.025,0.518,0.025c0.639,0,1.264-0.047,1.883-0.119  
19 - c0.119-0.406,0.186-0.818,0.186-1.232C18.044,28.225,17.521,27.008,14.933,25.068z M10.306,20.645  
20 - c-2.156-0.066-4.209-2.049-4.58-4.881c-0.375-2.834,1.07-5.004,3.23-4.939c2.158,0.064,4.004,2.389,4.377,5.223  
21 - S12.464,20.707,10.306,20.645z"/>  
22 -</g>  
23 -</svg>  
src/noosfero-spb/noosfero-spb-theme/images/hdot2.gif

43 Bytes

src/noosfero-spb/noosfero-spb-theme/images/header.gif

279 Bytes

src/noosfero-spb/noosfero-spb-theme/images/hub-arrow-right.png

349 Bytes