Merge remote branch 'aaronw/bug601_blank_comments'
authorElrond <elrond+mediagoblin.org@samba-tng.org>
Sat, 15 Oct 2011 12:59:52 +0000 (14:59 +0200)
committerElrond <elrond+mediagoblin.org@samba-tng.org>
Sat, 15 Oct 2011 12:59:52 +0000 (14:59 +0200)
* aaronw/bug601_blank_comments:
  Make Comment posted! translatable.
  Update english translation file.
  Added a check to prevent blank messages from being posted.

Conflicts:
mediagoblin/i18n/en/LC_MESSAGES/mediagoblin.po

13 files changed:
docs/source/about.rst [moved from docs/source/about_mediagoblin.rst with 53% similarity]
docs/source/codebase.rst
docs/source/contributinghowto.rst [deleted file]
docs/source/deploying.rst [moved from docs/source/deploymenthowto.rst with 77% similarity]
docs/source/foreword.rst
docs/source/help.rst [new file with mode: 0644]
docs/source/index.rst
docs/source/theming.rst [moved from docs/source/theminghowto.rst with 55% similarity]
docs/source/vision.rst [deleted file]
mediagoblin/app.py
mediagoblin/i18n/en/LC_MESSAGES/mediagoblin.po
mediagoblin/templates/mediagoblin/user_pages/media.html
mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html

similarity index 53%
rename from docs/source/about_mediagoblin.rst
rename to docs/source/about.rst
index 71d8b89c2eab8c9d39cf4c515e9547b9658cbd26..1a2df80986b032d566cfa16fc1730e6407d463bb 100644 (file)
@@ -1,6 +1,6 @@
-=================
- GNU MediaGoblin
-=================
+=======================
About GNU MediaGoblin
+=======================
 
 .. contents:: Sections
    :local:
@@ -9,55 +9,63 @@
 What is GNU MediaGoblin
 =======================
 
-In 2008 a number of free software developers and activists gathered at
-the FSF to attempt to answer the question "What should software
-freedom look like on the participatory web?" Their answer, the 
-`Franklin Street Statement <http://autonomo.us/2008/07/franklin-street-statement/>`_, 
-has lead to the development of  `autonomo.us <http://autonomo.us/>`_
-community, and  free software projects including `Identi.ca <http://identi.ca/>`_ 
-and `Libre.fm <http://libre.fm/>`_. 
+In 2008, a number of free software developers and activists gathered
+at the FSF to attempt to answer the question "What should software
+freedom look like on the participatory web?" Their answer, the
+`Franklin Street Statement`_ has lead to the development of
+`autonomo.us`_ community, and free software projects including
+`Identi.ca`_ and `Libre.fm`_.
+
+.. _Franklin Street Statement: http://autonomo.us/2008/07/franklin-street-statement/
+.. _autonomo.us: http://autonomo.us/
+.. _identi.ca: http://identi.ca/
+.. _Libre.fm: http://libre.fm/
 
 Identi.ca and Libre.fm address the need for micro-blogging and music
 sharing services and software that respect users' freedom and
-autonomy. GNU MediaGoblin emerges from this milieu to create a
+autonomy.  GNU MediaGoblin emerges from this milieu to create a
 platform for us to share photos in an environment that respects our
-freedom and independence. In the future MediaGoblin will include
+freedom and independence.  In the future MediaGoblin will include
 support other media, like video, and provide tools to facilitate
 collaboration on media projects.
 
+
 Why Build GNU MediaGoblin
 =========================
 
-The Internet is designed--and works best--as a complex and endlessly
-resilient network. When key services and media outlets are
+The Internet is designed---and works best---as a complex and endlessly
+resilient network.  When key services and media outlets are
 concentrated in centralized platforms, the network becomes less useful
-and increasingly fragile. As always, the proprietary nature of these
+and increasingly fragile.  As always, the proprietary nature of these
 systems, hinders users ability to develop, extend, and understand
 their software; however, in the case of network services it also means
 that users must forfeit control of their data to the service
