Fix package replacement handling on the revision packages page
This commit is contained in:
parent
6201099003
commit
957727c51a
3 changed files with 25 additions and 13 deletions
|
|
@ -65,7 +65,9 @@ JOIN (VALUES "
|
||||||
(define query
|
(define query
|
||||||
(string-append "
|
(string-append "
|
||||||
WITH data AS (
|
WITH data AS (
|
||||||
SELECT packages.name, packages.version, translated_package_synopsis.synopsis,
|
SELECT packages.name, packages.version,
|
||||||
|
packages.replacement_package_id IS NOT NULL,
|
||||||
|
translated_package_synopsis.synopsis,
|
||||||
translated_package_synopsis.locale, translated_package_descriptions.description,
|
translated_package_synopsis.locale, translated_package_descriptions.description,
|
||||||
translated_package_descriptions.locale, package_metadata.home_page,
|
translated_package_descriptions.locale, package_metadata.home_page,
|
||||||
locations.file, locations.line, locations.column_number,
|
locations.file, locations.line, locations.column_number,
|
||||||
|
|
@ -165,7 +167,9 @@ WITH revision_packages AS (
|
||||||
SELECT DISTINCT ON
|
SELECT DISTINCT ON
|
||||||
(packages.name, packages.version, packages.replacement_package_id)
|
(packages.name, packages.version, packages.replacement_package_id)
|
||||||
packages.name,
|
packages.name,
|
||||||
packages.version, package_synopsis.synopsis,
|
packages.version,
|
||||||
|
packages.replacement_package_id IS NOT NULL AS has_replacement,
|
||||||
|
package_synopsis.synopsis,
|
||||||
package_synopsis.locale AS synopsis_locale,
|
package_synopsis.locale AS synopsis_locale,
|
||||||
package_descriptions.description,
|
package_descriptions.description,
|
||||||
package_descriptions.locale AS description_locale,
|
package_descriptions.locale AS description_locale,
|
||||||
|
|
@ -203,7 +207,7 @@ WITH revision_packages AS (
|
||||||
ELSE 0
|
ELSE 0
|
||||||
END DESC
|
END DESC
|
||||||
)
|
)
|
||||||
SELECT name, version, synopsis, synopsis_locale,
|
SELECT name, version, has_replacement, synopsis, synopsis_locale,
|
||||||
description, description_locale,
|
description, description_locale,
|
||||||
home_page, file, line, column_number, licenses
|
home_page, file, line, column_number, licenses
|
||||||
FROM search_results
|
FROM search_results
|
||||||
|
|
@ -538,7 +542,7 @@ ORDER BY first_datetime DESC, package_version DESC")
|
||||||
(define (any-package-synopsis-or-descriptions-translations? packages locale)
|
(define (any-package-synopsis-or-descriptions-translations? packages locale)
|
||||||
(any
|
(any
|
||||||
(match-lambda
|
(match-lambda
|
||||||
((name version synopsis synopsis-locale description description-locale _ _ _ _ _)
|
((name version has-replacement? synopsis synopsis-locale description description-locale _ _ _ _ _)
|
||||||
(or (string=? synopsis-locale locale)
|
(or (string=? synopsis-locale locale)
|
||||||
(string=? description-locale locale))))
|
(string=? description-locale locale))))
|
||||||
packages))
|
packages))
|
||||||
|
|
|
||||||
|
|
@ -175,12 +175,14 @@
|
||||||
(let ((parsed-query-parameters
|
(let ((parsed-query-parameters
|
||||||
(parse-query-parameters
|
(parse-query-parameters
|
||||||
request
|
request
|
||||||
`((locale ,identity #:default "en_US.UTF-8")))))
|
`((locale ,identity #:default "en_US.UTF-8")
|
||||||
|
(has_replacement ,parse-checkbox-value
|
||||||
|
#:default #f)))))
|
||||||
(render-revision-package-version mime-types
|
(render-revision-package-version mime-types
|
||||||
commit-hash
|
commit-hash
|
||||||
name
|
name
|
||||||
version
|
version
|
||||||
parsed-query-parameters))
|
parsed-query-parameters))
|
||||||
(render-unprocessed-revision mime-types
|
(render-unprocessed-revision mime-types
|
||||||
commit-hash)))
|
commit-hash)))
|
||||||
(('GET "revision" commit-hash "package-derivations")
|
(('GET "revision" commit-hash "package-derivations")
|
||||||
|
|
@ -762,7 +764,7 @@
|
||||||
(packages
|
(packages
|
||||||
. ,(list->vector
|
. ,(list->vector
|
||||||
(map (match-lambda
|
(map (match-lambda
|
||||||
((name version synopsis synopsis-locale description description-locale home-page
|
((name version has-replacement? synopsis synopsis-locale description description-locale home-page
|
||||||
location-file location-line
|
location-file location-line
|
||||||
location-column-number licenses)
|
location-column-number licenses)
|
||||||
`((name . ,name)
|
`((name . ,name)
|
||||||
|
|
@ -918,6 +920,8 @@
|
||||||
|
|
||||||
(define locale (assq-ref query-parameters 'locale))
|
(define locale (assq-ref query-parameters 'locale))
|
||||||
|
|
||||||
|
(define has-replacement? (assq-ref query-parameters 'has_replacement))
|
||||||
|
|
||||||
(letpar& ((metadata
|
(letpar& ((metadata
|
||||||
(with-resource-from-pool (connection-pool) conn
|
(with-resource-from-pool (connection-pool) conn
|
||||||
(select-package-metadata-by-revision-name-and-version
|
(select-package-metadata-by-revision-name-and-version
|
||||||
|
|
@ -925,7 +929,8 @@
|
||||||
commit-hash
|
commit-hash
|
||||||
name
|
name
|
||||||
version
|
version
|
||||||
locale)))
|
locale
|
||||||
|
#:replacement? has-replacement?)))
|
||||||
(derivations
|
(derivations
|
||||||
(with-resource-from-pool (connection-pool) conn
|
(with-resource-from-pool (connection-pool) conn
|
||||||
(map
|
(map
|
||||||
|
|
|
||||||
|
|
@ -658,7 +658,7 @@
|
||||||
,@(let ((fields (assq-ref query-parameters 'field)))
|
,@(let ((fields (assq-ref query-parameters 'field)))
|
||||||
(map
|
(map
|
||||||
(match-lambda
|
(match-lambda
|
||||||
((name version synopsis synopsis-locale description description-locale home-page
|
((name version has-replacement? synopsis synopsis-locale description description-locale home-page
|
||||||
location-file location-line
|
location-file location-line
|
||||||
location-column-number licenses)
|
location-column-number licenses)
|
||||||
`(tr
|
`(tr
|
||||||
|
|
@ -725,7 +725,10 @@
|
||||||
(a (@ (href ,(string-append
|
(a (@ (href ,(string-append
|
||||||
(string-drop-right path-base 1)
|
(string-drop-right path-base 1)
|
||||||
"/" name "/" version
|
"/" name "/" version
|
||||||
"?locale=" (assoc-ref query-parameters 'locale))))
|
"?locale=" (assoc-ref query-parameters 'locale)
|
||||||
|
(if (string=? has-replacement? "t")
|
||||||
|
"&has_replacement=on"
|
||||||
|
""))))
|
||||||
"More information")))))
|
"More information")))))
|
||||||
packages))))))
|
packages))))))
|
||||||
,@(if show-next-page?
|
,@(if show-next-page?
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue