Dot-Notation for Users.username
authorElrond <elrond+mediagoblin.org@samba-tng.org>
Mon, 14 Nov 2011 14:39:57 +0000 (15:39 +0100)
committerElrond <elrond+mediagoblin.org@samba-tng.org>
Mon, 5 Dec 2011 20:08:57 +0000 (21:08 +0100)
14 files changed:
mediagoblin/auth/lib.py
mediagoblin/auth/views.py
mediagoblin/db/models.py
mediagoblin/decorators.py
mediagoblin/edit/views.py
mediagoblin/gmg_commands/users.py
mediagoblin/listings/views.py
mediagoblin/submit/views.py
mediagoblin/templates/mediagoblin/base.html
mediagoblin/templates/mediagoblin/edit/edit_profile.html
mediagoblin/templates/mediagoblin/user_pages/media.html
mediagoblin/tests/test_submission.py
mediagoblin/tests/test_tests.py
mediagoblin/user_pages/views.py

index cf4a2b8331557f8e20b93c35fafebc26cbab5141..ee1ce12db3bf1c5e7175e15b8b07fdd201a130ad 100644 (file)
@@ -105,7 +105,7 @@ def send_verification_email(user, request):
     """
     rendered_email = render_template(
         request, 'mediagoblin/auth/verification_email.txt',
-        {'username': user['username'],
+        {'username': user.username,
          'verification_url': EMAIL_VERIFICATION_TEMPLATE.format(
                 host=request.host,
                 uri=request.urlgen('mediagoblin.auth.verify_email'),
@@ -140,7 +140,7 @@ def send_fp_verification_email(user, request):
     """
     rendered_email = render_template(
         request, 'mediagoblin/auth/fp_verification_email.txt',
-        {'username': user['username'],
+        {'username': user.username,
          'verification_url': EMAIL_FP_VERIFICATION_TEMPLATE.format(
                 host=request.host,
                 uri=request.urlgen('mediagoblin.auth.verify_forgot_password'),
index d01861d1221137b383066950e088b6a97dccf20d..dab95b178a09e3d5aa94e08374601aadb984e0f9 100644 (file)
@@ -80,7 +80,7 @@ def register(request):
         if extra_validation_passes:
             # Create the user
             user = request.db.User()
-            user['username'] = username
+            user.username = username
             user['email'] = email
             user['pw_hash'] = auth_lib.bcrypt_gen_password_hash(
                 request.POST['password'])
@@ -98,7 +98,7 @@ def register(request):
             # message waiting for them to verify their email
             return redirect(
                 request, 'mediagoblin.user_pages.user_home',
-                user=user['username'])
+                user=user.username)
 
     return render_to_response(
         request,
@@ -186,7 +186,7 @@ def verify_email(request):
 
     return redirect(
         request, 'mediagoblin.user_pages.user_home',
-        user=user['username'])
+        user=user.username)
 
 
 def resend_activation(request):
@@ -224,7 +224,7 @@ def resend_activation(request):
         _('Resent your verification email.'))
     return redirect(
         request, 'mediagoblin.user_pages.user_home',
-        user=request.user['username'])
+        user=request.user.username)
 
 
 def forgot_password(request):
@@ -268,7 +268,7 @@ def forgot_password(request):
 
                 return redirect(
                     request, 'mediagoblin.user_pages.user_home',
-                    user=user['username'])
+                    user=user.username)
 
         # do not reveal whether or not there is a matching user
         return redirect(request, 'mediagoblin.auth.fp_email_sent')
index 265fe36d7f451cb27c41fb30bdd783a03655c956..4af996b88642fc666c9772956bb79a1172018e58 100644 (file)
@@ -268,12 +268,12 @@ class MediaEntry(Document):
         if self.get('slug'):
             return urlgen(
                 'mediagoblin.user_pages.media_home',
-                user=uploader['username'],
+                user=uploader.username,
                 media=self['slug'])
         else:
             return urlgen(
                 'mediagoblin.user_pages.media_home',
-                user=uploader['username'],
+                user=uploader.username,
                 media=unicode(self._id))
 
     def url_to_prev(self, urlgen):
