<commit_before>package jenkins.model.GlobalCloudConfiguration

import hudson.slaves.Cloud


def f = namespace(lib.FormTagLib)
def l = namespace(lib.LayoutTagLib)
def st = namespace("jelly:stapler")

l.layout(norefresh:true, permission:app.ADMINISTER, title:my.displayName) {
    l.side_panel {
        l.tasks {
            l.task(icon:"icon-up icon-md", href:rootURL+'/', title:_("Back to Dashboard"))
            l.task(icon:"icon-gear2 icon-md", href:"${rootURL}/computer/", title:_("Manage Nodes"))
        }
    }
    l.main_panel {
        h1 {
            l.icon(class: 'icon-health-40to59 icon-xlg')
            // TODO more appropriate icon
            text(my.displayName)
        }

        def clouds = Cloud.all()

        if (!clouds.isEmpty()) {
            p()
            div(class:"behavior-loading", _("LOADING"))

            f.form(method:"post",name:"config",action:"configure") {
                f.block {
                    f.hetero_list(name:"cloud", hasHeader:true, descriptors:Cloud.all(), items:app.clouds,
                            addCaption:_("Add a new cloud"), deleteCaption:_("Delete cloud"))
                }

                f.bottomButtonBar {
                    f.submit(value:_("Save"))
                    f.apply(value:_("Apply"))
                }
            }
            st.adjunct(includes: "lib.form.confirm")
        } else {
            p(_("There are no cloud implementations for dynamically allocated agents installed. "))
            a(href: rootURL + "/pluginManager/available", _("Go to plugin manager."))
        }
    }
}<commit_msg>Link from cloud configuration to pre-filtered plugin manager<commit_after>package jenkins.model.GlobalCloudConfiguration

import hudson.slaves.Cloud
import jenkins.model.Jenkins


def f = namespace(lib.FormTagLib)
def l = namespace(lib.LayoutTagLib)
def st = namespace("jelly:stapler")

l.layout(norefresh:true, permission:app.ADMINISTER, title:my.displayName) {
    l.side_panel {
        l.tasks {
            l.task(icon:"icon-up icon-md", href:rootURL+'/', title:_("Back to Dashboard"))
            l.task(icon:"icon-gear2 icon-md", href:"${rootURL}/computer/", title:_("Manage Nodes"))
        }
    }
    l.main_panel {
        h1 {
            l.icon(class: 'icon-health-40to59 icon-xlg')
            // TODO more appropriate icon
            text(my.displayName)
        }

        def clouds = Cloud.all()

        if (!clouds.isEmpty()) {
            p()
            div(class:"behavior-loading", _("LOADING"))

            f.form(method:"post",name:"config",action:"configure") {
                f.block {
                    f.hetero_list(name:"cloud", hasHeader:true, descriptors:Cloud.all(), items:app.clouds,
                            addCaption:_("Add a new cloud"), deleteCaption:_("Delete cloud"))
                }

                f.bottomButtonBar {
                    f.submit(value:_("Save"))
                    f.apply(value:_("Apply"))
                }
            }
            st.adjunct(includes: "lib.form.confirm")
        } else {
            String label = Jenkins.get().updateCenter.getCategoryDisplayName("cloud")

            p(_("There are no cloud implementations for dynamically allocated agents installed. "))
            a(href: rootURL + "/pluginManager/available?filter=" + URLEncoder.encode(label, "UTF-8"), _("Go to plugin manager."))
        }
    }
}
{'fraction_non_alphanumeric': 0.13814432989690723, 'fraction_numerical': 0.003829160530191458, 'mean_word_length': 2.0484739676840213, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4826027', 'n_tokens_mistral': 1015, 'n_tokens_neox': 960, 'n_words': 178}