Implement a Developer list view of all Documents.
Patch by: Todd Larsen
Review by: to-be-reviewed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/app/soc/templates/soc/site/docs/list/all.html Wed Oct 01 05:15:29 2008 +0000
@@ -0,0 +1,31 @@
+{% extends "soc/base.html" %}
+{% comment %}
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+{% endcomment %}
+{% load forms_helpers %}
+{% block page_title %}
+Site: Documents List
+{% endblock %}
+{% block header_title %}
+Documents List
+{% endblock %}
+{% block body %}
+<p>
+<p>
+{% block instructions %}
+List of Documents in Google Open Source Programs.
+{% endblock %}
+</p>
+{% include list_main %}
+</p>
+{% endblock %}
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/app/soc/templates/soc/site/docs/list/docs_heading.html Wed Oct 01 05:15:29 2008 +0000
@@ -0,0 +1,8 @@
+<tr align="left">
+ <th>Path</th>
+ <th>Title</th>
+ <th>Partial Path</th>
+ <th>Linkname</th>
+ <th>Created</th>
+ <th>Modified</th>
+</tr>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/app/soc/templates/soc/site/docs/list/docs_row.html Wed Oct 01 05:15:29 2008 +0000
@@ -0,0 +1,14 @@
+<tr class="off" onmouseover="this.className='on'" onmouseout="this.className='off'"
+onclick="document.location.href='/site/docs/edit/{{ data_element.partial_path }}/{{ data_element.link_name }}'" name="name">
+ <td align="right">
+ <div class="title">
+ <a class="noul"
+ href="/site/docs/edit/{{ data_element.partial_path }}/{{ data_element.link_name }}">{{ data_element.partial_path}}/{{ data_element.link_name }}</a>
+ </div>
+ </td>
+ <td><div class="title">{{ data_element.title }}</div></td>
+ <td><div class="partialpath">{{ data_element.partial_path }}</div></td>
+ <td><div class="linkname">{{ data_element.link_name }}</div></td>
+ <td><div class="created">{{ data_element.created }}</div></td>
+ <td><div class="modified">{{ data_element.modified }}</div></td>
+</tr>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/app/soc/views/site/docs/list.py Wed Oct 01 05:15:29 2008 +0000
@@ -0,0 +1,72 @@
+#!/usr/bin/python2.5
+#
+# Copyright 2008 the Melange authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""Developer views for listing Documents.
+"""
+
+__authors__ = [
+ '"Todd Larsen" <tlarsen@google.com>',
+ ]
+
+
+from soc.logic import document
+from soc.views import simple
+from soc.views.helpers import list_helpers
+from soc.views.helpers import response_helpers
+
+import soc.models.document
+
+
+DEF_SITE_DOCS_LIST_ALL_TMPL = 'soc/site/docs/list/all.html'
+
+def all(request, template=DEF_SITE_DOCS_LIST_ALL_TMPL):
+ """Show a list of all Documents (limit rows per page).
+
+ Args:
+ request: the standard Django HTTP request object
+ template: the "sibling" template (or a search list of such templates)
+ from which to construct an alternate template name (or names)
+
+ Returns:
+ A subclass of django.http.HttpResponse which either contains the form to
+ be filled out, or a redirect to the correct view in the interface.
+ """
+ # create default template context for use with any templates
+ context = response_helpers.getUniversalContext(request)
+
+ alt_response = simple.getAltResponseIfNotDeveloper(request,
+ context=context)
+ if alt_response:
+ return alt_response
+
+ offset = request.GET.get('offset')
+ limit = request.GET.get('limit')
+
+ offset, limit = list_helpers.getListParemeters(offset=offset, limit=limit)
+
+ docs = document.getWorksForOffsetAndLimit(
+ offset=offset, limit=limit, cls=soc.models.document.Document)
+
+ list_templates = {'list_main': 'soc/list/list_main.html',
+ 'list_pagination': 'soc/list/list_pagination.html',
+ 'list_row': 'soc/site/docs/list/docs_row.html',
+ 'list_heading': 'soc/site/docs/list/docs_heading.html'}
+
+ context = list_helpers.setList(
+ request, context, docs,
+ offset=offset, limit=limit, list_templates=list_templates)
+
+ return response_helpers.respond(request, template, context)