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 | 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['platform'] == 'centos' | @@ -11,6 +11,11 @@ if node['platform'] == 'centos' | ||
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 'colab-mailman-group' do | @@ -190,6 +195,11 @@ execute 'colab-mailman-group' 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 = "<%= File.read('/etc/colab/secret.key').strip %>" | @@ -28,7 +28,8 @@ SECRET_KEY = "<%= File.read('/etc/colab/secret.key').strip %>" | ||
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
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 "/etc/nginx/#{node['config']['external_hostname']}.crt" do | @@ -6,6 +6,13 @@ cookbook_file "/etc/nginx/#{node['config']['external_hostname']}.crt" 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 "/etc/nginx/#{node['config']['external_hostname']}.key" do | @@ -23,6 +30,13 @@ cookbook_file "/etc/nginx/#{node['config']['external_hostname']}.key" 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('VERSION').read().strip() | @@ -15,7 +15,7 @@ version = open('VERSION').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> {% 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,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
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
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