@@ -286,7 +286,7 @@ class MediaEntry(Document):
                                                     '_id', ASCENDING).limit(1)
         if cursor.count():
             return urlgen('mediagoblin.user_pages.media_home',
-                          user=self.get_uploader()['username'],
+                          user=self.get_uploader().username,
                           media=unicode(cursor[0]['slug']))
 
     def url_to_next(self, urlgen):
@@ -300,7 +300,7 @@ class MediaEntry(Document):
 
         if cursor.count():
             return urlgen('mediagoblin.user_pages.media_home',
-                          user=self.get_uploader()['username'],
+                          user=self.get_uploader().username,
                           media=unicode(cursor[0]['slug']))
 
     def get_uploader(self):
index 269b0c2e03f5d573417a4e189787a7bc8cd13ffc..d6a054f83a3b7c4e9d2e15be42a949c155d37625 100644 (file)
@@ -40,7 +40,7 @@ def require_active_login(controller):
                 request.user.get('status') == u'needs_email_verification':
             return redirect(
                 request, 'mediagoblin.user_pages.user_home',
-                user=request.user['username'])
+                user=request.user.username)
         elif not request.user or request.user.get('status') != u'active':
             return exc.HTTPFound(
                 location="%s?next=%s" % (
index 673409bda6bd41dadda6482dad1e794971ddc610..61a61d4c1cb50a115ed600912f44f044518b2cf2 100644 (file)
@@ -147,7 +147,7 @@ def edit_attachments(request, media):
 def edit_profile(request):
     # admins may edit any user profile given a username in the querystring
     edit_username = request.GET.get('username')
-    if request.user['is_admin'] and request.user['username'] != edit_username:
+    if request.user['is_admin'] and request.user.username != edit_username:
         user = request.db.User.find_one({'username': edit_username})
         # No need to warn again if admin just submitted an edited profile
         if request.method != 'POST':
index b437e83944653a137308c95cc2146c9b7148d662..e8426272a52f2c180c1e7c96a2bba9c3fbc57f16 100644 (file)
@@ -50,7 +50,7 @@ def adduser(args):
     else:
         # Create the user
         entry = db.User()
-        entry['username'] = unicode(args.username.lower())
+        entry.username = unicode(args.username.lower())
         entry['email'] = unicode(args.email)
         entry['pw_hash'] = auth_lib.bcrypt_gen_password_hash(args.password)
         entry['status'] = u'active'
index 5a09de4350d33789e292f80c17fecb4c555f025a..6b83ffcf98439859e2693d0654de52623c2adf09 100644 (file)
@@ -86,7 +86,7 @@ def tag_atom_feed(request):
         feed.add(entry.get('title'),
             entry.get('description_html'),
             content_type='html',
-            author=entry.get_uploader()['username'],
+            author=entry.get_uploader().username,
             updated=entry.get('created'),
             url=entry.url_for_self(request.urlgen))
 
index 3def44ceeb773d7a189dd5595d5b204099b27a76..6beb6b18f40ea48e073e21697df7a793ede1fdbe 100644 (file)
@@ -127,7 +127,7 @@ def submit_start(request):
                 add_message(request, SUCCESS, _('Woohoo! Submitted!'))
 
                 return redirect(request, "mediagoblin.user_pages.user_home",
-                                user=request.user['username'])
+                                user=request.user.username)
             except InvalidFileType, exc:
                 submit_form.file.errors.append(
                     _(u'Invalid file type.'))
index 29639026573ce77a3d75b8398eee14aa5478576c..c06addd00814f9c4dd9b4d3dd1bda443fd32b170 100644 (file)
                 {# the following link should only appear when verification is needed #}
                 {% if request.user.status == "needs_email_verification" %}
                   <a href="{{ request.urlgen('mediagoblin.user_pages.user_home',
-                                              user=request.user['username']) }}"
+                                              user=request.user.username) }}"
                      class="button_action_highlight">
                     {% trans %}Verify your email!{% endtrans %}</a>
                 {% endif %}
 
                 <a href="{{ request.urlgen('mediagoblin.user_pages.user_home',
