diff options
Diffstat (limited to 'mediagoblin')
30 files changed, 96 insertions, 119 deletions
diff --git a/mediagoblin/auth/lib.py b/mediagoblin/auth/lib.py index c5b046d2..8829995a 100644 --- a/mediagoblin/auth/lib.py +++ b/mediagoblin/auth/lib.py @@ -109,7 +109,7 @@ def send_verification_email(user, request): 'verification_url': EMAIL_VERIFICATION_TEMPLATE.format( host=request.host, uri=request.urlgen('mediagoblin.auth.verify_email'), - userid=unicode(user._id), + userid=unicode(user.id), verification_key=user.verification_key)}) # TODO: There is no error handling in place @@ -144,7 +144,7 @@ def send_fp_verification_email(user, request): 'verification_url': EMAIL_FP_VERIFICATION_TEMPLATE.format( host=request.host, uri=request.urlgen('mediagoblin.auth.verify_forgot_password'), - userid=unicode(user._id), + userid=unicode(user.id), fp_verification_key=user.fp_verification_key)}) # TODO: There is no error handling in place diff --git a/mediagoblin/auth/views.py b/mediagoblin/auth/views.py index 5b77c122..31f50fa6 100644 --- a/mediagoblin/auth/views.py +++ b/mediagoblin/auth/views.py @@ -90,7 +90,7 @@ def register(request): user.save(validate=True) # log the user in - request.session['user_id'] = unicode(user._id) + request.session['user_id'] = unicode(user.id) request.session.save() # send verification email @@ -125,7 +125,7 @@ def login(request): if user and user.check_login(request.form['password']): # set up login in session - request.session['user_id'] = unicode(user._id) + request.session['user_id'] = unicode(user.id) request.session.save() if request.form.get('next'): @@ -167,7 +167,7 @@ def verify_email(request): return render_404(request) user = request.db.User.find_one( - {'_id': ObjectId(unicode(request.GET['userid']))}) + {'id': ObjectId(unicode(request.GET['userid']))}) if user and user.verification_key == unicode(request.GET['token']): user.status = u'active' @@ -308,7 +308,7 @@ def verify_forgot_password(request): # check if it's a valid Id try: user = request.db.User.find_one( - {'_id': ObjectId(unicode(formdata_userid))}) + {'id': ObjectId(unicode(formdata_userid))}) except InvalidId: return render_404(request) diff --git a/mediagoblin/db/mixin.py b/mediagoblin/db/mixin.py index 3f395e90..9829bb6e 100644 --- a/mediagoblin/db/mixin.py +++ b/mediagoblin/db/mixin.py @@ -99,14 +99,14 @@ class MediaEntryMixin(object): @property def slug_or_id(self): - return (self.slug or self._id) + return (self.slug or self.id) def url_for_self(self, urlgen, **extra_args): """ Generate an appropriate url for ourselves - Use a slug if we have one, else use our '_id'. + Use a slug if we have one, else use our 'id'. """ uploader = self.get_uploader @@ -208,13 +208,13 @@ class CollectionMixin(object): @property def slug_or_id(self): - return (self.slug or self._id) + return (self.slug or self.id) def url_for_self(self, urlgen, **extra_args): """ Generate an appropriate url for ourselves - Use a slug if we have one, else use our '_id'. + Use a slug if we have one, else use our 'id'. """ creator = self.get_creator diff --git a/mediagoblin/db/sql/base.py b/mediagoblin/db/sql/base.py index ca0c8166..8aa9cc3a 100644 --- a/mediagoblin/db/sql/base.py +++ b/mediagoblin/db/sql/base.py @@ -42,28 +42,15 @@ class GMGQuery(Query): Session = scoped_session(sessionmaker(query_cls=GMGQuery)) -def _fix_query_dict(query_dict): - if '_id' in query_dict: - query_dict['id'] = query_dict.pop('_id') - - class GMGTableBase(object): query = Session.query_property() @classmethod - def find(cls, query_dict=None): - if query_dict is None: - query_dict = {} - - _fix_query_dict(query_dict) + def find(cls, query_dict): return cls.query.filter_by(**query_dict) @classmethod - def find_one(cls, query_dict=None): - if query_dict is None: - query_dict = {} - - _fix_query_dict(query_dict) + def find_one(cls, query_dict): return cls.query.filter_by(**query_dict).first() @classmethod diff --git a/mediagoblin/db/sql/models.py b/mediagoblin/db/sql/models.py index b48c1fbe..8315d05c 100644 --- a/mediagoblin/db/sql/models.py +++ b/mediagoblin/db/sql/models.py @@ -83,8 +83,6 @@ class User(Base, UserMixin): ## TODO # plugin data would be in a separate model - _id = SimpleFieldAlias("id") - def __repr__(self): return '<{0} #{1} {2} {3} "{4}">'.format( self.__class__.__name__, @@ -161,8 +159,6 @@ class MediaEntry(Base, MediaEntryMixin): # media_data # fail_error - _id = SimpleFieldAlias("id") - def get_comments(self, ascending=False): order_col = MediaComment.created if not ascending: @@ -359,8 +355,6 @@ class MediaComment(Base, MediaCommentMixin): get_author = relationship(User) - _id = SimpleFieldAlias("id") - class Collection(Base, CollectionMixin): __tablename__ = "core__collections" @@ -383,8 +377,6 @@ class Collection(Base, CollectionMixin): return CollectionItem.query.filter_by( collection=self.id).order_by(order_col) - _id = SimpleFieldAlias("id") - class CollectionItem(Base, CollectionItemMixin): __tablename__ = "core__collection_items" @@ -400,8 +392,6 @@ class CollectionItem(Base, CollectionItemMixin): get_media_entry = relationship(MediaEntry) - _id = SimpleFieldAlias("id") - __table_args__ = ( UniqueConstraint('collection', 'media_entry'), {}) diff --git a/mediagoblin/decorators.py b/mediagoblin/decorators.py index 90b36771..2955c927 100644 --- a/mediagoblin/decorators.py +++ b/mediagoblin/decorators.py @@ -75,9 +75,9 @@ def user_may_delete_media(controller): @wraps(controller) def wrapper(request, *args, **kwargs): uploader_id = request.db.MediaEntry.find_one( - {'_id': ObjectId(request.matchdict['media'])}).uploader + {'id': ObjectId(request.matchdict['media'])}).uploader if not (request.user.is_admin or - request.user._id == uploader_id): + request.user.id == uploader_id): return exc.HTTPForbidden() return controller(request, *args, **kwargs) @@ -94,7 +94,7 @@ def user_may_alter_collection(controller): creator_id = request.db.User.find_one( {'username': request.matchdict['user']}).id if not (request.user.is_admin or - request.user._id == creator_id): + request.user.id == creator_id): return exc.HTTPForbidden() return controller(request, *args, **kwargs) @@ -134,15 +134,15 @@ def get_user_media_entry(controller): media = request.db.MediaEntry.find_one( {'slug': request.matchdict['media'], 'state': u'processed', - 'uploader': user._id}) + 'uploader': user.id}) # no media via slug? Grab it via ObjectId if not media: try: media = request.db.MediaEntry.find_one( - {'_id': ObjectId(request.matchdict['media']), + {'id': ObjectId(request.matchdict['media']), 'state': u'processed', - 'uploader': user._id}) + 'uploader': user.id}) except InvalidId: return render_404(request) @@ -169,7 +169,7 @@ def get_user_collection(controller): collection = request.db.Collection.find_one( {'slug': request.matchdict['collection'], - 'creator': user._id}) + 'creator': user.id}) # Still no collection? Okay, 404. if not collection: @@ -194,10 +194,10 @@ def get_user_collection_item(controller): collection = request.db.Collection.find_one( {'slug': request.matchdict['collection'], - 'creator': user._id}) + 'creator': user.id}) collection_item = request.db.CollectionItem.find_one( - {'_id': request.matchdict['collection_item'] }) + {'id': request.matchdict['collection_item'] }) # Still no collection item? Okay, 404. if not collection_item: @@ -216,7 +216,7 @@ def get_media_entry_by_id(controller): def wrapper(request, *args, **kwargs): try: media = request.db.MediaEntry.find_one( - {'_id': ObjectId(request.matchdict['media']), + {'id': ObjectId(request.matchdict['media']), 'state': u'processed'}) except InvalidId: return render_404(request) diff --git a/mediagoblin/edit/lib.py b/mediagoblin/edit/lib.py index b4715134..aab537a0 100644 --- a/mediagoblin/edit/lib.py +++ b/mediagoblin/edit/lib.py @@ -17,7 +17,7 @@ def may_edit_media(request, media): """Check, if the request's user may edit the media details""" - if media.uploader == request.user._id: + if media.uploader == request.user.id: return True if request.user.is_admin: return True diff --git a/mediagoblin/edit/views.py b/mediagoblin/edit/views.py index 111f9ae8..6d938f7c 100644 --- a/mediagoblin/edit/views.py +++ b/mediagoblin/edit/views.py @@ -79,7 +79,7 @@ def edit_media(request, media): location=media.url_for_self(request.urlgen)) if request.user.is_admin \ - and media.uploader != request.user._id \ + and media.uploader != request.user.id \ and request.method != 'POST': messages.add_message( request, messages.WARNING, @@ -130,7 +130,7 @@ def edit_attachments(request, media): attachment_public_filepath \ = mg_globals.public_store.get_unique_filepath( - ['media_entries', unicode(media._id), 'attachment', + ['media_entries', unicode(media.id), 'attachment', public_filename]) attachment_public_file = mg_globals.public_store.get_file( @@ -278,7 +278,7 @@ def edit_collection(request, collection): # Make sure there isn't already a Collection with this title existing_collection = request.db.Collection.find_one({ - 'creator': request.user._id, + 'creator': request.user.id, 'title':request.form['title']}) if existing_collection and existing_collection.id != collection.id: @@ -301,7 +301,7 @@ def edit_collection(request, collection): collection=collection.slug) if request.user.is_admin \ - and collection.creator != request.user._id \ + and collection.creator != request.user.id \ and request.method != 'POST': messages.add_message( request, messages.WARNING, diff --git a/mediagoblin/plugins/api/views.py b/mediagoblin/plugins/api/views.py index a1b1bcac..7f93108e 100644 --- a/mediagoblin/plugins/api/views.py +++ b/mediagoblin/plugins/api/views.py @@ -108,7 +108,7 @@ def post_entry(request): process_media = registry.tasks[ProcessMedia.name] try: process_media.apply_async( - [unicode(entry._id)], {}, + [unicode(entry.id)], {}, task_id=task_id) except BaseException as e: # The purpose of this section is because when running in "lazy" @@ -119,7 +119,7 @@ def post_entry(request): # # ... not completely the diaper pattern because the # exception is re-raised :) - mark_entry_failed(entry._id, e) + mark_entry_failed(entry.id, e) # re-raise the exception raise diff --git a/mediagoblin/processing/__init__.py b/mediagoblin/processing/__init__.py index 6b2d50e2..e2bc1a13 100644 --- a/mediagoblin/processing/__init__.py +++ b/mediagoblin/processing/__init__.py @@ -38,7 +38,7 @@ class ProgressCallback(object): def create_pub_filepath(entry, filename): return mgg.public_store.get_unique_filepath( ['media_entries', - unicode(entry._id), + unicode(entry.id), filename]) @@ -93,7 +93,7 @@ def mark_entry_failed(entry_id, exc): # Looks like yes, so record information about that failure and any # metadata the user might have supplied. atomic_update(mgg.database.MediaEntry, - {'_id': entry_id}, + {'id': entry_id}, {u'state': u'failed', u'fail_error': unicode(exc.exception_path), u'fail_metadata': exc.metadata}) @@ -104,7 +104,7 @@ def mark_entry_failed(entry_id, exc): # metadata (in fact overwrite it if somehow it had previous info # here) atomic_update(mgg.database.MediaEntry, - {'_id': entry_id}, + {'id': entry_id}, {u'state': u'failed', u'fail_error': None, u'fail_metadata': {}}) diff --git a/mediagoblin/processing/task.py b/mediagoblin/processing/task.py index a8bc0f2f..06a26bb7 100644 --- a/mediagoblin/processing/task.py +++ b/mediagoblin/processing/task.py @@ -42,7 +42,7 @@ class ProcessMedia(Task): (for now just process_image...) """ entry = mgg.database.MediaEntry.one( - {'_id': ObjectId(media_id)}) + {'id': ObjectId(media_id)}) # Try to process, and handle expected errors. try: @@ -61,7 +61,7 @@ class ProcessMedia(Task): json_processing_callback(entry) except BaseProcessingFail as exc: - mark_entry_failed(entry._id, exc) + mark_entry_failed(entry.id, exc) json_processing_callback(entry) return @@ -72,7 +72,7 @@ class ProcessMedia(Task): entry.title, exc)) - mark_entry_failed(entry._id, exc) + mark_entry_failed(entry.id, exc) json_processing_callback(entry) except Exception as exc: @@ -80,7 +80,7 @@ class ProcessMedia(Task): + ' processing {0}'.format( entry)) - mark_entry_failed(entry._id, exc) + mark_entry_failed(entry.id, exc) json_processing_callback(entry) raise diff --git a/mediagoblin/submit/views.py b/mediagoblin/submit/views.py index 02026f45..3628fa0d 100644 --- a/mediagoblin/submit/views.py +++ b/mediagoblin/submit/views.py @@ -76,7 +76,7 @@ def submit_start(request): entry.license = unicode(request.form.get('license', "")) or None - entry.uploader = request.user._id + entry.uploader = request.user.id # Process the user's folksonomy "tags" entry.tags = convert_to_tag_list_of_dicts( @@ -121,7 +121,7 @@ def submit_start(request): process_media = registry.tasks[ProcessMedia.name] try: process_media.apply_async( - [unicode(entry._id)], {}, + [unicode(entry.id)], {}, task_id=task_id) except BaseException as exc: # The purpose of this section is because when running in "lazy" @@ -132,7 +132,7 @@ def submit_start(request): # # ... not completely the diaper pattern because the # exception is re-raised :) - mark_entry_failed(entry._id, exc) + mark_entry_failed(entry.id, exc) # re-raise the exception raise @@ -198,12 +198,12 @@ def add_collection(request, media=None): collection.title = unicode(request.form['title']) collection.description = unicode(request.form.get('description')) - collection.creator = request.user._id + collection.creator = request.user.id collection.generate_slug() # Make sure this user isn't duplicating an existing collection existing_collection = request.db.Collection.find_one({ - 'creator': request.user._id, + 'creator': request.user.id, 'title':collection.title}) if existing_collection: diff --git a/mediagoblin/templates/mediagoblin/admin/panel.html b/mediagoblin/templates/mediagoblin/admin/panel.html index d3c6c958..6bcb5c24 100644 --- a/mediagoblin/templates/mediagoblin/admin/panel.html +++ b/mediagoblin/templates/mediagoblin/admin/panel.html @@ -42,7 +42,7 @@ </tr> {% for media_entry in processing_entries %} <tr> - <td>{{ media_entry._id }}</td> + <td>{{ media_entry.id }}</td> <td>{{ media_entry.get_uploader.username }}</td> <td>{{ media_entry.title }}</td> <td>{{ media_entry.created.strftime("%F %R") }}</td> @@ -72,7 +72,7 @@ </tr> {% for media_entry in failed_entries %} <tr> - <td>{{ media_entry._id }}</td> + <td>{{ media_entry.id }}</td> <td>{{ media_entry.get_uploader.username }}</td> <td>{{ media_entry.title }}</td> <td>{{ media_entry.created.strftime("%F %R") }}</td> @@ -101,7 +101,7 @@ </tr> {% for media_entry in processed_entries %} <tr> - <td>{{ media_entry._id }}</td> + <td>{{ media_entry.id }}</td> <td>{{ media_entry.get_uploader.username }}</td> <td><a href="{{ media_entry.url_for_self(request.urlgen) }}">{{ media_entry.title }}</a></td> <td>{{ media_entry.created.strftime("%F %R") }}</td> diff --git a/mediagoblin/templates/mediagoblin/edit/attachments.html b/mediagoblin/templates/mediagoblin/edit/attachments.html index 6e7da0a1..55d446de 100644 --- a/mediagoblin/templates/mediagoblin/edit/attachments.html +++ b/mediagoblin/templates/mediagoblin/edit/attachments.html @@ -28,7 +28,7 @@ {% block mediagoblin_content %} <form action="{{ request.urlgen('mediagoblin.edit.attachments', user= media.get_uploader.username, - media= media._id) }}" + media= media.id) }}" method="POST" enctype="multipart/form-data"> <div class="form_box"> <h1> diff --git a/mediagoblin/templates/mediagoblin/edit/edit.html b/mediagoblin/templates/mediagoblin/edit/edit.html index 144184df..1f5b91f7 100644 --- a/mediagoblin/templates/mediagoblin/edit/edit.html +++ b/mediagoblin/templates/mediagoblin/edit/edit.html @@ -29,7 +29,7 @@ <form action="{{ request.urlgen('mediagoblin.edit.edit_media', user= media.get_uploader.username, - media= media._id) }}" + media= media.id) }}" method="POST" enctype="multipart/form-data"> <div class="form_box_xl edit_box"> <h1>{% trans media_title=media.title %}Editing {{ media_title }}{% endtrans %}</h1> diff --git a/mediagoblin/templates/mediagoblin/user_pages/collection.html b/mediagoblin/templates/mediagoblin/user_pages/collection.html index f53c164f..f1ab7a42 100644 --- a/mediagoblin/templates/mediagoblin/user_pages/collection.html +++ b/mediagoblin/templates/mediagoblin/user_pages/collection.html @@ -44,7 +44,7 @@ {{ collection_title }} by <a href="{{ user_url }}">{{ username }}</a> {%- endtrans %} </h1> - {% if request.user and (collection.creator == request.user._id or + {% if request.user and (collection.creator == request.user.id or request.user.is_admin) %} {% set edit_url = request.urlgen('mediagoblin.edit.edit_collection', user=collection.get_creator.username, diff --git a/mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html b/mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html index 9be10321..447201cd 100644 --- a/mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html +++ b/mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html @@ -24,7 +24,7 @@ <form action="{{ request.urlgen('mediagoblin.user_pages.collection_item_confirm_remove', user=collection_item.in_collection.get_creator.username, collection=collection_item.in_collection.slug, - collection_item=collection_item._id) }}" + collection_item=collection_item.id) }}" method="POST" enctype="multipart/form-data"> <div class="form_box"> <h1> diff --git a/mediagoblin/templates/mediagoblin/user_pages/media.html b/mediagoblin/templates/mediagoblin/user_pages/media.html index cb06c7ba..11f2a2a1 100644 --- a/mediagoblin/templates/mediagoblin/user_pages/media.html +++ b/mediagoblin/templates/mediagoblin/user_pages/media.html @@ -79,15 +79,15 @@ {{ media.title }} </h2> {% if request.user and - (media.uploader == request.user._id or + (media.uploader == request.user.id or request.user.is_admin) %} {% set edit_url = request.urlgen('mediagoblin.edit.edit_media', user= media.get_uploader.username, - media= media._id) %} + media= media.id) %} <a class="button_action" href="{{ edit_url }}">{% trans %}Edit{% endtrans %}</a> {% set delete_url = request.urlgen('mediagoblin.user_pages.media_confirm_delete', user= media.get_uploader.username, - media= media._id) %} + media= media.id) %} <a class="button_action" href="{{ delete_url }}">{% trans %}Delete{% endtrans %}</a> {% endif %} {% autoescape False %} @@ -104,7 +104,7 @@ {% if request.user %} <form action="{{ request.urlgen('mediagoblin.user_pages.media_post_comment', user= media.get_uploader.username, - media=media._id) }}" method="POST" id="form_comment"> + media=media.id) }}" method="POST" id="form_comment"> <p> {% trans %}You can use <a href="http://daringfireball.net/projects/markdown/basics">Markdown</a> for formatting.{% endtrans %} </p> @@ -117,11 +117,11 @@ {% endif %} {% for comment in comments %} {% set comment_author = comment.get_author %} - {% if pagination.active_id == comment._id %} - <div class="comment_wrapper comment_active" id="comment-{{ comment._id }}"> + {% if pagination.active_id == comment.id %} + <div class="comment_wrapper comment_active" id="comment-{{ comment.id }}"> <a name="comment" id="comment"></a> {% else %} - <div class="comment_wrapper" id="comment-{{ comment._id }}"> + <div class="comment_wrapper" id="comment-{{ comment.id }}"> {% endif %} <div class="comment_author"> <img src="{{ request.staticdirect('/images/icon_comment.png') }}" /> @@ -131,7 +131,7 @@ </a> {% trans %}at{% endtrans %} <a href="{{ request.urlgen('mediagoblin.user_pages.media_home.view_comment', - comment = comment._id, + comment = comment.id, user = media.get_uploader.username, media = media.slug_or_id) }}#comment"> {{ comment.created.strftime("%I:%M%p %Y-%m-%d") }} @@ -181,7 +181,7 @@ {% endif %} {% if app_config['allow_attachments'] and request.user - and (media.uploader == request.user._id + and (media.uploader == request.user.id or request.user.is_admin) %} {% if not media.attachment_files|count %} <h3>{% trans %}Attachments{% endtrans %}</h3> @@ -189,7 +189,7 @@ <p> <a href="{{ request.urlgen('mediagoblin.edit.attachments', user=media.get_uploader.username, - media=media._id) }}">{% trans %}Add attachment{% endtrans %}</a> + media=media.id) }}">{% trans %}Add attachment{% endtrans %}</a> </p> {% endif %} @@ -197,7 +197,7 @@ <p> <a type="submit" href="{{ request.urlgen('mediagoblin.user_pages.media_collect', user=media.get_uploader.username, - media=media._id) }}" + media=media.id) }}" class="button_action" title="{% trans %}Add media to collection{% endtrans %}"> <img src="{{ request.staticdirect('/images/icon_collect.png') }}" diff --git a/mediagoblin/templates/mediagoblin/user_pages/media_collect.html b/mediagoblin/templates/mediagoblin/user_pages/media_collect.html index cefe638b..4f35dfa3 100644 --- a/mediagoblin/templates/mediagoblin/user_pages/media_collect.html +++ b/mediagoblin/templates/mediagoblin/user_pages/media_collect.html @@ -28,7 +28,7 @@ <form action="{{ request.urlgen('mediagoblin.user_pages.media_collect', user=media.get_uploader.username, - media=media._id) }}" + media=media.id) }}" method="POST" enctype="multipart/form-data"> <div class="form_box"> <h1> diff --git a/mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html b/mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html index a3cf0210..833f500d 100644 --- a/mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html +++ b/mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html @@ -23,7 +23,7 @@ <form action="{{ request.urlgen('mediagoblin.user_pages.media_confirm_delete', user=media.get_uploader.username, - media=media._id) }}" + media=media.id) }}" method="POST" enctype="multipart/form-data"> <div class="form_box"> <h1> diff --git a/mediagoblin/templates/mediagoblin/user_pages/processing_panel.html b/mediagoblin/templates/mediagoblin/user_pages/processing_panel.html index e673902b..2a449d45 100644 --- a/mediagoblin/templates/mediagoblin/user_pages/processing_panel.html +++ b/mediagoblin/templates/mediagoblin/user_pages/processing_panel.html @@ -41,7 +41,7 @@ </tr> {% for media_entry in processing_entries %} <tr> - <td>{{ media_entry._id }}</td> + <td>{{ media_entry.id }}</td> <td>{{ media_entry.title }}</td> <td>{{ media_entry.created.strftime("%F %R") }}</td> {% if media_entry.transcoding_progress %} @@ -69,7 +69,7 @@ </tr> {% for media_entry in failed_entries %} <tr> - <td>{{ media_entry._id }}</td> + <td>{{ media_entry.id }}</td> <td>{{ media_entry.title }}</td> <td>{{ media_entry.created.strftime("%F %R") }}</td> {% if media_entry.get_fail_exception() %} @@ -97,7 +97,7 @@ </tr> {% for entry in processed_entries %} <tr> - <td>{{ entry._id }}</td> + <td>{{ entry.id }}</td> <td><a href="{{ entry.url_for_self(request.urlgen) }}">{{ entry.title }}</a></td> <td>{{ entry.created.strftime("%F %R") }}</td> </tr> diff --git a/mediagoblin/templates/mediagoblin/user_pages/user.html b/mediagoblin/templates/mediagoblin/user_pages/user.html index 4f7b1208..65c636b9 100644 --- a/mediagoblin/templates/mediagoblin/user_pages/user.html +++ b/mediagoblin/templates/mediagoblin/user_pages/user.html @@ -90,7 +90,7 @@ </h1> {% if not user.url and not user.bio %} - {% if request.user and (request.user._id == user._id) %} + {% if request.user and (request.user.id == user.id) %} <div class="profile_sidebar empty_space"> <p> {% trans %}Here's a spot to tell others about yourself.{% endtrans %} @@ -112,7 +112,7 @@ <div class="profile_sidebar"> {% include "mediagoblin/utils/profile.html" %} {% if request.user and - (request.user._id == user._id or request.user.is_admin) %} + (request.user.id == user.id or request.user.is_admin) %} <a href="{{ request.urlgen('mediagoblin.edit.profile') }}?username={{ user.username }}"> {%- trans %}Edit profile{% endtrans -%} @@ -139,7 +139,7 @@ {% include "mediagoblin/utils/feed_link.html" %} </div> {% else %} - {% if request.user and (request.user._id == user._id) %} + {% if request.user and (request.user.id == user.id) %} <div class="profile_showcase empty_space"> <p> {% trans -%} diff --git a/mediagoblin/templates/mediagoblin/utils/collection_gallery.html b/mediagoblin/templates/mediagoblin/utils/collection_gallery.html index ab5e46ea..dcc59244 100644 --- a/mediagoblin/templates/mediagoblin/utils/collection_gallery.html +++ b/mediagoblin/templates/mediagoblin/utils/collection_gallery.html @@ -38,7 +38,7 @@ <a href="{{ entry_url }}">{{ item.note }}</a> {% endif %} {% if request.user and - (item.in_collection.creator == request.user._id or + (item.in_collection.creator == request.user.id or request.user.is_admin) %} {%- set remove_url=request.urlgen( 'mediagoblin.user_pages.collection_item_confirm_remove', diff --git a/mediagoblin/tests/test_auth.py b/mediagoblin/tests/test_auth.py index da17554b..06365161 100644 --- a/mediagoblin/tests/test_auth.py +++ b/mediagoblin/tests/test_auth.py @@ -154,7 +154,7 @@ def test_register_views(test_app): ## Make sure user is logged in request = template.TEMPLATE_TEST_CONTEXT[ 'mediagoblin/user_pages/user.html']['request'] - assert request.session['user_id'] == unicode(new_user._id) + assert request.session['user_id'] == unicode(new_user.id) ## Make sure we get email confirmation, and try verifying assert len(mail.EMAIL_TEST_INBOX) == 1 @@ -171,7 +171,7 @@ def test_register_views(test_app): ### user should have these same parameters assert parsed_get_params['userid'] == [ - unicode(new_user._id)] + unicode(new_user.id)] assert parsed_get_params['token'] == [ new_user.verification_key] @@ -179,7 +179,7 @@ def test_register_views(test_app): template.clear_test_template_context() response = test_app.get( "/auth/verify_email/?userid=%s&token=total_bs" % unicode( - new_user._id)) + new_user.id)) response.follow() context = template.TEMPLATE_TEST_CONTEXT[ 'mediagoblin/user_pages/user.html'] @@ -254,7 +254,7 @@ def test_register_views(test_app): # user should have matching parameters new_user = mg_globals.database.User.find_one({'username': u'happygirl'}) - assert parsed_get_params['userid'] == [unicode(new_user._id)] + assert parsed_get_params['userid'] == [unicode(new_user.id)] assert parsed_get_params['token'] == [new_user.fp_verification_key] ### The forgotten password token should be set to expire in ~ 10 days @@ -265,7 +265,7 @@ def test_register_views(test_app): template.clear_test_template_context() response = test_app.get( "/auth/forgot_password/verify/?userid=%s&token=total_bs" % unicode( - new_user._id), status=404) + new_user.id), status=404) assert_equal(response.status, '404 Not Found') ## Try using an expired token to change password, shouldn't work @@ -393,7 +393,7 @@ def test_authentication_views(test_app): # Make sure user is in the session context = template.TEMPLATE_TEST_CONTEXT['mediagoblin/root.html'] session = context['request'].session - assert session['user_id'] == unicode(test_user._id) + assert session['user_id'] == unicode(test_user.id) # Successful logout # ----------------- diff --git a/mediagoblin/tests/test_submission.py b/mediagoblin/tests/test_submission.py index b6fe0015..589ba7ed 100644 --- a/mediagoblin/tests/test_submission.py +++ b/mediagoblin/tests/test_submission.py @@ -184,7 +184,7 @@ class TestSubmission: # --------------------------------------------------- response, request = self.do_post({'confirm': 'y'}, *REQUEST_CONTEXT, do_follow=True, url=delete_url) - self.check_media(request, {'_id': media_id}, 0) + self.check_media(request, {'id': media_id}, 0) self.check_comments(request, media_id, 0) def test_evil_file(self): diff --git a/mediagoblin/tests/tools.py b/mediagoblin/tests/tools.py index d3369831..8c09c7ec 100644 --- a/mediagoblin/tests/tools.py +++ b/mediagoblin/tests/tools.py @@ -184,20 +184,20 @@ def assert_db_meets_expected(db, expected): """ Assert a database contains the things we expect it to. - Objects are found via '_id', so you should make sure your document - has an _id. + Objects are found via 'id', so you should make sure your document + has an id. Args: - db: pymongo or mongokit database connection - expected: the data we expect. Formatted like: {'collection_name': [ - {'_id': 'foo', + {'id': 'foo', 'some_field': 'some_value'},]} """ for collection_name, collection_data in expected.iteritems(): collection = db[collection_name] for expected_document in collection_data: - document = collection.find_one({'_id': expected_document['_id']}) + document = collection.find_one({'id': expected_document['id']}) assert document is not None # make sure it exists assert document == expected_document # make sure it matches diff --git a/mediagoblin/tools/pagination.py b/mediagoblin/tools/pagination.py index 50e59070..141d91cc 100644 --- a/mediagoblin/tools/pagination.py +++ b/mediagoblin/tools/pagination.py @@ -41,7 +41,7 @@ class Pagination(object): - per_page: number of objects per page - cursor: db cursor - jump_to_id: ObjectId, sets the page to the page containing the - object with _id == jump_to_id. + object with id == jump_to_id. """ self.page = page self.per_page = per_page @@ -53,7 +53,7 @@ class Pagination(object): cursor = copy.copy(self.cursor) for (doc, increment) in izip(cursor, count(0)): - if doc._id == jump_to_id: + if doc.id == jump_to_id: self.page = 1 + int(floor(increment / self.per_page)) self.active_id = jump_to_id diff --git a/mediagoblin/tools/request.py b/mediagoblin/tools/request.py index ae372c92..66d7ffa3 100644 --- a/mediagoblin/tools/request.py +++ b/mediagoblin/tools/request.py @@ -34,7 +34,7 @@ def setup_user_in_request(request): except InvalidId: user = None else: - user = request.db.User.find_one({'_id': oid}) + user = request.db.User.find_one({'id': oid}) if not user: # Something's wrong... this user doesn't exist? Invalidate diff --git a/mediagoblin/user_pages/lib.py b/mediagoblin/user_pages/lib.py index a4be14c2..8a064a7c 100644 --- a/mediagoblin/user_pages/lib.py +++ b/mediagoblin/user_pages/lib.py @@ -33,7 +33,7 @@ def send_comment_email(user, comment, media, request): comment_url = request.urlgen( 'mediagoblin.user_pages.media_home.view_comment', - comment=comment._id, + comment=comment.id, user=media.get_uploader.username, media=media.slug_or_id, qualified=True) + '#comment' diff --git a/mediagoblin/user_pages/views.py b/mediagoblin/user_pages/views.py index cbf3f15f..a091f13b 100644 --- a/mediagoblin/user_pages/views.py +++ b/mediagoblin/user_pages/views.py @@ -53,7 +53,7 @@ def user_home(request, page): {'user': user}) cursor = request.db.MediaEntry.find( - {'uploader': user._id, + {'uploader': user.id, 'state': u'processed'}).sort('created', DESCENDING) pagination = Pagination(page, cursor) @@ -196,12 +196,12 @@ def media_collect(request, media): collection.description = unicode( request.form.get('collection_description')) - collection.creator = request.user._id + collection.creator = request.user.id collection.generate_slug() # Make sure this user isn't duplicating an existing collection existing_collection = request.db.Collection.find_one({ - 'creator': request.user._id, + 'creator': request.user.id, 'title': collection.title}) if existing_collection: @@ -220,7 +220,7 @@ def media_collect(request, media): # Otherwise, use the collection selected from the drop-down else: collection = request.db.Collection.find_one({ - '_id': request.form.get('collection')}) + 'id': request.form.get('collection')}) collection_item.collection = collection.id # Make sure the user actually selected a collection @@ -306,7 +306,7 @@ def media_confirm_delete(request, media): location=media.url_for_self(request.urlgen)) if ((request.user.is_admin and - request.user._id != media.uploader)): + request.user.id != media.uploader)): messages.add_message( request, messages.WARNING, _("You are about to delete another user's media. " @@ -378,7 +378,7 @@ def collection_item_confirm_remove(request, collection_item): collection=collection.slug) if ((request.user.is_admin and - request.user._id != collection_item.in_collection.creator)): + request.user.id != collection_item.in_collection.creator)): messages.add_message( request, messages.WARNING, _("You are about to delete an item from another user's collection. " @@ -428,7 +428,7 @@ def collection_confirm_delete(request, collection): collection=collection.slug) if ((request.user.is_admin and - request.user._id != collection.creator)): + request.user.id != collection.creator)): messages.add_message( request, messages.WARNING, _("You are about to delete another user's collection. " @@ -456,7 +456,7 @@ def atom_feed(request): return render_404(request) cursor = request.db.MediaEntry.find({ - 'uploader': user._id, + 'uploader': user.id, 'state': u'processed'}) \ .sort('created', DESCENDING) \ .limit(ATOM_DEFAULT_NR_OF_UPDATED_ITEMS) @@ -524,7 +524,7 @@ def collection_atom_feed(request): 'slug': request.matchdict['collection']}) cursor = request.db.CollectionItem.find({ - 'collection': collection._id}) \ + 'collection': collection.id}) \ .sort('added', DESCENDING) \ .limit(ATOM_DEFAULT_NR_OF_UPDATED_ITEMS) @@ -601,7 +601,7 @@ def processing_panel(request): # # Make sure we have permission to access this user's panel. Only # admins and this user herself should be able to do so. - if not (user._id == request.user._id + if not (user.id == request.user.id or request.user.is_admin): # No? Let's simply redirect to this user's homepage then. return redirect( @@ -610,16 +610,16 @@ def processing_panel(request): # Get media entries which are in-processing processing_entries = request.db.MediaEntry.find( - {'uploader': user._id, + {'uploader': user.id, 'state': u'processing'}).sort('created', DESCENDING) # Get media entries which have failed to process failed_entries = request.db.MediaEntry.find( - {'uploader': user._id, + {'uploader': user.id, 'state': u'failed'}).sort('created', DESCENDING) processed_entries = request.db.MediaEntry.find( - {'uploader': user._id, + {'uploader': user.id, 'state': u'processed'}).sort('created', DESCENDING).limit(10) # Render to response |