From 694c2c8a3841eb63e558af5cb5ede8fc1410c67d Mon Sep 17 00:00:00 2001 From: Tomas Kopecek Date: Oct 30 2020 12:18:52 +0000 Subject: [PATCH 1/2] web: disable links to deleted tags Fixes: https://pagure.io/koji/issue/2543 --- diff --git a/www/kojiweb/index.py b/www/kojiweb/index.py index e5e1809..536d893 100644 --- a/www/kojiweb/index.py +++ b/www/kojiweb/index.py @@ -651,20 +651,12 @@ def taskinfo(environ, taskID): buildroots = server.listBuildroots(taskID=task['id']) values['buildroots'] = buildroots - if task['method'] == 'buildArch': - try: - values['buildTag'] = server.getTag(params[1], strict=True)['name'] - except koji.GenericError: - values['buildTag'] = "%d (deleted)" % params[1] - elif task['method'] == 'buildMaven': - buildTag = params[1] - values['buildTag'] = buildTag - elif task['method'] == 'buildSRPMFromSCM': + if task['method'] in ('buildArch', 'buildMaven', 'buildSRPMFromSCM'): if len(params) > 1: try: - values['buildTag'] = server.getTag(params[1], strict=True)['name'] + values['buildTag'] = server.getTag(params[1], strict=True) except koji.GenericError: - values['buildTag'] = "%d (deleted)" % params[1] + values['buildTag'] = {'name': "%d (deleted)" % params[1], 'id': None} elif task['method'] == 'tagBuild': destTag = server.getTag(params[0]) build = server.getBuild(params[1]) diff --git a/www/kojiweb/taskinfo_params.chtml b/www/kojiweb/taskinfo_params.chtml index 2bd7ef2..f75f1c6 100644 --- a/www/kojiweb/taskinfo_params.chtml +++ b/www/kojiweb/taskinfo_params.chtml @@ -38,7 +38,13 @@ $value #if $task.method == 'buildSRPMFromSCM' SCM URL: $params[0]
#if $len($params) > 1 -Build Tag: $buildTag
+Build Tag: +#if $buildTag.id +$buildTag.name +#else +$buildTag.name +#end if +
#end if #if $len($params) > 2 $printOpts($params[2]) @@ -47,7 +53,13 @@ $printOpts($params[2]) CVS URL: $params[0] #elif $task.method == 'buildArch' SRPM: $params[0]
-Build Tag: $buildTag
+Build Tag: +#if $buildTag.id +$buildTag.name +#else +$buildTag.name +#end if +
Arch: $params[2]
Keep SRPM? #if $params[3] then 'yes' else 'no'#
#if $len($params) > 4 @@ -92,7 +104,13 @@ $printOpts($params[2]) $printOpts($params[2]) #elif $task.method == 'buildMaven' SCM URL: $params[0]
-Build Tag: $buildTag.name
+Build Tag: +#if $buildTag.id +$buildTag.name +#else +$buildTag.name +#end if +
#if $len($params) > 2 $printOpts($params[2]) #end if @@ -100,7 +118,13 @@ $printOpts($params[2]) Spec File URL: $params[0]
#if 'locked' in $buildTarget #set $buildTag = $buildTarget.name -Build Tag: $buildTag
+Build Tag: +#if $buildTag.id +$buildTag.name +#else +$buildTag.name +#end if +
#else Build Target: $buildTarget.name
#end if From 49f82bb1f217088f1558334348c5018ed95a0f54 Mon Sep 17 00:00:00 2001 From: Tomas Kopecek Date: Nov 05 2020 13:13:58 +0000 Subject: [PATCH 2/2] fix test --- diff --git a/tests/test_www/test_taskinfo.py b/tests/test_www/test_taskinfo.py index eff2e7f..286d93f 100644 --- a/tests/test_www/test_taskinfo.py +++ b/tests/test_www/test_taskinfo.py @@ -249,8 +249,7 @@ class TestTaskInfo(unittest.TestCase): server = self.__get_server(task) self.get_server.return_value = server webidx.taskinfo(self.environ, self.task_id) - server.getTag.assert_not_called() - self.assertEqual(self.environ['koji.values']['buildTag'], 'testBuildMaven') + server.getTag.assert_called_with('testBuildMaven', strict=True) # case 3. buildSRPMFromSCM task = copy.deepcopy(self.task)