-                                            user= request.user['username']) }}">
-                  {{ request.user['username'] }}</a>
+                                            user= request.user.username) }}">
+                  {{ request.user.username }}</a>
 
                 (<a href="{{ request.urlgen('mediagoblin.auth.logout') }}">{% trans %}log out{% endtrans %}</a>)
               {% else %}
index bf8fe5c19e8503081533a9b047b8c992a0cfb8d7..2d5daa95f51e7eb014ea3716b4baa2fc00f48fb3 100644 (file)
 {% block mediagoblin_content %}
 
   <form action="{{ request.urlgen('mediagoblin.edit.profile') }}?username={{ 
-                                                     user['username'] }}"
+                                                     user.username }}"
         method="POST" enctype="multipart/form-data">
     <div class="grid_8 prefix_1 suffix_1 edit_box form_box">
       <h1>
-        {%- trans username=user['username'] -%}
+        {%- trans username=user.username -%}
           Editing {{ username }}'s profile
         {%- endtrans %}
       </h1>
index b811d161d6740ee83466b9f69acdf69a01cd4040..7fc60c3fb09bdfe8e86e5a20abbe47b13233109b 100644 (file)
@@ -80,8 +80,8 @@
             {% endautoescape %}
           <img src="{{ request.staticdirect('/images/icon_comment.png') }}" />
           <a href="{{ request.urlgen('mediagoblin.user_pages.user_home',
-                          user = comment_author['username']) }}">
-              {{ comment_author['username'] }}</a>
+                          user = comment_author.username) }}">
+              {{ comment_author.username }}</a>
             {% trans %}at{% endtrans %} 
             <a href="{{ request.urlgen('mediagoblin.user_pages.media_home.view_comment',
               comment = comment._id,
index 7ea6c4bcd7a9ae0c411dc545480f530248a211c9..7c3727451abfb7358fbf7c61b017d99a04730915 100644 (file)
@@ -170,7 +170,7 @@ class TestSubmission:
         response = self.test_app.post(
             request.urlgen('mediagoblin.user_pages.media_confirm_delete',
                            # No work: user=media.uploader().username,
-                           user=self.test_user['username'],
+                           user=self.test_user.username,
                            media=media._id),
             # no value means no confirm
             {})
@@ -190,7 +190,7 @@ class TestSubmission:
         response = self.test_app.post(
             request.urlgen('mediagoblin.user_pages.media_confirm_delete',
                            # No work: user=media.uploader().username,
-                           user=self.test_user['username'],
+                           user=self.test_user.username,
                            media=media._id),
             {'confirm': 'y'})
 
index bc5f9a8d956047654a63161d52d2ebdae5d2486f..27098e05153561945f300c9ef9a6a08fad873d61 100644 (file)
@@ -27,7 +27,7 @@ def test_get_test_app_wipes_db():
     assert mg_globals.database.User.find().count() == 0
 
     new_user = mg_globals.database.User()
-    new_user['username'] = u'lolcat'
+    new_user.username = u'lolcat'
     new_user['email'] = u'lol@cats.example.org'
     new_user['pw_hash'] = u'pretend_this_is_a_hash'
     new_user.save()
index 779394c705db7b3cc163ff4b9733fe3418b3c7c5..ad33479bb4b9bb9132e90ed8b12b3c23392a6e4f 100644 (file)
@@ -59,7 +59,7 @@ def user_home(request, page):
 
     user_gallery_url = request.urlgen(
         'mediagoblin.user_pages.user_gallery',
-        user=user['username'])
+        user=user.username)
 
     return render_to_response(
         request,
@@ -173,7 +173,7 @@ def media_confirm_delete(request, media):
 
     if request.method == 'POST' and form.validate():
         if form.confirm.data is True:
-            username = media.get_uploader()['username']
+            username = media.get_uploader().username
 
             # Delete all files on the public storage
             delete_media_files(media)