-providers. 
+providers.
 
 Therefore, we believe that network services must be federated to avoid
 centralization and that everyone ought to have control over their
-data. In support of this, we've decided to help build the tools to
-make these kinds of services possible. We hope you'll join us, both as
-users and as contributors. 
+data.  In support of this, we've decided to help build the tools to
+make these kinds of services possible.  We hope you'll join us, both
+as users and as contributors.
+
 
 Who Contributes to the Project
 ==============================
 
-You do! 
+You do!
 
 We are free software activists and folks who have worked on a variety
 of other projects including: Libre.fm, GNU Social, Status.net, Miro,
-Miro Community, and OpenHatch among others. We're programmers,
-musicians, writers, and painters. We're friendly and dedicated to
+Miro Community, and OpenHatch among others.  We're programmers,
+musicians, writers, and painters.  We're friendly and dedicated to
 software and network freedom.
 
+
 How Can I Participate?
 ======================
 
-See `Get Involved <http://mediagoblin.org/join/>`_ on the website..
+See `Get Involved <http://mediagoblin.org/join/>`_ on the website.  We
+eagerly look forward to seeing you!
 
 
 How is GNU MediaGoblin licensed?
@@ -65,7 +73,7 @@ How is GNU MediaGoblin licensed?
 
 GNU MediaGoblin software is released under an AGPLv3 license.
 
-See the ``COPYING`` file in the source repository for details.
+See the ``COPYING`` file in the root of the source for details.
 
 
 Is MedaGobilin an official GNU project?  What does that mean?
@@ -73,7 +81,8 @@ Is MedaGobilin an official GNU project?  What does that mean?
 
 MediaGoblin is an official GNU project! This status means that we the
 meet the GNU Project's rigorous standards for free software.  To find
-out more about what that means, check out `the GNU site <http://gnu.org/>`_.
+out more about what that means, check out the `GNU website`_.
 
 Please feel free to contact us with further questions!
 
+.. _GNU website: http://gnu.org/
index ba5f1e469acfabfe9d0b3427452b459c0cc7a650..28d73802880c845c070ee439549be7d71e81b308 100644 (file)
@@ -45,7 +45,7 @@ Software Stack
 
 * Web application
 
-  * `Paste Deploy <http://pythonpaste.org/deploy/>`_ and 
+  * `Paste Deploy <http://pythonpaste.org/deploy/>`_ and
     `Paste Script <http://pythonpaste.org/script/>`_: we'll use this for
     configuring and launching the application
 
@@ -83,22 +83,21 @@ After you've run buildout, you're faced with the following directory
 tree::
 
     mediagoblin/
-    |- mediagoblin/              #source code
+    |- mediagoblin/              # source code
     |  |- tests/
     |  |- templates/
     |  |- auth/
     |  \- submit/
-    |- docs/                     #documentation
+    |- docs/                     # documentation
     |
-    |        #the below directories are generated by
-    |        #buildout.
+    |  # the below directories are generated by buildout.
     |
-    |- bin/                      #scripts
+    |- bin/                      # scripts
     |- develop-eggs/
     |- eggs/
     |- mediagoblin.egg-info/
     |- parts/
-    |- user_dev/                 #sessions, etc
+    |- user_dev/                 # sessions, etc
 
 
 As you can see, all the code for GNU MediaGoblin is in the
@@ -108,7 +107,7 @@ Here are some interesting files and what they do:
 
 :routing.py: maps url paths to views
 :views.py:   views handle http requests
-:models.py:  holds the mongodb schemas---these are the data structures 
+:models.py:  holds the mongodb schemas---these are the data structures
              we're working with
 
 You'll notice that there are several sub-directories: tests,
@@ -122,9 +121,3 @@ templates, auth, submit, ...
 and media item submission.  If you look in these directories, you'll
 see they have their own ``routing.py``, ``view.py``, and
 ``models.py`` in addition to some other code.
