Example #1
0
    def get(self, user_view_id):
        # logged in user
        user_id, user = self.get_user()
        # user's page
        user_view_id = int(user_view_id)
        user_view = User.get_by_id(user_view_id)
        my_page = user == user_view if user else False

        if not user_view:
            data = {
                'user': user,
                'page_title': 'Error',
                'error_msg': 'Cannot find User',
            }
            self.render('error.html', **data)
            return

        if my_page:
            photos = Photo.user_photos(user)
            need_scores = list(user.scoring_competitions())
            need_photos = self._competitions_need_photos(user)
        else:
            photos = Photo.user_photos_complete(user_view)
            need_scores = []
            need_photos = []
        extra_photos = Photo.extra_photos(user_view)

        data = {
            'page_title': 'User',
            'page_subtitle': user_view.username,
            'user': user,
            'user_view': user_view,
            'my_page': my_page,
            'need_scores': need_scores,
            'need_photos': need_photos,
            'photos': photos,
            'extra_photos': extra_photos,
            'upload_extra': (user.extra_photo_count < MAX_EXTRA_PHOTO
            if user else False),
            'max_extra_photos': MAX_EXTRA_PHOTO,
            'months': MONTHS,
            'upload_url': blobstore.create_upload_url('/upload'),
            'upload_extra_url': blobstore.create_upload_url('/upload'),
        }

        self.render('user-view.html', **data)