--- a/src/ldt/ldt/ldt_utils/views/project.py Wed May 23 17:32:08 2012 +0200
+++ b/src/ldt/ldt/ldt_utils/views/project.py Fri May 25 17:47:20 2012 +0200
@@ -16,6 +16,7 @@
get_userlist_model)
from ldt.user.forms import PictureForm
import lxml.etree
+import math
@login_required
def create_ldt_view(request):
@@ -219,7 +220,10 @@
if status == 2:
url_templ = "ldt/ldt_utils/partial/publishedprojectslist.html"
else:
- url_templ = "ldt/ldt_utils/partial/projectslist.html"
+ if filter:
+ url_templ = "ldt/ldt_utils/partial/projectslist.html"
+ else:
+ return projects_page(request)
return render_to_response(url_templ,
{'projects': project_list, 'show_username':show_username,
@@ -238,7 +242,27 @@
ldt.unpublish()
return HttpResponse(simplejson.dumps({'res':True, 'ldt': {'id': ldt.id, 'state':ldt.state, 'ldt_id': ldt.ldt_id}}, ensure_ascii=False), mimetype='application/json')
-
def created_ldt(request):
return render_to_response('ldt/ldt_utils/save_done.html', context_instance=RequestContext(request))
+
+@login_required
+def projects_page(request):
+ num_page = 0
+ if request.POST.has_key('num_page'):
+ num_page = int(request.POST["num_page"])
+ project_nb, nb_pj_pages, project_list = get_projects_page(num_page, request.user)
+
+ is_gecko = ((request.META['HTTP_USER_AGENT'].lower().find("firefox")) > -1);
+ return render_to_response("ldt/ldt_utils/partial/projectslist.html",
+ {'projects': project_list, 'nb_pj_pages': nb_pj_pages, 'content_nb': project_nb, 'current_project_page':float(num_page),
+ 'is_gecko': is_gecko
+ },
+ context_instance=RequestContext(request))
+
+
+def get_projects_page(num_page, user):
+ project_nb = float(Project.safe_objects.filter(owner=user).count()) #@UndefinedVariable
+ nb_pj_pages = int(math.ceil(project_nb / settings.LDT_MAX_PROJECTS_PER_PAGE))
+ project_list = add_change_attr(user, Project.safe_objects.filter(owner=user)[(num_page*settings.LDT_MAX_PROJECTS_PER_PAGE):((num_page+1)*settings.LDT_MAX_PROJECTS_PER_PAGE)]) #@UndefinedVariable
+ return project_nb, nb_pj_pages, project_list