File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 5757 {% for entry in scan_summary.primary_language %}
5858 {% if entry.value %}
5959 < li >
60- < a href ="{% url 'project_resources' project.slug %}?programming_language={{ entry.value }} " target ="_blank ">
60+ < a href ="{% url 'project_resources' project.slug %}?programming_language={{ entry.value|urlencode }} " target ="_blank ">
6161 {{ entry.value }}
6262 {% if entry.count %}
6363 < span class ="tag is-rounded ">
123123 < ul >
124124 {% for entry in scan_summary.other_languages %}
125125 {% if entry.value %}
126- < a href ="{% url 'project_resources' project.slug %}?programming_language={{ entry.value }} " target ="_blank ">
126+ < a href ="{% url 'project_resources' project.slug %}?programming_language={{ entry.value|urlencode }} " target ="_blank ">
127127 < li >
128128 {{ entry.value }}
129129 {% if entry.count %}
163163 </ tr >
164164 </ table >
165165 </ div >
166- </ article >
166+ </ article >
Original file line number Diff line number Diff line change @@ -152,7 +152,7 @@ <h3 class="title is-4 has-text-centered mb-3">
152152 // Keep in sync with FilterSetUtilsMixin.(empty_value|other_value)
153153 if ( name === "(No value detected)" ) name = "_EMPTY_" ;
154154 if ( name === "Other" ) name = "_OTHER_" ;
155- let full_url = `${ base_url } ?${ field } =${ name } ` ;
155+ let full_url = `${ base_url } ?${ field } =${ $ { encodeURIComponent ( name ) } ` ;
156156 if ( in_package ) full_url += `&in_package=${ in_package } ` ;
157157 if ( event . ctrlKey || event . metaKey ) window . open ( full_url , '_blank' ) ;
158158 else window . location . href = full_url ;
@@ -182,4 +182,4 @@ <h3 class="title is-4 has-text-centered mb-3">
182182 makeChart ( "file_compliance_alert" , "#compliance_alert_chart" , "Resource\nCompliance\nAlert" ) ;
183183 { % endif % }
184184 </ script >
185- {% endblock %}
185+ {% endblock %}
Original file line number Diff line number Diff line change @@ -788,6 +788,18 @@ def test_scanpipe_api_project_action_resources_filterset(self):
788788 response = self .csrf_client .get (url + "?slug=aaa" )
789789 self .assertEqual (2 , response .data ["count" ])
790790
791+ def test_scanpipe_api_project_action_resources_filterset_special_chars (self ):
792+ make_resource_file (
793+ self .project1 ,
794+ path = "csharp_file.cs" ,
795+ programming_language = "C#" ,
796+ )
797+ url = reverse ("project-resources" , args = [self .project1 .uuid ])
798+ response = self .csrf_client .get (url + "?programming_language=C%23" )
799+ self .assertEqual (1 , response .data ["count" ])
800+ self .assertEqual ("csharp_file.cs" , response .data ["results" ][0 ]["path" ])
801+ self .assertEqual ("C#" , response .data ["results" ][0 ]["programming_language" ])
802+
791803 def test_scanpipe_api_project_action_packages (self ):
792804 url = reverse ("project-packages" , args = [self .project1 .uuid ])
793805 response = self .csrf_client .get (url )
You can’t perform that action at this time.
0 commit comments