Commit 2a0c929982eeb3b1530754728b1963698f8908f1

Authored by Luan
2 parents 635e8c39 fb7babbc

Merge branch 'bootstrap' into haystack

requirements.txt
1   -#https://www.djangoproject.com/download/1.6b1/tarball/
  1 +#https://www.djangoproject.com/download/1.6b4/tarball/
2 2 Django==1.5.2
3 3 South==0.8.1
4 4 psycopg2==2.5.1
... ... @@ -25,11 +25,14 @@ git+https://github.com/TracyWebTech/django-revproxy/
25 25 django-conversejs
26 26  
27 27 # Feedzilla (planet) and deps
28   -https://bitbucket.org/lorien/feedzilla/get/tip.tar.gz # Temporarily work around
  28 +feedzilla==0.22
29 29 django-common
30 30 django-taggit
31   -django-taggit-templatetags
32 31 feedparser
33 32 lxml
34 33 grab
35 34 transliterate
  35 +
  36 +# Diazo
  37 +diazo
  38 +#lxml
... ...
src/colab/custom_settings.py
... ... @@ -40,11 +40,11 @@ INSTALLED_APPS = INSTALLED_APPS + (
40 40 'colab.deprecated',
41 41 'planet',
42 42 'accounts',
  43 + 'proxy',
43 44  
44 45 # Feedzilla and deps
45 46 'feedzilla',
46 47 'taggit',
47   - 'taggit_templatetags',
48 48 'common',
49 49 )
50 50  
... ...
src/colab/urls.py
... ... @@ -43,10 +43,5 @@ urlpatterns = patterns('',
43 43 # Uncomment the next line to enable the admin:
44 44 url(r'^colab/admin/', include(admin.site.urls)),
45 45  
46   - # Trac URLs
47   - url(u'^(?P<path>(?:admin|wiki|changeset|newticket|ticket|chrome|timeline|roadmap|browser|report|tags|query|about|prefs|log|attachment|raw-attachment).*)$',
48   - 'revproxy.views.proxy', {'base_url': settings.COLAB_TRAC_URL}),
49   -
50   - # Jenkins URLs
51   - url(u'^ci/(?P<path>.*)$', 'revproxy.views.proxy', {'base_url': settings.COLAB_CI_URL}),
  46 + url(r'^', include('proxy.urls')),
52 47 )
... ...
src/planet/templates/feedzilla/base.html
1 1 {% extends 'base.html' %}
2   -{% load i18n feedzilla_tags taggit_extras %}
  2 +{% load i18n feedzilla_tags %}
3 3  
4 4 {% block main-content %}
5 5 <h2>{% trans 'Planet' %}</h2>
... ...
src/proxy/__init__.py 0 → 100644
src/proxy/admin.py 0 → 100644
... ... @@ -0,0 +1,3 @@
  1 +from django.contrib import admin
  2 +
  3 +# Register your models here.
... ...
src/proxy/diazo/trac.xml 0 → 100644
... ... @@ -0,0 +1,45 @@
  1 +<rules
  2 + xmlns="http://namespaces.plone.org/diazo"
  3 + xmlns:css="http://namespaces.plone.org/diazo/css"
  4 + xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  5 +
  6 + <replace css:theme="#trac-css" content="//head/link" />
  7 + <replace css:theme="#trac-js" content="//head/script" />
  8 +
  9 + <before css:theme-children="#main-content" css:content="#main" />
  10 +
  11 + <after theme-children="/html/head">
  12 + <style>
  13 + .navbar .nav ul { font-size: 14px; text-align: left; padding: 5px 0; }
  14 + .navbar .nav li { border: 0; padding: 0; white-space: normal; display: list-item;}
  15 + :link:not(.btn),
  16 + :visited:not(.btn) { border: 0; color: rgb(66, 139, 202); }
  17 + :link, :visited { border: 0; }
  18 + h1 { font-size: 24px; margin: 0.15em 1em 0.5em 0px; }
  19 + h2 { font-size: 20px }
  20 + h3 { font-size: 16px }
  21 + h4 { font-size: 14px }
  22 + input[type="checkbox"], input[type="radio"] { margin: 0 4px; }
  23 + fieldset { padding: 1em; margin: 1em 0; border: 1px solid rgb(215, 215, 215); }
  24 + label { font-weight: 400; }
  25 + legend { margin-bottom: 0; width: auto; }
  26 + input, textarea, select { margin: 2px; }
  27 +
  28 + .wikitoolbar,
  29 + .wikitoolbar:before,
  30 + .wikitoolbar:after {
  31 + -moz-box-sizing: content-box;
  32 + -webkit-box-sizing: content-box;
  33 + }
  34 + .wikitoolbar :link,
  35 + .wikitoolbar :visited {
  36 + border-width: 1px;
  37 + border-style: solid;
  38 + border-color: #fff #fff #fff #ccc;
  39 + -moz-box-sizing: content-box;
  40 + -webkit-box-sizing: content-box;
  41 + }
  42 + </style>
  43 + </after>
  44 +
  45 +</rules>