-
-
-Recipes
-=======
-
-FIXME - write this
diff --git a/docs/source/contributinghowto.rst b/docs/source/contributinghowto.rst
deleted file mode 100644 (file)
index 8eaff5e..0000000
+++ /dev/null
@@ -1,215 +0,0 @@
-.. _contributing-howto-chapter:
-
-===================================
-HOWTO Contribute to GNU MediaGoblin
-===================================
-
-.. contents:: Sections
-   :local:
-
-.. _join-the-community-section:
-
-Join the community!
-===================
-
-We're **really** glad that you want to join the MediaGoblin community!
-
-There are a variety of ways to help and support MediaGoblin and to
-join the team.  If you want to code, great, if not, even better!
-MediaGoblin interested contributors in many different roles: users,
-system administrators, technical writers, testers, evangelists,
-UI/UX and graphics designers, cheerleaders, and dreamers. 
-
-This document provides an overview of different ways you can get
-involved with MediaGoblin along with instructions for getting
-started. There is some obvious overlap with `the "join" page on
-mediagoblin.org <http://mediagoblin.org/pages/join.html>`_ at present.
-
-Hang out with the MediaGoblin folk
-----------------------------------
-
-MediaGoblin has a `discussion listserv <http://lists.mediagoblin.org/listinfo/devel>`_, 
-and an IRC (``#mediagoblin``) channel on `freenode.net <http://freenode.com>`_.
-
-Don't be afraid to drop by and say "Hi!" And, if you're looking for
-something to do, just ask: there's always work to be done. 
-
-File Bugs / Triage Bugs
------------------------
-
-Issue reports are critical for all projects. Identified bugs give
-developers a basis for beginning work, and providing an idea of what
-features and issues are most important to users and the overall
-usability of the software. If you identify errors, flaws, unexpected
-behaviors, or deficits that impede use, file a bug. 
-
-See the section on `filing bugs <#filing-bugs>`_ for more information on how to file the best
-and most useful bug reports. 
-
-If you want to contribute to MediaGoblin and don't know where to
-start, look at the `bug database <http://bugs.foocorp.net/projects/mediagoblin/issues>`_
-as a starting point. 
-
-See the section on `bug triage <#triage-bugs>`_ for suggestions on how
-to most effectively triage and approach the issue queue.
-
-Write/Fix Code
---------------
-
-If you are a coder and you would like to write code, the `repository <https://gitorious.org/mediagoblin>`_ 
-is hosted on `gitorious <https://gitorious.org/>`_. Clone or fork the
-repository and start poking around. Become familiar with this `manual </>`_ 
-for an overview of how the software works and is used. Consider the
-`contributor wiki <http://wiki.mediagoblin.org/>`_ for more
-information about the project, our preferred methods, and guides for
-developing MediaGoblin. We even have tips on *becoming* a coder and
-we're willing to help!
-
-Send Encouragement, Spread the Word
------------------------------------
-
-Sometimes, a nice word, simple encouragement, and interest in the work
-we're doing is enough to inspire a tizzy of productive work. Just a
-bit more interest and encouragement can even make the difference
-between a complete feature and limited functionality; between a
-completed milestone and lost momentum. 
-
-Similarly, MediaGoblin, and the movement for free network services, is
-always in need of encouragement. Use free network services, understand
-the `principals <http://autonomo.us/2008/07/franklin-street-statement/>`_ 
-behind the movement, be able to articulate the benefits of free
-network services and the problems with psudo-free applications that
-don't respect the users' freedom. 
-
-Write a blog post, post a status update, drop by the `listserv <http://mediagoblin.org/join/>`_
-or join ``#mediagoblin`` on freenode.net and let us know.
-
-Participate in MediaGoblin
-==========================
-
-We're still working on project infrastructure.  We hope to have the
-bits in place for these additional things to do in the coming months:
-
-Become a User
--------------
-
-We're building GNU MediaGoblin for us and for you but really
-you're one of us and I am you and we are we and GNU
-MediaGoblin is the walrus.
-
-Sign up for an account.  Use the service.  Relish in the
-thought that this service comes with a heaping side of Freedom
-and you can salt and pepper it to your liking.
-
-
-Help Others
------------
-
-Have you spent time with GNU MediaGoblin?  If so, your
-experience and wisdom are invaluable and you're the best
-person we can think of to help other users with their
-questions.
-
-
-Run your own MediaGoblin Instance
----------------------------------
-
-Are there things about our instance you want to change?  Are
-there things about other instances you wish were different?
-Want to test upcoming changes?  Want to create patches to
-implement things you need?  That's great---you can run your
-own instance!
-
-For more information on deploying your own instance, see
-the `Deployment HOWTO </deploymenthowto.html>`_ 
-
-.. _translating:
-
-Translate MediaGoblin
----------------------
-
-If you know English and another language and feel comfortable
-translating elements of the interface or even the documentation,
-we'd love to have help translating the software and resources. 
-
-Create a Theme
---------------
-
-MedaGoblin development is premised on the idea that the entire
-interface for the platform be completely theme-able. If you have a
-design or theming background, consider developing themes for
-MediaGoblin. New themes help test the theming system, provide
-attractive and appealing interfaces for prospective users. If you want
-to start a new theme but don't know where to start, touch base with
-the development community on the list or in the IRC channel for more
-information.
-
-.. _filing-bugs:
-
-File Bugs
-=========
-
-MediaGoblin uses a bug tracker called `Redmine <http://www.redmine.org>`_.
-
-Our instance is located at `<http://bugs.foocorp.net/projects/mediagoblin>`_.
-
-The most useful bug reports have the following components: 
-
-1. A short summary that's 60 characters or less.
-
-2. A description that describes the issue (bug, feature request, ...)
-   as well as the context. Consider: 
-
-   * If you think you've found a bug, can you reproduce it in a
-     controlled environment?  Is the issue specific to a browser,
-     computer, image, media type, or other dimension? All data helps. 
-
-   * If you're submitting a feature request, are there related links
-     on the Internet for more information?  Would you be willing to
-     help implement or test the feature?
-
-That's it! 
-
-The better the issue report, the easier it is to address the bug, and
-the more likely that the developers will be able to resolve the
-issue. If someone has questions about the bug report, they may reach
-out to the reporter directly. 
-
-If you get a response after a couple of weeks, find someone on IRC.
-
-.. _triage-bugs:
-
-Triage Bugs
-===========
-
-The triage process involves reviewing bugs, removing duplicates,
-validating that the issues described are reproducible, ensuring that
-the exact behavior is properly documented, diagnosing the cause of
-each issue, and working with developers to ensure that critical bugs
-get addressed. In many cases, developers do this kind of work as a
-matter of course, but one need not be able to code in order to help
-working with bugs.
-
-To triage bugs, go to the `bug tracker <http://bugs.foocorp.net/projects/mediagoblin>`_ 
-and begin reviewing the open issues. If you are able, attempt to: 
-
-- ensure that one or two people in addition to the initial reporter
-  have been able to reproduce the issue. 
-
-- document the issue more clearly. If you had any trouble reproducing
-  the issue, provide any elucidating information that you can to help
-  others solve the problem more effectively.
-  
-- find a way to resolve the problem or provide a workaround.
-
-For help, instructions, and suggestions be in touch with the
-development community on the list or in the IRC channel for more
-information. With many eyes, all bugs are shallow. 
-
-How to Get Help with MediaGoblin
-================================
-
-The usual channels, the IRC channel, the listserv, the bug tracker,
-are all great ways to be in touch with us. Check the `web site <http://mediagoblin.org/pages/join.html>`_
-for more specific contact information. 
-
similarity index 77%
rename from docs/source/deploymenthowto.rst
rename to docs/source/deploying.rst
index f3093a6046ee835521c8df9a7b9ee71fd1bf041a..db92257a51a3a0ebced52815379594770ee389d9 100644 (file)
@@ -1,8 +1,8 @@
-.. _deployment-howto:
+.. _deployment-chapter:
 
-==================
- Deployment HOWTO
-==================
+=======================
+ Deploying MediaGoblin
+=======================
 
 Step 1: Write code that can be deployed.
 
index c525d002444a23a2f933c33a7f99056d70b93038..835a7e7a7366e18ef79d511c0e0be03110fe0d41 100644 (file)
@@ -5,25 +5,15 @@ Foreword
 About the MediaGoblin Manual
 ============================
 
-Welcome to the GNU MediaGoblin manual. This document targets several
-classes of users, including: 
+This is the user manual for MediaGoblin.  It covers how to set up and
+configure MediaGoblin and the kind of information that someone running
+MediaGoblin would need to know.
 
-* users who would like to try the software locally, 
-* systems administrators who want to deploy and administer the
-  software in "production environments," and
-* anyone who wants to learn how MediaGoblin works. 
+We have other documentation at:
 
-Some information relevant to the MediaGoblin community members,
-including how to get involved (We want and love contributors!) To join
-as a contributor please see the following pages:
-
-* http://mediagoblin.org/pages/join.html for general "join us" information
+* http://mediagoblin.org/join/ for general "join us" information
 * http://wiki.mediagoblin.org/ for our contributor-focused wiki
 
-If you suspect that documentation on http://docs.mediagoblin.org is
-out of date, it might be. The documentation is updated regularly and
-the "living" version of this resource resides in the ``mediagoblin``
-repository with the project's source code the ``docs/`` directory. 
 
 Improving the MediaGobiin Manual
 ================================
@@ -31,16 +21,15 @@ Improving the MediaGobiin Manual
 There are a few ways---please pick whichever method is convenient for
 you!
 
-1. Write up a bug report in the bug tracker at http://bugs.foocorp.net/projects/mediagoblin/issues
+1. Write up a bug report in the bug tracker
 2. Tell someone on IRC ``#mediagoblin`` on Freenode.
-3. Send an email to Will ``willg at bluesock dot org``, or Sam at
-   ``sam@cyborginstitute.com``
+3. Write an email to the devel mailing list.
+
+Information about the bugtracker, IRC and the mailing list is all on
+the `join page`_.
 
-When you tell us about your issue, please let us know:
+.. _join page: http://mediagoblin.org/join/
 
-* where you are looking (in git?  url of the web-page?)
-* what the issue is, and 
-* your thoughts on how to resolve it. 
+Patches are the most helpful, but even feedback on what you think
+could be improved and how to improve it is also helpful.
 
-We hope these materials are useful and we look forward to any and all
-feedback. 
diff --git a/docs/source/help.rst b/docs/source/help.rst
new file mode 100644 (file)
index 0000000..34d4f37
--- /dev/null
@@ -0,0 +1,16 @@
+==================================
+ How to Get Help with MediaGoblin
+==================================
+
+There are a couple of ways to get help with problems with MediaGoblin:
+
+1. ask for help on IRC
+
+2. ask for help on the devel mailing list
+
+Details for both IRC and the mailing list are on the `join page`_ of the
+website.
+
+.. _join page: http://mediagoblin.org/join/
+
+
index 93b2a942f4ecdd8329bff41c941e503dbaa0c1fc..088b5359ec9b6b60ba63c522c1bc1a0c81202d20 100644 (file)
@@ -12,12 +12,11 @@ Table of Contents:
    :maxdepth: 2
 
    foreword
-   about_mediagoblin
-   deploymenthowto
-   theminghowto
-   contributinghowto
+   about
+   deploying
+   help
+   theming
    codebase
-   vision
 
 
 Indices and tables
similarity index 55%
rename from docs/source/theminghowto.rst
rename to docs/source/theming.rst
index 7b40685fcb5e628a01bfd1455f10f504ec5ffcb9..2f4fcb4c41fa7053bcf4134327989e41d454fd1e 100644 (file)
@@ -1,8 +1,8 @@
-.. _theming-howto:
+.. _theming-chapter:
 
-===============
- Theming HOWTO
-===============
+=====================
+ Theming MediaGoblin
+=====================
 
 We haven't implemented the necessary scaffolding to allow for theming
 yet.  Thus, this chapter is a stub.
diff --git a/docs/source/vision.rst b/docs/source/vision.rst
deleted file mode 100644 (file)
index fad248d..0000000
+++ /dev/null
@@ -1,142 +0,0 @@
-=========================================
- Design Document: GNU MediaGoblin vision
-=========================================
-
-.. Note::
-
-   When we get a wiki, this will get moved there.  It's here for now
-   mostly because we didn't have a better place for it.
-
-.. Note::
-
-   By the time you read this, it's very likely it'll be out of date.
-
-
-This document attempts to describe the envisioned workflow of GNU
-MediaGoblin, from a structural standpoint.  For now, *nothing* in this
-document is probably the eventual, final way that things will work.
-Eventually as things come to exist, this document will hopefully be
-refactored to describe how things *do* work.
-
-This documented on hopes, dreams, rainbows, and unicorns.  And it will
-come to fulfillment through a lot of hard work.  Your hard work and my
-hard work.
-
-
-Look and feel
-=============
-
-Default look and feel
----------------------
-
-Mairin Duffy made mockups for something called Design Hub.  That
-project did a number of things differently than the way we intend to
-go, but it's probably a good idea to steal a good number of ideas from
-here.
-
-http://mairin.wordpress.com/2010/03/09/another-design-hub-mockup/
-
-
-User profile mockup
--------------------
-
-Here's an ascii art mockup on how things might look for a user's page::
-
-      _____
-     |_( )_|   USER NAME
-     |  |  |
-     |_/_\_|
-    
-        Recent artwork:
-       ___________________       ___________________________
-      |  ___   ___   ___  |     |_About_User_Name___________|
-      | |pic| |pic| |pic| |     |                           |
-      | |___| |___| |___| |     | Some sort of self-        |
-      |  ___   ___   ___  |     | description probably goes |
-    < | |pic| |pic| |pic| | >   | here                      |
-      | |___| |___| |___| |     |                           |
-      |  ___   ___   ___  |     |                           |
-      | |pic| |pic| |pic| |     |                           |
-      | |___| |___| |___| |     |                           |
-      |___________________|     |___________________________|
-    
-                                 ___________________________ 
-        Recent favorites:       |_Recent_activity___________|
-       ___________________      | New picture: DragonFace   |
-      |  ___   ___   ___  |     |                4/2/2010   |
-      | |pic| |pic| |pic| |     |---------------------------|
-      | |___| |___| |___| |     | Sup yall this is some kind|
-      |  ___   ___   ___  |     | of mini blogpost.  Maybe  |
-    < | |pic| |pic| |pic| | >   | the interface will allow  |
-      | |___| |___| |___| |     | for this?                 |
-      |  ___   ___   ___  |     |___________________________|
-      | |pic| |pic| |pic| |     
-      | |___| |___| |___| |      ___________________________ 
-      |___________________|     |_External_comments_here____|
-                                | Dang!  This stuff rocks   |
-                                |          - Joe 4/2/2010   |
-                                |---------------------------|
-                                | Nice job on the dragon    |
-                                |         - Morgan 4/2/2010 |
-                                '---------------------------'
-
-So there's this type of interface that puts a lot of different types
-of info on the same screen.  I'm not sure that I like it.  It's
-possible we'll go with something much more minimalist.  Maybe we'll go
-with something "tabbed" the way statusnet / http://identi.ca is on
-user pages.
-
-It's possible that we could support multiple profile styles here,
-and you could load whatever profile style you want as set by user
-preferences?
-
-
-Uploading mockup
-----------------
-
-Here's an uploading mockup::
-
-     Upload an image
-    
-     [ Title                                 ]
-    
-     Upload: [                      ] [Browse]
-      ___________________________________________
-     |                                           |
-     |                                           |
-     |                   o0O                     |
-     |                  o   '                    |
-     |                   o_.'                    |
-     |                                           |
-     |             Uploading... OK               | <-,
-     |              Resizing... OK               |   |
-     |                                           | Area replaced w/ resized
-     |                                           | image when done
-     |___________________________________________|
-              ________________
-     License |_CC BY-SA_____|V|
-      ___________________________________________
-     | Description goes here.                    |
-     | You can type it up in here and everything |
-     | and it'll show up under the image.        |
-     |                                           |
-     | Possibly we should allow some kind of     |
-     | markup... maybe markdown?                 |
-     '___________________________________________'
-    
-      __________________________________________
-     |> Advanced                                |
-      ------------------------------------------
-
-
-Customizability
----------------
-
-General site theming customizability is pretty easy!  Since we're
-using `Jinja <http://jinja.pocoo.org/docs/>`_ we can just set up
-user-overriding directories.
-
-We'll also figure out some sort of way to provide theming "packages",
-eventually.
-
-
index 0f25a4e517b67a8b3ef050bc71bea51614164b7e..a72b9306a9cc846abd3a19375564bd487049ac57 100644 (file)
@@ -21,7 +21,8 @@ import routes
 from webob import Request, exc
 
 from mediagoblin import routing, middleware
-from mediagoblin.tools import common, translate, template, response
+from mediagoblin.tools import common, translate, template
+from mediagoblin.tools.response import render_404
 from mediagoblin.tools import request as mg_request
 from mediagoblin.mg_globals import setup_globals
 from mediagoblin.init.celery import setup_celery_from_config
@@ -150,7 +151,7 @@ class MediaGoblinApp(object):
 
             # Okay, no matches.  404 time!
             request.matchdict = {}  # in case our template expects it
-            return response.render_404(request)(environ, start_response)
+            return render_404(request)(environ, start_response)
 
         controller = common.import_component(route_match['controller'])
         request.start_response = start_response
index 5f1b95bc792be68c6bdc981a3e77908a86929689..c6ed08d7ab1f63b8ca003fc50476c0f18d20916b 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2011-10-03 21:04-0400\n"
+"POT-Creation-Date: 2011-10-03 21:29-0400\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
index 433f74dcac73dcd96dd2ed97bd6c86fe3f2d1a41..2c1b7c825d6903bc7918ff72b0abf4b6e39e256e 100644 (file)
       <br />
       <h3>{% trans %}Comments{% endtrans %}</h3>
 
-      {% if request.user %}
-        <form action="{{ request.urlgen('mediagoblin.user_pages.media_post_comment', 
-                                         user= media.uploader().username,
-                                         media=media._id) }}" method="POST">
-          {{ wtforms_util.render_divs(comment_form) }}
-          <div class="form_submit_buttons">
-            <input type="submit" value="{% trans %}Post comment!{% endtrans %}" class="button" />
-           {{ csrf_token }}
-          </div>
-        </form>
-      {% endif %}
+      <p><a href="#comment_form">{% trans %}Post a comment{% endtrans %}</a></p>
 
       {% if comments %}
         {% for comment in comments %}
           </div>
         {% endfor %}
 
+        {% if request.user %}
+          <a name="comment_form"></a>
+          <form action="{{ request.urlgen('mediagoblin.user_pages.media_post_comment', 
+                                           user= media.uploader().username,
+                                           media=media._id) }}" method="POST">
+            {{ wtforms_util.render_divs(comment_form) }}
+            <div class="form_submit_buttons">
+              <input type="submit" value="{% trans %}Post comment!{% endtrans %}" class="button" />
+                {{ csrf_token }}
+            </div>
+          </form>
+        {% endif %}
+
         {{ render_pagination(request, pagination, 
              request.urlgen('mediagoblin.user_pages.media_home',
              user = media.uploader().username,
index dd6923a9420e493ae9d4463a4fa2860ab91a5dd3..8da90f79119cef2df81efa8ed6c6052f5d07a145 100644 (file)
@@ -41,7 +41,7 @@
          
       <p class="delete_checkbox_box">
        {{ form.confirm }}
-       {{ _(form.confirm.label.text) }}
+       <label for="{{ (form.confirm.name) }}">{{ _(form.confirm.label.text) }}</label>
       </p>
 
       <div class="form_submit_buttons">