Changes in / [d604f81:7fb28a0]
- Files:
-
- 4 added
- 2 deleted
- 18 edited
Legend:
- Unmodified
- Added
- Removed
-
.gitignore
r09b7c26 rc386673 3 3 django-treebeard-1.1/ 4 4 django-treebeard-1.1.tar.gz 5 local_settings.py6 local_settings_after.py5 remit/settings/local.py 6 remit/settings/local_after.py 7 7 database_settings 8 8 client/settings.py -
remit/finance_core/migrations/0004_socket_auth_password.py
r38843de r75ccc48 3 3 from south.db import db 4 4 from south.v2 import DataMigration 5 from django.contrib.auth.hashers import UNUSABLE_PASSWORD 5 import django.contrib.auth.hashers 6 6 from django.db import models 7 from django.db.models import F 7 8 8 9 class Migration(DataMigration): … … 11 12 "Write your forwards methods here." 12 13 issues = orm['auth.user'].objects.filter(password__in=['', 'SocketAuth']) 13 issues.update(password=UNUSABLE_PASSWORD) 14 try: # pre-1.6 15 new_password = django.contrib.auth.hashers.UNUSABLE_PASSWORD 16 except AttributeError: # post-1.6 17 # See https://code.djangoproject.com/ticket/20079 for details on the change. 18 # Ideally, we'd use a different suffix per user, but I don't want 19 # to deal with that, and this is probably acceptably secure. 20 # 21 # Also, it seems a little unlikely that this code will actually 22 # run -- it requires an install that hasn't already run the 23 # migration (notably, esp.mit.edu has already), but *does* have 24 # accounts with SocketAuth passwords. 25 prefix = django.contrib.auth.hashers.UNUSABLE_PASSWORD_PREFIX 26 suffix = django.contrib.auth.hashers.get_random_string(django.contrib.auth.hashers.UNUSABLE_PASSWORD_SUFFIX_LENGTH) 27 new_password = prefix + F("password") + prefix + suffix 28 issues.update(password=new_password) 14 29 15 30 def backwards(self, orm): -
remit/finance_core/urls.py
red4ccc7 rff623c3 1 from django.conf.urls .defaults import *1 from django.conf.urls import patterns, include, url 2 2 import finance_core.views 3 3 -
remit/manage.py
r92ca60e r5c334f6 1 #!/usr/bin/python 2 from django.core.management import execute_manager 3 try: 4 import settings # Assumed to be in the same directory. 5 except ImportError: 6 import sys 7 sys.stderr.write("Error: Can't find the file 'settings.py' in the directory containing %r. It appears you've customized things.\nYou'll have to run django-admin.py, passing it your settings module.\n(If the file settings.py does indeed exist, it's causing an ImportError somehow.)\n" % __file__) 8 sys.exit(1) 1 #!/usr/bin/env python 2 import os 3 import sys 9 4 10 5 if __name__ == "__main__": 11 execute_manager(settings) 6 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings") 7 8 from django.core.management import execute_from_command_line 9 10 execute_from_command_line(sys.argv) -
remit/remit_templates/base.html
rc3e751d r695d358 1 {% load url from future %} 1 2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 3 … … 14 15 <body> 15 16 <ul class='tab-navigation'> 16 <li{% ifequal pagename "homepage" %} class='selected'{% endifequal %}><a href="{% url homepage%}">Home</a></li>17 <li{% ifequal pagename "request_reimbursement" %} class='selected'{% endifequal %}><a href="{% url request_reimbursement%}">Request reimbursement</a></li>18 <li{% ifequal pagename "list_requests" %} class='selected'{% endifequal %}><a href="{% url list_requests%}">List requests</a></li>17 <li{% ifequal pagename "homepage" %} class='selected'{% endifequal %}><a href="{% url "homepage" %}">Home</a></li> 18 <li{% ifequal pagename "request_reimbursement" %} class='selected'{% endifequal %}><a href="{% url "request_reimbursement" %}">Request reimbursement</a></li> 19 <li{% ifequal pagename "list_requests" %} class='selected'{% endifequal %}><a href="{% url "list_requests" %}">List requests</a></li> 19 20 {% if perms.finance_core.use_reporting %} 20 <li{% ifequal pagename "reporting" %} class='selected'{% endifequal %}><a href="{% url reporting%}">Reporting</a></li>21 <li{% ifequal pagename "reporting" %} class='selected'{% endifequal %}><a href="{% url "reporting" %}">Reporting</a></li> 21 22 {% endif %} 22 23 {% if user.is_staff %} 23 <li><a href='{% url admin:index%}'>Django Admin</a></li>24 <li><a href='{% url "admin:index" %}'>Django Admin</a></li> 24 25 {% endif %} 25 26 </ul> … … 33 34 <p>Welcome, <span class='username'>{{user.username}}</span>.</p> 34 35 {% endif %} 35 <p><a href='{% url logout%}'>Logout</a></p>36 <p><a href='{% url "logout" %}'>Logout</a></p> 36 37 </div> 37 38 {% endif %} -
remit/remit_templates/index.html
r0671644 r695d358 1 1 {% extends "base.html" %} 2 {% load url from future %} 2 3 3 4 {% block title %}Welcome to Remit{% endblock %} … … 12 13 <ul> 13 14 {% if user.is_anonymous %} 14 <li><a href='{% url login%}'>Login</a></li>15 <li><a href='{% url "login" %}'>Login</a></li> 15 16 {% endif %} 16 <li><a href="{% url request_reimbursement%}">Request reimbursement</a></li>17 <li><a href="{% url list_requests%}">List requests</a></li>17 <li><a href="{% url "request_reimbursement" %}">Request reimbursement</a></li> 18 <li><a href="{% url "list_requests" %}">List requests</a></li> 18 19 {% if perms.finance_core.use_reporting %} 19 <li><a href="{% url reporting%}">Reporting</a></li>20 <li><a href="{% url "reporting" %}">Reporting</a></li> 20 21 {% endif %} 21 22 {% if user.is_staff %} 22 <li><a href='{% url admin:index%}'>Django admin interface</a></li>23 <li><a href='{% url "admin:index" %}'>Django admin interface</a></li> 23 24 {% endif %} 24 25 {% if user.is_authenticated %} 25 <li><a href='{% url logout%}'>Logout</a></li>26 <li><a href='{% url "logout" %}'>Logout</a></li> 26 27 {% endif %} 27 28 </ul> -
remit/remit_templates/registration/logged_out.html
r732d9eb r695d358 1 1 {% extends "base.html" %} 2 {% load url from future %} 2 3 3 4 {% block title %}Logged out of Remit{% endblock %} … … 6 7 <h2>Logged out of Remit</h2> 7 8 8 <p>You have been logged out of Remit. You can return to the <a href='{% url homepage %}'>homepage</a> or <a href='{% url login%}'>login again</a>.</p>9 <p>You have been logged out of Remit. You can return to the <a href='{% url "homepage" %}'>homepage</a> or <a href='{% url "login" %}'>login again</a>.</p> 9 10 {% endblock %} -
remit/remit_templates/registration/login.html
r1ba734f r695d358 1 1 {% extends "base.html" %} 2 {% load url from future %} 2 3 3 4 {% block title %}Log in to Remit{% endblock %} … … 11 12 {% endif %} 12 13 13 <form method="post" action="{% url django.contrib.auth.views.login%}">14 <form method="post" action="{% url "django.contrib.auth.views.login" %}"> 14 15 {% csrf_token %} 15 16 <table> -
remit/remit_templates/vouchers/ReimbursementRequest_review.html
ra5ef930 r695d358 1 1 {% extends "base.html" %} 2 {% load url from future %} 2 3 {% load misc %} 3 4 … … 123 124 {% else %} 124 125 {% if perms.vouchers.change_reimbursementrequest %} 125 <p>Optionally, <a href='{% url admin:vouchers_reimbursementrequest_changerr.pk %}'>change this request first</a>.</p>126 <p>Optionally, <a href='{% url "admin:vouchers_reimbursementrequest_change" rr.pk %}'>change this request first</a>.</p> 126 127 {% endif %} 127 128 <form method="post" action=""> -
remit/remit_templates/vouchers/reimbursementrequest_list.html
rf6f7aff r695d358 1 1 {% extends "base.html" %} 2 {% load url from future %} 2 3 {% load misc %} 3 4 … … 58 59 <td> 59 60 <input type='checkbox' name='select' value='{{object.pk}}'{%ifin object.pk selected_ids %} checked='checked'{%endifin%}></input> 60 <a href='{% url review_requestobject.pk %}'>{{ object.pk }}</a>61 <a href='{% url "review_request" object.pk %}'>{{ object.pk }}</a> 61 62 </td> 62 63 <td> 63 <em><a href='{% url review_requestobject.pk %}'>{{ object.name }}</a></em>64 <em><a href='{% url "review_request" object.pk %}'>{{ object.name }}</a></em> 64 65 {% if object.documentation %}<br /><a href='{{object.documentation.backing_file.url}}'>(view docs)</a>{%endif%} 65 66 </td> -
remit/urls.py
rf5bebab r21360c8 1 from django.conf.urls .defaults import *1 from django.conf.urls import patterns, include, url 2 2 from django.contrib.auth.views import login, logout 3 3 … … 6 6 # Necessary views 7 7 import finance_core.views 8 from util.shortcuts import TemplateViewWithContext 8 9 9 10 # Uncomment the next two lines to enable the admin: … … 13 14 urlpatterns = patterns('', 14 15 # Example: 15 (r'^$', 'django.views.generic.simple.direct_to_template', {'template': 'index.html', 'extra_context': { 'pagename':'homepage' }, },'homepage'),16 url(r'^$', TemplateViewWithContext.as_view(template_name='index.html', extra_context={ 'pagename':'homepage' }), name='homepage'), 16 17 (r'^vouchers/', include('vouchers.urls')), 17 18 (r'^finance_core/', include('finance_core.urls')), -
remit/util/add_accounts
r8132e8c rf298bd7 1 #!/usr/bin/ python1 #!/usr/bin/env python 2 2 import sys 3 3 import os -
remit/util/add_gl_accounts.py
r0df317c rf298bd7 1 #!/usr/bin/ python1 #!/usr/bin/env python 2 2 3 3 import sys -
remit/util/setup.py
ra1e4224 rf298bd7 1 #!/usr/bin/ python1 #!/usr/bin/env python 2 2 import sys 3 3 import os -
remit/util/shortcuts.py
rf7dd5e7 r21360c8 2 2 from django.template import RequestContext, Template 3 3 from django.template.loader import get_template 4 from django.views.generic.base import TemplateView 5 from django.views.generic.list import ListView 4 6 5 7 def get_403_response(request, errmsg=None, **extra_context): … … 8 10 page = tmpl.render(ctx, ) 9 11 return HttpResponseForbidden(page) 12 13 14 class ListViewWithContext(ListView): 15 extra_context = {} 16 17 # I believe .queryset will work out-of-the-box 18 19 def get_context_data(self, **kwargs): 20 context = super(ListViewWithContext,self).get_context_data(**kwargs) 21 context.update(self.extra_context) 22 return context 23 24 25 class TemplateViewWithContext(TemplateView): 26 extra_context = {} 27 28 def get_context_data(self, **kwargs): 29 context = super(TemplateViewWithContext,self).get_context_data(**kwargs) 30 print context 31 context.update(self.extra_context) -
remit/util/templatetags/latex.py
rdcaa9c0 rf298bd7 1 #!/usr/bin/python2 1 # Inspired by and partially copied from ESP's backslash stuff 3 2 -
remit/vouchers/urls.py
r6e43384 rff623c3 1 from django.conf.urls.defaults import * 2 from django.views.generic.list_detail import object_list 1 from django.conf.urls import patterns, include, url 3 2 from django.contrib.auth.decorators import permission_required 4 3 import vouchers.views -
remit/vouchers/views.py
r9dee7f6 r21360c8 2 2 from vouchers.models import ReimbursementRequest, Documentation 3 3 from finance_core.models import BudgetTerm, BudgetArea 4 from util.shortcuts import get_403_response 4 from util.shortcuts import get_403_response, ListViewWithContext 5 5 6 6 from django.contrib.auth.decorators import user_passes_test, login_required … … 17 17 from django.template import Context, Template 18 18 from django.template.loader import get_template 19 from django.views.generic import list_detail20 19 21 20 import decimal … … 428 427 429 428 # GENERATE THE REQUEST 430 return list_detail.object_list( 431 http_request, 429 callable = ListViewWithContext.as_view( 432 430 queryset=qs, 433 431 extra_context={ … … 444 442 }, 445 443 ) 444 return callable(http_request)
Note: See TracChangeset
for help on using the changeset viewer.