Repository: oppia/oppia

Issue:
Extra space after "skill review" link in exploration cards.
**Describe the bug**
When a skillreview link is added in an exploration card's rich-text editor, there is an extra space after the link which looks quite awkward (see the "reference" text in the screenshot below, taken from the preview mode of the exploration editor content field):

![Screenshot from 2020-09-26 00-21-15](https://user-images.githubusercontent.com/10575562/94335230-ede70280-ff8e-11ea-9cfe-edd6d9f44caa.png)


**To Reproduce**
Steps to reproduce the behavior:
 1. Create a new exploration and publish it.
 2. Create a new story, create a new chapter in that story, and add that exploration to it.
 3. In the original exploration, add a skillreview card.

**Observed behavior**
There is a space after the concept card link.

**Expected behavior**
There shouldn't be a space after the link.
Extra space after "skill review" link in exploration cards.
**Describe the bug**
When a skillreview link is added in an exploration card's rich-text editor, there is an extra space after the link which looks quite awkward (see the "reference" text in the screenshot below, taken from the preview mode of the exploration editor content field):

![Screenshot from 2020-09-26 00-21-15](https://user-images.githubusercontent.com/10575562/94335230-ede70280-ff8e-11ea-9cfe-edd6d9f44caa.png)


**To Reproduce**
Steps to reproduce the behavior:
 1. Create a new exploration and publish it.
 2. Create a new story, create a new chapter in that story, and add that exploration to it.
 3. In the original exploration, add a skillreview card.

**Observed behavior**
There is a space after the concept card link.

**Expected behavior**
There shouldn't be a space after the link.
Extra space after "skill review" link in exploration cards.
**Describe the bug**
When a skillreview link is added in an exploration card's rich-text editor, there is an extra space after the link which looks quite awkward (see the "reference" text in the screenshot below, taken from the preview mode of the exploration editor content field):

![Screenshot from 2020-09-26 00-21-15](https://user-images.githubusercontent.com/10575562/94335230-ede70280-ff8e-11ea-9cfe-edd6d9f44caa.png)


**To Reproduce**
Steps to reproduce the behavior:
 1. Create a new exploration and publish it.
 2. Create a new story, create a new chapter in that story, and add that exploration to it.
 3. In the original exploration, add a skillreview card.

**Observed behavior**
There is a space after the concept card link.

**Expected behavior**
There shouldn't be a space after the link.
Extra space after "skill review" link in exploration cards.
**Describe the bug**
When a skillreview link is added in an exploration card's rich-text editor, there is an extra space after the link which looks quite awkward (see the "reference" text in the screenshot below, taken from the preview mode of the exploration editor content field):

![Screenshot from 2020-09-26 00-21-15](https://user-images.githubusercontent.com/10575562/94335230-ede70280-ff8e-11ea-9cfe-edd6d9f44caa.png)


**To Reproduce**
Steps to reproduce the behavior:
 1. Create a new exploration and publish it.
 2. Create a new story, create a new chapter in that story, and add that exploration to it.
 3. In the original exploration, add a skillreview card.

**Observed behavior**
There is a space after the concept card link.

**Expected behavior**
There shouldn't be a space after the link.


Discussion:
@aks681, please could you take a look at this? Thanks!
@aks681, please could you take a look at this? Thanks!
@aks681, please could you take a look at this? Thanks!
@aks681, please could you take a look at this? Thanks!

Resolving patch:
diff --git a/core/controllers/classroom.py b/core/controllers/classroom.py
--- a/core/controllers/classroom.py
+++ b/core/controllers/classroom.py
@@ -55,13 +55,18 @@ def get(self, classroom_url_fragment):
         topic_ids = classroom.topic_ids
         topic_summaries = topic_services.get_multi_topic_summaries(topic_ids)
         topic_rights = topic_services.get_multi_topic_rights(topic_ids)
-        topic_summary_dicts = [
+        public_topic_summary_dicts = [
             summary.to_dict() for ind, summary in enumerate(topic_summaries)
             if summary is not None and topic_rights[ind].topic_is_published
         ]
+        private_topic_summary_dicts = [
+            summary.to_dict() for ind, summary in enumerate(topic_summaries)
+            if summary is not None and not topic_rights[ind].topic_is_published
+        ]
 
         self.values.update({
-            'topic_summary_dicts': topic_summary_dicts,
+            'public_topic_summary_dicts': public_topic_summary_dicts,
+            'private_topic_summary_dicts': private_topic_summary_dicts,
             'topic_list_intro': classroom.topic_list_intro,
             'course_details': classroom.course_details,
             'name': classroom.name


Test patch:
diff --git a/core/controllers/classroom_test.py b/core/controllers/classroom_test.py
--- a/core/controllers/classroom_test.py
+++ b/core/controllers/classroom_test.py
@@ -99,12 +99,15 @@ def test_get(self):
 
         json_response = self.get_json(
             '%s/%s' % (feconf.CLASSROOM_DATA_HANDLER, 'math'))
-        topic_summary_dict = (
+        public_topic_summary_dict = (
             topic_services.get_topic_summary_by_id(topic_id_2).to_dict())
+        private_topic_summary_dict = (
+            topic_services.get_topic_summary_by_id(topic_id_1).to_dict())
 
         expected_dict = {
             'name': 'math',
-            'topic_summary_dicts': [topic_summary_dict],
+            'public_topic_summary_dicts': [public_topic_summary_dict],
+            'private_topic_summary_dicts': [private_topic_summary_dict],
             'course_details': 'Course details for classroom.',
             'topic_list_intro': 'Topics covered for classroom'
         }
diff --git a/core/tests/protractor_desktop/classroomPageFileUploadFeatures.js b/core/tests/protractor_desktop/classroomPageFileUploadFeatures.js
--- a/core/tests/protractor_desktop/classroomPageFileUploadFeatures.js
+++ b/core/tests/protractor_desktop/classroomPageFileUploadFeatures.js
@@ -77,7 +77,9 @@ describe('Classroom page functionality', function() {
           await elem.setValue(topicId);
         });
       await classroomPage.get('math');
-      await classroomPage.expectNumberOfTopicsToBe(0);
+      // Even if the topic is unpublished, an unclickable tile is shown
+      // currently.
+      await classroomPage.expectNumberOfTopicsToBe(1);
       await topicsAndSkillsDashboardPage.get();
       (
         await