... ...
src/proxy/models.py 0 → 100644
... ... @@ -0,0 +1,3 @@
  1 +from django.db import models
  2 +
  3 +# Create your models here.
... ...
src/proxy/templates/proxy/trac.html 0 → 100644
... ... @@ -0,0 +1,7 @@
  1 +{% extends "base.html" %}
  2 +
  3 +{% block head %}
  4 + <placeholder id="trac-css"/>
  5 + <placeholder id="trac-js"/>
  6 + {{ block.super }}
  7 +{% endblock %}
... ...
src/proxy/tests.py 0 → 100644
... ... @@ -0,0 +1,3 @@
  1 +from django.test import TestCase
  2 +
  3 +# Create your tests here.
... ...
src/proxy/urls.py 0 → 100644
... ... @@ -0,0 +1,14 @@
  1 +
  2 +from django.conf.urls import patterns, include, url
  3 +
  4 +from .views import TracProxyView, JenkinsProxyView
  5 +
  6 +
  7 +urlpatterns = patterns('',
  8 + # Trac URLs
  9 + url(r'^(?P<path>(?:admin|wiki|changeset|newticket|ticket|chrome|timeline|roadmap|browser|report|tags|query|about|prefs|log|attachment|raw-attachment|diff).*)$',
  10 + TracProxyView.as_view()),
  11 +
  12 + # Jenkins URLs
  13 + url(r'^ci/(?P<path>.*)$', JenkinsProxyView.as_view()),
  14 +)
... ...
src/proxy/views.py 0 → 100644
... ... @@ -0,0 +1,26 @@
  1 +
  2 +import os
  3 +
  4 +from django.conf import settings
  5 +
  6 +from revproxy.views import ProxyView
  7 +
  8 +
  9 +CWD = os.path.abspath(os.path.dirname(__file__))
  10 +DIAZO_RULES_DIR = os.path.join(CWD, 'diazo')
  11 +
  12 +
  13 +class TracProxyView(ProxyView):
  14 + base_url = settings.COLAB_TRAC_URL
  15 + add_remote_user = settings.REVPROXY_ADD_REMOTE_USER
  16 + diazo_theme_template = 'proxy/trac.html'
  17 + diazo_rules = os.path.join(DIAZO_RULES_DIR, 'trac.xml')
  18 + html5 = True
  19 +
  20 +
  21 +class JenkinsProxyView(ProxyView):
  22 + base_url = settings.COLAB_CI_URL
  23 + add_remote_user = settings.REVPROXY_ADD_REMOTE_USER
  24 + diazo_theme_template = 'base.html'
  25 + diazo_rules = os.path.join(DIAZO_RULES_DIR, 'jenkins.xml')
  26 + html5 = True
... ...
src/static/css/screen.css
1 1  
2   -
3 2 body {
4   - padding-top: 70px;
  3 + padding-top: 57px;
5 4 }
6 5  
7   -
8 6 /* Header */
9 7  
10 8 #header-searchbox {
11   - width: 140px;
  9 + width: 200px;
