Commit 922cd359cb73e839107bb1d84137c011ef2c015a
Exists in
master
and in
46 other branches
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 | 1 | admins: |
2 | 2 | - ["Paulo Meirelles", "paulo@softwarelivre.org"] |
3 | 3 | external_hostname: spb.cdtc.unb.br |
4 | +sisp_external_hostname: sisp.cdtc.unb.br | |
4 | 5 | external_ip: 164.41.9.49 |
5 | 6 | site_url: https://spb.cdtc.unb.br |
6 | 7 | colab_from_address: '"Portal do Software Publico" <noreply@spb.cdtc.unb.br>' | ... | ... |
config/dev/config.yaml
config/homologa/config.yaml
... | ... | @@ -4,6 +4,7 @@ admins: |
4 | 4 | - ["Nayanne Araújo", "nayanne.bonifacio@planejamento.gov.br"] |
5 | 5 | - ["Marisa Souza dos Santos", "marisa.santos@planejamento.gov.br"] |
6 | 6 | external_hostname: homologa.softwarepublico.gov.br |
7 | +sisp_external_hostname: homologa.sisp.gov.br | |
7 | 8 | external_ip: 189.9.151.65 |
8 | 9 | alt_ssh_port: 55555 |
9 | 10 | site_url: https://homologa.softwarepublico.gov.br | ... | ... |
config/lappis/config.yaml
... | ... | @@ -2,6 +2,7 @@ admins: |
2 | 2 | - ["Paulo Meirelles", "paulo@softwarelivre.org"] |
3 | 3 | site_url: https://softwarepublico.lappis |
4 | 4 | external_hostname: softwarepublico.lappis |
5 | +sisp_external_hostname: sisp.lappis | |
5 | 6 | external_ip: 10.0.0.11 |
6 | 7 | colab_from_address: '"Portal do Software Publico" <noreply@softwarepublico.lappis>' |
7 | 8 | server_email: '"Portal do Software Publico" <noreply@softwarepublico.lappis>' | ... | ... |
config/local/config.yaml
... | ... | @@ -2,6 +2,7 @@ admins: |
2 | 2 | - ["Paulo Meirelles", "paulo@softwarelivre.org"] |
3 | 3 | site_url: https://softwarepublico.dev |
4 | 4 | external_hostname: softwarepublico.dev |
5 | +sisp_external_hostname: sisp.dev | |
5 | 6 | alternative_hostnames: |
6 | 7 | - www.softwarepublico.dev |
7 | 8 | - beta.softwarepublico.dev | ... | ... |
config/prod/config.yaml
... | ... | @@ -5,6 +5,7 @@ admins: |
5 | 5 | - ["Marisa Souza dos Santos", "marisa.santos@planejamento.gov.br"] |
6 | 6 | site_url: https://softwarepublico.gov.br |
7 | 7 | external_hostname: softwarepublico.gov.br |
8 | +sisp_external_hostname: novo.sisp.gov.br | |
8 | 9 | alternative_hostnames: |
9 | 10 | - www.softwarepublico.gov.br |
10 | 11 | - portal.softwarepublico.gov.br | ... | ... |
cookbooks/colab/recipes/default.rb
... | ... | @@ -11,6 +11,11 @@ if node['platform'] == 'centos' |
11 | 11 | end |
12 | 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 | 19 | package 'colab' do |
15 | 20 | action :upgrade |
16 | 21 | notifies :restart, 'service[colab]' |
... | ... | @@ -190,6 +195,11 @@ execute 'colab-mailman-group' do |
190 | 195 | command "usermod -a -G mailman colab" |
191 | 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 | 203 | execute 'colab-admin migrate' |
194 | 204 | execute 'colab-admin:collectstatic' do |
195 | 205 | command 'colab-admin collectstatic --noinput' | ... | ... |
cookbooks/colab/templates/00-custom_settings.py.erb
... | ... | @@ -28,7 +28,8 @@ SECRET_KEY = "<%= File.read('/etc/colab/secret.key').strip %>" |
28 | 28 | |
29 | 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 | 34 | ## Disable indexing |
34 | 35 | ROBOTS_NOINDEX = False | ... | ... |
cookbooks/colab/templates/colab.conf.erb
... | ... | @@ -5,18 +5,20 @@ upstream colab { |
5 | 5 | server { |
6 | 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 | 10 | access_log /var/log/nginx/colab.access.log; |
11 | 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 | 16 | location ~ ^/static/img/fav\.[^.]+\.ico$ { |
15 | 17 | alias /var/lib/colab/assets/spb/fav.ico; |
16 | 18 | } |
17 | 19 | |
18 | 20 | location / { |
19 | - root /usr/share/nginx/colab; | |
21 | + root /var/lib/colab/assets/; | |
20 | 22 | try_files $uri @colab-app; |
21 | 23 | } |
22 | 24 | ... | ... |
cookbooks/noosfero/files/noosfero.yml
cookbooks/noosfero/templates/nginx.conf.erb
... | ... | @@ -6,11 +6,11 @@ upstream noosfero { |
6 | 6 | |
7 | 7 | server { |
8 | 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 | 10 | underscores_in_headers on; |
11 | 11 | access_log /var/log/nginx/noosfero.access.log; |
12 | 12 | error_log /var/log/nginx/noosfero.error.log; |
13 | - client_max_body_size 150m; | |
13 | + client_max_body_size 0; | |
14 | 14 | |
15 | 15 | root /usr/lib/noosfero/public; |
16 | 16 | location /social/ { |
... | ... | @@ -24,7 +24,7 @@ server { |
24 | 24 | proxy_read_timeout 90; |
25 | 25 | proxy_connect_timeout 90; |
26 | 26 | proxy_redirect off; |
27 | - proxy_set_header Host <%= node['config']['external_hostname'] %>; | |
27 | + proxy_set_header Host $host; | |
28 | 28 | proxy_set_header X-Real-IP $remote_addr; |
29 | 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 @@ |
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 @@ |
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 @@ |
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 @@ |
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 @@ |
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 @@ |
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 "/etc/nginx/#{node['config']['external_hostname']}.crt" do |
6 | 6 | notifies :restart, 'service[nginx]' |
7 | 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 | 16 | cookbook_file "/etc/sysctl.d/ip_forward.conf" do |
10 | 17 | owner 'root' |
11 | 18 | group 'root' |
... | ... | @@ -23,6 +30,13 @@ cookbook_file "/etc/nginx/#{node['config']['external_hostname']}.key" do |
23 | 30 | notifies :restart, 'service[nginx]' |
24 | 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 | 40 | template '/etc/nginx/conf.d/reverse_proxy.conf' do |
27 | 41 | owner 'root' |
28 | 42 | group 'root' | ... | ... |
cookbooks/reverse_proxy/templates/reverse_proxy.conf.erb
... | ... | @@ -5,15 +5,15 @@ upstream colab { |
5 | 5 | server { |
6 | 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 | 12 | server { |
13 | 13 | listen *:443 ssl; |
14 | 14 | |
15 | 15 | server_name <%= node['config']['external_hostname'] %>; |
16 | - client_max_body_size 150m; | |
16 | + client_max_body_size 500m; | |
17 | 17 | |
18 | 18 | ssl on; |
19 | 19 | |
... | ... | @@ -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 | 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 | 80 | $ cd <caminho-do-diretório-do-projeto> |
86 | 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 | 88 | Integração manual entre repositórios |
90 | 89 | --------------------------------- | ... | ... |
src/colab-spb-plugin/setup.py
... | ... | @@ -15,7 +15,7 @@ version = open('VERSION').read().strip() |
15 | 15 | |
16 | 16 | setup( |
17 | 17 | name='colab-spb-plugin', |
18 | - version=version, | |
18 | + version='0.2.3', | |
19 | 19 | author='Macartur Sousa', |
20 | 20 | author_email='macartur.sc@gmail.com', |
21 | 21 | url='https://portal.softwarepublico.gov.br/gitlab/softwarepublico/colab-spb-plugin/', | ... | ... |
src/colab-spb-theme-plugin/Makefile
1 | 1 | PACKAGE = colab-spb-theme |
2 | -VERSION = $(shell cat VERSION) | |
2 | +VERSION = 0.3.4 | |
3 | 3 | DISTDIR = dist |
4 | 4 | PACKAGE_NAME = $(PACKAGE)-$(VERSION) |
5 | 5 | TARBALL = $(PACKAGE_NAME).tar.gz |
... | ... | @@ -10,7 +10,7 @@ all: |
10 | 10 | colab_dir=/usr/lib/colab |
11 | 11 | |
12 | 12 | dist: clean |
13 | - mkdir -p $(DISTDIR)/$(PACKAGE_NAME) | |
13 | + mkdir -p $(DISTDIR)/$(PACKAGE_NAME) | |
14 | 14 | tar --exclude=.git --exclude=$(DISTDIR) -cf - * | (cd $(DISTDIR)/$(PACKAGE_NAME) && tar xf -) |
15 | 15 | cd $(DISTDIR) && tar -czf $(TARBALL) $(PACKAGE_NAME) |
16 | 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 | 168 | |
169 | 169 | |
170 | 170 | /* Forms */ |
171 | -.required label:before { | |
172 | - color: #f00; | |
173 | - content: "* "; | |
174 | -} | |
175 | - | |
176 | 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 | 176 | div.submit { |
... | ... | @@ -517,3 +512,79 @@ span.highlighted { |
517 | 512 | padding: 40px 0 60px 0; |
518 | 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 | 3 | margin-top: 28px; |
4 | 4 | padding-top: 0px; |
5 | 5 | padding-bottom: 15px; |
... | ... | @@ -10,7 +10,7 @@ |
10 | 10 | border: 1px solid #d3d6de; |
11 | 11 | } |
12 | 12 | |
13 | -.search-title { | |
13 | +.colab-search-title { | |
14 | 14 | color: #3e67b1; |
15 | 15 | margin: 5px 0px 3px; |
16 | 16 | padding: 16px 0px 0px 0px; |
... | ... | @@ -20,7 +20,7 @@ |
20 | 20 | text-transform: uppercase; |
21 | 21 | } |
22 | 22 | |
23 | -.search-input { | |
23 | +.colab-search-input { | |
24 | 24 | width: 100%; |
25 | 25 | padding: 7px; |
26 | 26 | font-size: 14px; |
... | ... | @@ -30,7 +30,7 @@ |
30 | 30 | border: 1px solid #d3d6de; |
31 | 31 | } |
32 | 32 | |
33 | -.search-blue { | |
33 | +.colab-search-blue { | |
34 | 34 | background: #3e67b1; |
35 | 35 | color: white; |
36 | 36 | width: auto; |
... | ... | @@ -43,6 +43,21 @@ |
43 | 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 | 61 | .btn:hover { |
47 | 62 | color: white; |
48 | 63 | } |
... | ... | @@ -59,4 +74,9 @@ |
59 | 74 | font-size: 14px; |
60 | 75 | font-family: Arial; |
61 | 76 | font-weight: bold; |
62 | -} | |
63 | 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 @@ |
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 @@ |
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 @@ |
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> {% trans "edit profile"|title %}</a> | |
30 | + <a class="btn btn-info" href="{% url 'user_list_subscriptions' user_ %}"><span class="glyphicon glyphicon-pencil"></span> 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&type=thread&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&author={{ user_.username }}"> | |
142 | + {% trans "View more posts..." %} | |
143 | + </a> | |
144 | + <div> </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&collaborators={{ user_.username }}"> | |
157 | + {% trans "View more contributions..." %} | |
158 | + </a> | |
159 | + <div> </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 | 135 | </div> |
136 | 136 | <div id="sobre"> |
137 | 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 | 151 | {% plugins_menu %} |
142 | 152 | <li id="softwarepublico-perguntas-frequentes" class="softwarepublico-item"> |
143 | 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 | 1 | {% extends "base.html" %} |
2 | -{% load i18n highlight superarchives %} | |
2 | +{% load i18n tz highlight superarchives search_preview_templates %} | |
3 | 3 | {% load static from staticfiles %} |
4 | 4 | |
5 | 5 | {% block title %}{% trans 'search'|title %}{% endblock %} |
... | ... | @@ -30,20 +30,20 @@ |
30 | 30 | {% endblock %} |
31 | 31 | |
32 | 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 | 35 | <form accept-charset="UTF-8" action="/search/" method="get"> |
36 | 36 | <div class="container"> |
37 | 37 | <div class="row"> |
38 | 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 | 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 | 44 | </span> |
45 | 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 | 47 | </div> |
48 | 48 | </div> |
49 | 49 | </div> |
... | ... | @@ -63,9 +63,9 @@ |
63 | 63 | <select name="order" id="order_option" onchange="this.form.submit()"> |
64 | 64 | {% for option, dict_order in order_data.items %} |
65 | 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 | 67 | {% else %} |
68 | - <option value="{{option}}">{% trans option %}</option> | |
68 | + <option value="{{option}}">{% trans dict_order.name %}</option> | |
69 | 69 | {% endifequal %} |
70 | 70 | {% endfor %} |
71 | 71 | </select> |
... | ... | @@ -80,7 +80,8 @@ |
80 | 80 | <div class="col-md-12 col-lg-12"> |
81 | 81 | <div class="container"> |
82 | 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 | 85 | {% empty %} |
85 | 86 | <ul class="list-unstyled"> |
86 | 87 | <li class="text-center"> |
... | ... | @@ -144,4 +145,4 @@ |
144 | 145 | |
145 | 146 | </div> |
146 | 147 | </div> |
147 | -{% endblock main-content %} | |
148 | 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 @@ |
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
src/noosfero-spb/Makefile
1 | 1 | PACKAGE = noosfero-spb |
2 | -VERSION = $(shell cat VERSION) | |
2 | +VERSION = 4.2.7 | |
3 | 3 | DISTDIR = $(PACKAGE)-$(VERSION) |
4 | 4 | TARBALL = $(DISTDIR).tar.gz |
5 | 5 | |
... | ... | @@ -11,10 +11,9 @@ themes_dir=/usr/lib/noosfero/public/designs/themes |
11 | 11 | noosfero_dir=/usr/lib/noosfero |
12 | 12 | |
13 | 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 | 18 | clean: |
20 | 19 | $(RM) -r dist/ | ... | ... |
src/noosfero-spb/noosfero-spb-theme/categories.html.erb
... | ... | @@ -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
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 | -<?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