Skip to content
This repository has been archived by the owner on Jun 16, 2022. It is now read-only.

Commit

Permalink
+ Improved context code
Browse files Browse the repository at this point in the history
Tane Piper <digitalspaghetti@gmail.com>
  • Loading branch information
Tane Piper committed Apr 13, 2008
1 parent fa2e892 commit 8a67a83
Show file tree
Hide file tree
Showing 11 changed files with 113 additions and 46 deletions.
12 changes: 12 additions & 0 deletions core/RemoveSelfLinks.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import re

class RemoveSelfLinks:
def process_response(self, request, response):
if response.status_code == 200:
link = request.META['PATH_INFO']
response.content = \
re.sub( \
r'<a([^>]+)href="%s"([^>]*)>([^<]+)</a>' % link, \
r'<span \1 \2>\3</span>', \
response.content)
return response
68 changes: 68 additions & 0 deletions core/contexts.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
import datetime
from random import randint

from django.template import Context
from core.json_encode import json_encode

from project.models import Project
from repo.models import Repo
from member.models import Member

def json_output(request):

if request.user.is_anonymous():
member = "null"
else :
try:
member = Member.members.filter(user = request.user).values('openid', 'member_displayname', 'member_homepage', 'member_gtalk', 'member_msn', 'member_jabber', 'member_bio', 'member_lat', 'member_lng')
except:
member = "null"

site_options = {
'site_name': Project.project_options.site_name,
'site_owner': Project.project_options.site_owner,
'repo_directory': Project.project_options.repository_directory,
}

json_vars = json_encode(
{
'user': member,
'site_options': site_options,
}
)
return dict([
('json_vars', json_vars),
])

def site_options(request):
return dict([
('hgf_site_name', Project.project_options.site_name),
('hgf_site_owner', Project.project_options.site_owner),
('hgf_logged_in_user', request.user.username),
])


def project_stats(request):
"""
This function returns the number of projects
"""
num_projects = Project.projects.all().count()
past24 = datetime.datetime.now() - datetime.timedelta(days=1)

return dict([
('hgf_num_projects', num_projects),
('hgf_num_projects_last_24_hours', Project.projects.filter(modified_date__gt=past24).count()),
# Needs fixed as throws error on fresh install
#('hgf_random_project', [if num_projects: Project.objects.all()[randint(0, num_projects-1)] else: return {'error':'There are currently no projects'}]),
])

def repo_stats(request):
"""
This function returns the number of repos
"""
past24 = datetime.datetime.now() - datetime.timedelta(days=1)

return dict([
('hgf_num_repos', Repo.objects.all().count()),
('hgf_num_repos_last_24_hours', Repo.objects.filter(local_creation_date__gt=past24).count()),
])
27 changes: 0 additions & 27 deletions project/contexts.py

This file was deleted.

3 changes: 1 addition & 2 deletions project/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@
# End caching stuff

def get_project_list(request):
member = Member.members.get(user__exact = request.user)
projects = [project for project in Project.projects.all() if project.get_permissions(request.user).view_project]
project_news = ProjectNews.news_items.filter(frontpage=True, authorised=True).order_by('-pub_date')[:2]
#user_can_request_to_join = ProjectPermissionSet.objects.filter(project=project, user__id=request.user.id).count()<1 and request.user.is_authenticated() and request.user != project.user_owner
Expand All @@ -41,7 +40,7 @@ def get_project_list(request):
'view_title': "All Projects",
'projects': projects,
'project_news': project_news,
'json_output': json_encode({'projects' : projects, 'user' : member}),
'json_output': json_encode({'projects' : projects,}),
#'user_can_request_to_join':user_can_request_to_join
}, context_instance=RequestContext(request)
)
Expand Down
15 changes: 0 additions & 15 deletions repo/contexts.py

This file was deleted.

2 changes: 1 addition & 1 deletion templates/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
<script type="text/javascript" src="/static/js/ui.tabs.js"></script>

<script type="text/javascript">
var hgfront = {% autoescape off %}{{json_output}}{% endautoescape %}
var hgfront = {% autoescape off %}{{json_vars}}{% endautoescape %}
</script>

<script type="text/javascript" src="/static/js/hgfront.js"></script>
Expand Down
Empty file.
2 changes: 2 additions & 0 deletions templates/project/js/project_list.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,5 @@ $(document).ready(function(){
.tablesorter({widthFixed: true, widgets: ['zebra']})
.tablesorterPager({container: $("#pager"), positionFixed: false});
});

var view = {% autoescape off %}{{json_output}}{% endautoescape %}
13 changes: 13 additions & 0 deletions templates/project/project_edit.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{% extends "base.html" %}

{% block title %}{{block.super}} Edit Project{% endblock %}

{% block tabs %}
<ul class="tabs-navigation flora">
<li><a href="#project-edit"><span>Edit Project</span></a></li>
</ul>
{% endblock tabs %}

{% block main_content %}
{% include "project/project_edit_ajax.html" %}
{% endblock %}
15 changes: 15 additions & 0 deletions templates/project/project_edit_ajax.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{% block main_content %}
{{form.messages.errors}}
<form id="project-edit-form" action="{% url project-edit project.project_id %}" method="post">
<table>{{form}}</table>
<input type="submit" />
</form>
{% endblock main_content %}

{% block scripts %}
{{block.super}}
<script type="text/javascript" src="/static/js/jquery.validate.min.js"></script>
<script type="text/javascript">
{% include "project/js/project_edit.js" %}
</script>
{% endblock scripts %}
2 changes: 1 addition & 1 deletion urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

urlpatterns = patterns('',
url(r'^admin/', include('core.django_docs.urls')),
url(r'^admin/',include('django.contrib.admin.urls'), name='admin'),
url(r'^admin/',include('django.contrib.admin.urls')),
url(r'^login/', 'django.contrib.auth.views.login', {'template_name':'login.html'}, name='login-screen'),
url(r'^static/(?P<path>.*)$','django.views.static.serve',{'document_root':settings.HGFRONT_STATIC_PATH}, name='static-content'),
url(r'^p/',include('project.urls'), name='projects-root'),
Expand Down

0 comments on commit 8a67a83

Please sign in to comment.