Commit ca702a629868c6ad888e04237c89a23711826cfa

Authored by seocam
1 parent b534565b

Merge com https://bitbucket.org/seocam/atu-colab/src/810a0e848fcd


git-svn-id: http://repositorio.interlegis.gov.br/colab/trunk@6208 bee1b3ed-c3eb-0310-9994-b88e04532788
colab/rss/feeds.py
... ... @@ -19,7 +19,9 @@ class LatestThreadsFeeds(Feed):
19 19 return item.latest_message.url
20 20  
21 21 def item_title(self, item):
22   - return item.latest_message.subject_clean
  22 + title = '[' + item.mailinglist.name + '] '
  23 + title += item.latest_message.subject_clean
  24 + return title
23 25  
24 26 def item_description(self, item):
25 27 return item.latest_message.body
... ... @@ -36,7 +38,9 @@ class HottestThreadsFeeds(Feed):
36 38 return item.latest_message.url
37 39  
38 40 def item_title(self, item):
39   - return item.latest_message.subject_clean
  41 + title = '[' + item.mailinglist.name + '] '
  42 + title += item.latest_message.subject_clean
  43 + return title
40 44  
41 45 def item_description(self, item):
42 46 return item.latest_message.body
... ...
colab/rss/urls.py
... ... @@ -2,8 +2,8 @@ from django.conf.urls.defaults import patterns, url
2 2 import feeds
3 3  
4 4 urlpatterns = patterns('',
5   - url(r'threads/latest/$', feeds.LatestThreadsFeeds()),
6   - url(r'colab/latest/$', feeds.LatestColabFeeds()),
7   - url(r'threads/hottest/$', feeds.HottestThreadsFeeds()),
  5 + url(r'threads/latest/$', feeds.LatestThreadsFeeds(), name='rss_latest_threads'),
  6 + url(r'colab/latest/$', feeds.LatestColabFeeds(), name='rss_latest_colab'),
  7 + url(r'threads/hottest/$', feeds.HottestThreadsFeeds(), name='rss_hottest_threads'),
8 8 )
9 9  
... ...
colab/settings.py
... ... @@ -155,7 +155,7 @@ SOLR_SELECT_PATH = '/solr/select'
155 155  
156 156 SOLR_COLAB_URI = 'http://colab.interlegis.gov.br'
157 157 SOLR_BASE_QUERY = """
158   - (Type:changeset OR Type:ticket OR Type:wiki OR Type:thread)
  158 + ((Type:changeset OR Type:ticket OR Type:wiki OR Type:thread) AND Title:["" TO *])
159 159 """
160 160  
161 161 from settings_local import *
... ...
colab/static/css/screen.css
... ... @@ -222,4 +222,8 @@ img.center {
222 222 content: '';
223 223 }
224 224  
  225 +.rss {
  226 + float: right;
  227 + padding-top: 2px;
  228 +}
225 229  
... ...
colab/static/img/COPYRIGHT
... ... @@ -6,5 +6,6 @@ The icons listed bellow were copied from the Iconic icons package. The icons in
6 6 * wiki.png
7 7 * x.png
8 8 * plus.png
  9 +* rss.png
9 10  
10 11 The full Iconic package can be found here: https://github.com/downloads/somerandomdude/Iconic/iconic.zip
... ...
colab/static/img/rss.png 0 → 100644

405 Bytes

colab/super_archives/views.py
... ... @@ -56,7 +56,10 @@ def list_messages(request):
56 56 threads = threads.filter(mailinglist__name=mail_list)
57 57  
58 58 paginator = Paginator(threads, 16)
59   - page = int(request.GET.get('p', '1'))
  59 + try:
  60 + page = int(request.GET.get('p', '1'))
  61 + except ValueError:
  62 + page = 1
60 63 threads = paginator.page(page)
61 64  
62 65 lists = MailingList.objects.all()
... ...
colab/templates/base.html
... ... @@ -44,6 +44,23 @@
44 44 </style>
45 45  
46 46 {% endblock %}
  47 +
  48 + {% block google_analytics %}
  49 + <script type="text/javascript">
  50 +
  51 + var _gaq = _gaq || [];
  52 + _gaq.push(['_setAccount', 'UA-30841845-2']);
  53 + _gaq.push(['_trackPageview']);
  54 +
  55 + (function() {
  56 + var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
  57 + ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
  58 + var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  59 + })();
  60 +
  61 + </script>
  62 + {% endblock %}
  63 +
47 64 </head>
48 65  
49 66 <body class="container">
... ...
colab/templates/home.html
... ... @@ -18,7 +18,11 @@
18 18 {% block main-content %}
19 19  
20 20 <div class="span-12 colborder">
21   - <h3>{% trans "Últimas Colaborações" %}</h3>
  21 + <h3>{% trans "Últimas Colaborações" %}<a class="rss" target="_blank"
  22 + href="{% url rss_latest_colab %}"
  23 + title="{% trans "RSS - Últimas Colaborações" %}">
  24 + <img src="{{ STATIC_URL }}img/rss.png" alt="RSS"/></a>
  25 + </h3>