12 10 }
13 11  
14 12 #header-hr {
... ... @@ -16,7 +14,7 @@ body {
16 14 }
17 15  
18 16 .navbar-default .navbar-brand,
19   -.navbar a.dropdown-toggle {
  17 +.navbar a.dropdown-toggle.user {
20 18 padding: 0;
21 19 margin-top: 5px;
22 20 margin-left: 10px;
... ...
src/templates/base.html
... ... @@ -2,7 +2,8 @@
2 2 {% load i18n browserid conversejs gravatar %}
3 3 <html>
4 4 <head>
5   - <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
  5 + {% block head %}
  6 + <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
6 7  
7 8 <link rel="stylesheet" href="{{ STATIC_URL }}third-party/bootstrap/css/bootstrap.css" type="text/css" media="screen, projection" />
8 9  
... ... @@ -41,13 +42,14 @@
41 42 </script>
42 43 {% endblock %}
43 44  
  45 + {% endblock %}
44 46 </head>
45 47  
46 48 <body class="container">
47 49 {% browserid_info %}
48   - <div class="row">
49   - </div>
50 50  
  51 +
  52 + {% block navbar %}
51 53 <nav class="navbar navbar-default navbar-fixed-top" role="navigation">
52 54 <div class="container">
53 55 <div class="navbar-header">
... ... @@ -66,19 +68,22 @@
66 68 <a href="{% url 'thread_list' %}">{% trans "Discussions" %}</a>
67 69 </li>
68 70 <li>
69   - <a href="http://colab.interlegis.gov.br/wiki" target="_blank">{% trans "Wiki" %}</a>
70   - </li>
71   - <li>
72   - <a href="http://listas.interlegis.gov.br/mailman/listinfo/"
73   - target="_blank">{% trans "Contribute" %}</a>
74   - </li>
75   - <li>
76   - <a href="http://colab.interlegis.leg.br/newticket"
77   - target="_blank">{% trans "Report a problem" %}</a>
78   - </li>
79   - <li>
80 71 <a href="{% url "feedzilla_index" %}">{% trans "Planet" %}</a>
81 72 </li>
  73 + <li class="dropdown">
  74 + <a href="#" class="dropdown-toggle" data-toggle="dropdown">{% trans "Contribute" %} <b class="caret"></b></a>
  75 + <ul class="dropdown-menu">
  76 + <li><a href="/wiki">Wiki</a></li>
  77 + {% if user.is_active %}
  78 + <li><a href="/newticket">{% trans "New Ticket" %}</a></li>
  79 + {% endif %}
  80 + <li><a href="/timeline">{% trans "Timeline" %}</a></li>
  81 + <li><a href="/roadmap">{% trans "Roadmap" %}</a></li>
  82 + <li><a href="/browser">{% trans "Browse Source" %}</a></li>
  83 + <li><a href="/report">{% trans "View Tickets" %}</a></li>
  84 + <li><a href="/tags">{% trans "Tags" %}</a></li>
  85 + </ul>
  86 + </li>
82 87 </ul>
83 88  
84 89 <ul class="nav navbar-nav navbar-right">
... ... @@ -87,7 +92,7 @@
87 92 <li>{% browserid_login text='Login' next=request.path %}</li>
88 93 {% else %}
89 94 <li id="user-menu" class="dropdown">
90   - <a href="#" class="dropdown-toggle" data-toggle="dropdown">{% gravatar user.email 40 %} <b class="caret"></b>&nbsp;&nbsp;</a>
  95 + <a href="#" class="dropdown-toggle user" data-toggle="dropdown">{% gravatar user.email 40 %} <b class="caret"></b>&nbsp;&nbsp;</a>
91 96 <ul class="dropdown-menu" role="menu">
92 97 <li>
93 98 <div class="wrapper">
... ... @@ -119,6 +124,7 @@
119 124 </div>
120 125 </div>
121 126 </nav>
  127 + {% endblock %}
122 128  
123 129 {% block messages %}
124 130 {% for message in messages %}
... ... @@ -135,8 +141,8 @@
135 141  
136 142 {% block header %}{% endblock %}
137 143  
138   - <div>
139   - {% block main-content %} {% endblock %}
  144 + <div id="main-content">
  145 + {% block main-content %}{% endblock %}
140 146 </div>
141 147  
142 148 <div class="row">&nbsp;</div>
... ...