Exemplo n.º 1
0
 def test_get_published_blog_post_summaries_by_user_id(self) -> None:
     self.assertEqual(
         len(
             blog_services.get_published_blog_post_summaries_by_user_id(
                 self.user_id_a, 20)), 0)
     blog_services.update_blog_post(self.blog_post_a_id,
                                    self.change_dict_two)
     blog_services.publish_blog_post(self.blog_post_a_id)
     no_of_published_blog_post = (
         blog_services.get_published_blog_post_summaries_by_user_id(
             self.user_id_a, 20))
     self.assertEqual(len(no_of_published_blog_post), 1)
Exemplo n.º 2
0
    def get(self, blog_post_url):
        """Handles GET requests."""
        blog_post = blog_services.get_blog_post_by_url_fragment(blog_post_url)
        if not blog_post:
            raise self.PageNotFoundException(
                Exception(
                    'The blog post page with the given url doesn\'t exist.'))
        user_settings = user_services.get_user_settings(blog_post.author_id)
        blog_post_dict = (
            blog_services.get_blog_post_from_model(blog_post).to_dict())
        blog_post_dict['author_name'] = user_settings.username
        del blog_post_dict['author_id']
        blog_post_summaries = (
            blog_services.get_published_blog_post_summaries_by_user_id(
                blog_post.author_id,
                feconf.MAX_POSTS_TO_RECOMMEND_AT_END_OF_BLOG_POST))
        blog_post_summary_dicts = (
            _get_blog_card_summary_dicts_for_homepage(blog_post_summaries))

        self.values.update({
            'profile_picture_data_url': user_settings.profile_picture_data_url,
            'blog_post_dict': blog_post_dict,
            'summary_dicts': blog_post_summary_dicts
        })
        self.render_json(self.values)
Exemplo n.º 3
0
    def get(self, author_username):
        """Handles GET requests."""
        user_settings = (
            user_services.get_user_settings_from_username(author_username))
        if user_settings is None:
            raise self.PageNotFoundException(
                Exception('User with given username does not exist'))
        if not any(role in user_settings.roles
                   for role in [BLOG_ADMIN, BLOG_POST_EDITOR]):
            raise self.PageNotFoundException(
                Exception('The given user is not a blog post author.'))
        blog_post_summaries = (
            blog_services.get_published_blog_post_summaries_by_user_id(
                user_settings.user_id,
                feconf.MAX_NUM_CARDS_TO_DISPLAY_ON_AUTHOR_SPECIFIC_BLOG_POST_PAGE))  #pylint: disable=line-too-long
        blog_post_summary_dicts = []
        if blog_post_summaries:
            blog_post_summary_dicts = (
                _get_blog_card_summary_dicts_for_homepage(blog_post_summaries))

        self.values.update({
            'author_name':
            author_username,
            'profile_picture_data_url':
            (user_settings.profile_picture_data_url),
            'author_bio':
            user_settings.user_bio,
            'summary_dicts':
            blog_post_summary_dicts
        })
        self.render_json(self.values)