22 26 <ul>
23 27 {% for doc in latest_docs %}
24 28 {% include "message-preview.html" %}
... ... @@ -39,7 +43,11 @@
39 43 <hr/>
40 44  
41 45 <div class="span-12 colborder">
42   - <h3>{% trans "Discussões Mais Relevantes" %}</h3>
  46 + <h3>{% trans "Discussões Mais Relevantes" %}<a class="rss" target="_blank"
  47 + href="{% url rss_hottest_threads %}"
  48 + title="{% trans "RSS - Discussões Mais Relevantes" %}">
  49 + <img src="{{ STATIC_URL }}img/rss.png" alt="RSS"/></a>
  50 + </h3>
43 51 <ul>
44 52 {% for thread in hottest_threads %}
45 53 {% include "message-preview.html" with doc=thread.latest_message %}
... ... @@ -52,7 +60,11 @@
52 60 </div>
53 61  
54 62 <div class="span-11 last">
55   - <h3>{% trans "Últimas Discussões" %}</h3>
  63 + <h3>{% trans "Últimas Discussões" %}<a class="rss" target="_blank"
  64 + href="{% url rss_latest_threads %}"
  65 + title="{% trans "RSS - Últimas Discussões" %}">
  66 + <img src="{{ STATIC_URL }}img/rss.png" alt="RSS"/></a>
  67 + </h3>
56 68 <ul>
57 69 {% for thread in latest_threads %}
58 70 {% include "message-preview.html" with doc=thread.latest_message %}
... ...
colab/urls.py
... ... @@ -22,7 +22,7 @@ urlpatterns = patterns(&#39;&#39;,
22 22 url(r'^user/hash/(?P<emailhash>[\w]+)$',
23 23 'colab.views.userprofile.by_emailhash'),
24 24  
25   - url(r'^user/(?P<username>[\w]+)/edit/?$',
  25 + url(r'^user/(?P<username>[\w@+.-]+)/edit/?$',
26 26 'colab.views.userprofile.update', name='user_profile_update'),
27 27  
28 28 url(r'^search/$', 'colab.views.other.search', name='search'),
... ...
colab/views/other.py
... ... @@ -7,6 +7,7 @@ Created by Sergio Campos on 2012-01-10.
7 7 """
8 8  
9 9 from django.template import RequestContext
  10 +from django.http import HttpResponseNotAllowed
10 11 from django.shortcuts import render_to_response
11 12 from django.utils.translation import ugettext as _
12 13  
... ... @@ -31,12 +32,21 @@ def home(request):
31 32  
32 33  
33 34 def search(request):
34   - if request.method == 'GET':
35   - query = request.GET.get('q')
36   - sort = request.GET.get('o')
37   - type_ = request.GET.get('type')
38   - page_number = int(request.GET.get('p', 1))
  35 + if request.method != 'GET':
  36 + return HttpResponseNotAllowed(['GET'])
  37 +
  38 + query = request.GET.get('q')
  39 + sort = request.GET.get('o')
  40 + type_ = request.GET.get('type')
  41 + try:
  42 + page_number = int(request.GET.get('p', '1'))
  43 + except ValueError:
  44 + page_number = 1
  45 +
  46 + try:
39 47 results_per_page = int(request.GET.get('per_page', 16))
  48 + except ValueError:
  49 + results_per_page = 16
40 50  
41 51 filters = {
42 52 'Type': type_,
... ...
solr-conf/schema.xml
... ... @@ -465,7 +465,7 @@
465 465 <field name="Type" type="string" indexed="true"
466 466 stored="true" required="true" multiValued="false"/>
467 467 <field name="Title" type="text_ptbr" indexed="true"
468   - stored="true" required="false" multiValued="false"/>
  468 + stored="true" required="true" multiValued="false"/>
469 469 <field name="Description" type="text_ptbr" indexed="true"
470 470 stored="true" required="false" multiValued="false"/>
471 471 <field name="Creator" type="string" indexed="true"
... ...
update-deploy.sh 0 → 100755
... ... @@ -0,0 +1,19 @@
  1 +#!/bin/bash
  2 +
  3 +cd /usr/local/src/colab/
  4 +hg pull
  5 +hg up
  6 +rm -fR dist/
  7 +python setup.py sdist
  8 +
  9 +if [[ $1 == 'deps' ]] ; then
  10 + # com dependencias
  11 + /usr/local/django/colab/bin/pip install dist/*.gz -U
  12 +else
  13 + # sem dependencias
  14 + /usr/local/django/colab/bin/pip install dist/*.gz -U --no-deps
  15 +fi
  16 +
  17 +/usr/local/django/colab/bin/python colab/manage.py syncdb
  18 +/usr/local/django/colab/bin/python colab/manage.py migrate
  19 +touch /usr/local/django/colab/wsgi/colab.wsgi
... ...