Jump to content

Recommended Posts

Posted

Good afternoon,

When amending the Request Details field against our Change Requests, the Save button remains greyed out.

I can confirm:

  • No fields are mandatory (i.e. The field value cannot be blank when saving is unchecked) except for the Summary field, which is always populated
  • I can replicate this after updating a blank field or updating a field with existing data
  • This occurs with Custom Fields and also change related fields.

Please can someone look at this as a matter of urgency, as we are getting a rising number of Change Requests where the request details cannot be amended and therefore the change cannot be submitted.
image.png.99a6a4fa80db6e67f4c76946b28c2db7.png

 

 

On a side note (as I don't know if this relates to the issue I'm reporting), when I use the developer tools then do a hard-refresh of the Change Request, this comes up in the console:
image.png.fdbcebebf39a0b27f2b18a6012cc28ea.png

And it relates to this bit in red when I click on undefined:2:1 :

Quote


<!doctype html>
<html ng-app2="core" lang="en">  
<!-- ng-csp -->
<head>
<base href="">
<script type="text/javascript">
    
    // Non Supported Browser Redirect:
    var isUnsupportedBrowser = false,
        browserAgent = window.navigator.userAgent,
        offsetVersion,
        BROWSER_SAFARI_MIN_VER=14,
        BROWSER_FIREFOX_MIN_VER=100;
    if(/MSIE|Trident/.test(browserAgent)){// IE or old Edge Check:
        isUnsupportedBrowser = true;
    } else if ((offsetVersion = browserAgent.indexOf("Safari")) != -1) {// Safari Check + get Version
        var ix, browserVersion = browserAgent.substring(offsetVersion + 7);
        if ((offsetVersion = browserAgent.indexOf("Version")) != -1){ browserVersion = browserAgent.substring(offsetVersion + 8); }
        if ((ix = browserVersion.indexOf(";")) != -1){ browserVersion = browserVersion.substring(0, ix); }
        if ((ix = browserVersion.indexOf(" ")) != -1){ browserVersion = browserVersion.substring(0, ix); }
        browserVersion = parseInt(browserVersion);
        if(browserVersion && browserVersion<=BROWSER_SAFARI_MIN_VER){ // If is Safari lower than 13 then is not supported
            isUnsupportedBrowser = true;
        }
    } else if(browserAgent.indexOf('Firefox') !== -1){
        var matches = browserAgent.match(/Firefox\/([0-9]+\.*[0-9]*)/);
        if (matches) {
            browserVersion = parseInt(matches[1]);
            if(browserVersion && browserVersion<=BROWSER_FIREFOX_MIN_VER){
                isUnsupportedBrowser = true;
            }
        }
    }
    if(isUnsupportedBrowser){
        document.location.href = "/non-supported-browser.html?rel=2351";
    }
    var instanceId = window.location.pathname.split('/')[1];
    if (!instanceId) {
        window.location.replace("https://www.hornbill.com");
    }
    var coreBuild = "2351";
    var deploymentMode = "deployment_mode:production";

    var esp = {
        core: {
            build: coreBuild === "@" + "@" + "**core.build**" ? "0" : coreBuild,
            name: "Collaboration UI",
            version: "2.5.0",
            buildTime: "2025-03-11T07:59:37.822Z"
        },
        ui: {},
        initLoader : {
            startTime: Date.now(),
            steps: 10,
            currentStep: 1,
            isDev: false,
            setDevMsg: function(msg, msg2){
                if(!esp.initLoader.isDev) return;
                const msgEl = document.getElementById("js-loading-screen-msg");
                if(msgEl) msgEl.innerText = msg;
                if(msg2){
                    const msg2El = document.getElementById("js-loading-screen-msg-2");
                    if(msg2El) msg2El.innerText = msg2;
                }
            },
            nextStep: function(){
                const currStep = esp.initLoader.currentStep++;
                const progresEl = document.querySelector("progress.loading-status");
                if (progresEl) {
                    progresEl.max = esp.initLoader.steps;
                    document.querySelector("progress.loading-status").value = currStep;
                }
            }
        },
        loadAuth: async function() {
            await esp.internalLib.resourceLoader.many(["app/login/auth.js?rel=2351"]);
        }
    };

    esp.appPath = document.location.protocol+"//"+document.location.hostname+"/~"+esp.core.build;
    
    var loc = window.location.protocol + '//' + window.location.host + "/" + window.location.pathname.split('/')[1] + "/";
    
    var baseTag = document.getElementsByTagName('base')[0];
    baseTag.href = loc;
</script>

    <title>Hornbill</title>
    <meta name="theme-color" content="#F5F5F5" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=5.0, minimum-scale=0.3, user-scalable=1" />
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />

    <link rel="icon" type="image/png" xhref="lib/shared-Images/hornbill/favicon.ico" id="_favicon1">
    <link rel="icon" type="image/png" sizes="192x192" xhref="lib/shared-Images/hornbill/Hornbill_favicon_192x192.png?rel=2351"
        id="_favicon2">

    
    <!-- Loading -->
    <style>
    body{
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
        font-size: 14px;
        line-height: 1.42857143;
        color: #333;
        background-color: #fff;
        margin: 0;
    }
    html,body,#js-loading-screen{
        height: 100%;
    }
    #js-loading-screen{
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
    }
    #js-loading-screen img {
        animation: js-loading 2s linear infinite alternate;
        height: 96px;
        width: 96px;
        margin-bottom: 1rem;
    }
    #js-loading-screen label.loading-status-msg {
        font-family: sans-serif;
        font-size: 12px;
        font-weight: 500;
        color: #888;
    }
    #js-loading-screen progress.loading-status{
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        width: 100%;
        height: 5px;
        border: none;/* Firefox */
        position: fixed;
        top: 0;
    }
    #js-loading-screen progress.loading-status::-webkit-progress-bar{
        background-color: #e9e9e9;
        border-radius: 3px;
    }    
    #js-loading-screen progress.loading-status::-webkit-progress-value{
        background-color: #F2892B;
        border-radius: 3px 0 0 3px;
    }
    #js-loading-screen progress.loading-status::-moz-progress-bar{
        background-color: #F2892B;
        border-radius: 3px 0 0 3px;
    }

    /* Chrome, Safari, Opera */
    @-webkit-keyframes js-loading {
        0%   {
            opacity: 1;
            -webkit-transform: rotate(0deg) scale(.5,.5); /* Chrome, Safari, Opera */
        }
        100% {
            -webkit-transform: rotate(360deg) scale(1,1); /* Chrome, Safari, Opera */
            opacity: 0;
        }
    }
    /* Firefox */
    @-moz-keyframes js-loading {
        0%   {
            opacity: 1;
            -moz-transform: rotate(0deg) scale(.5,.5); /* Chrome, Safari, Opera */
        }
        100% {
            -moz-transform: rotate(360deg) scale(1,1); /* Chrome, Safari, Opera */
            opacity: 0;
        }
    }
    /* Standard syntax */
    @keyframes js-loading {
        0%   {
            opacity: 1;
            transform: rotate(0deg) scale(.5,.5);
        }
        100% {
            transform: rotate(360deg) scale(1,1);
            opacity: 0;
        }
    }
    </style>

    <script>
    if (window.self !== window.top) {
        var style = document.createElement("style");
        style.appendChild(document.createTextNode(""));
        style.innerHTML = ".theme-default .hb-topnavbar { display:none !important; }";
        style.innerHTML += ".body-row { margin-top:0 !important; }";
        style.innerHTML += "#app-wrapper .right-slide-bar { top:0 !important; }";
        style.innerHTML += ".right-slide-bar-buttons { top:0 !important; }";
        document.head.appendChild(style);
    }

    document.addEventListener("DOMContentLoaded", function (event) {
        var element = document.createElement("script");
        element.src = esp.appPath+"/app/esp.bootstrap.js?rel=2351";
        document.body.appendChild(element);
    });

    document.querySelector("#_favicon1").href = "lib/shared-Images/hornbill/favicon.ico";
    document.querySelector("#_favicon2").href = "lib/shared-Images/hornbill/Hornbill_favicon_192x192.png?rel=2351";
    </script>
</head>
<body id="app-wrapper" ng-controller="GlobalController as gc" ng-class="{'translation-mode-on':gc.isTranslationMode,  
'is-right-side-bar-open':gc.isRightSlideBarOpen, 
'large-slidebar':gc.rightSlideBarLarge, 
'slidebar-sm': gc.rightSlideBarWidthNr <= 350,
'slidebar-md': gc.rightSlideBarWidthNr > 350 && gc.rightSlideBarWidthNr < 450,
'slidebar-lg': gc.rightSlideBarWidthNr >= 450,
'is-safari': gc.isSafari,
'is-edge':gc.isEdge,
'is-chrome':gc.isChrome,
'is-ie':gc.isIE,
'is-firefox': gc.isFirefox,
'show-plugins-style':gc.showPluginsStyle, 
'use-new-main-nav':true, 
'use-old-main-nav':false, 
'use-light-mode':!gc.useDarkMode && !gc.useHighContrastMode,
'use-dark-mode':gc.useDarkMode,
'use-high-contrast-mode':gc.useHighContrastMode,
'account-class-basic':gc.accountType==='basic',
'is-portal-view':gc.isPortalView,
'auto-hide-header':gc.autoHideHeader}"
hb-right-click="translateString" hb-mouseover="hb-popover" delegate-selector=".translation-mode-on .hb-translate"
class="{{::'bootstrap-'+$root.BOOTSTRAP_VERSION+' presentation-stream-'+gc.presentationStream+' theme-'+(gc.styleTheme||'default') + (gc.isMobileDevice?' is-mobile-device':' is-not-mobile-device')}} dkl">
<audio id="mainAudioPlayer">
    <source id="mainAudioPlayerMpegSource" type="audio/mpeg">
</audio>
<!--[if lte IE 10]><p>You are using an unsupported browser</p><![endif]-->
<toasty></toasty>
<div id="angular-app-container" hb-delegated-popover popover-config="gc.popoverConfig" style="display: none;">
</div>

<div class="app-busy-container" ng-if="gc.isAppBusy" ng-class="{'active' : gc.isAppBusyActive}">
    <div class="app-busy-loading">
        <hb-loading loading="true" message="'Loading'|hbTranslate:'user.core.loading'"></hb-loading>
    </div>
</div>

<div id="mainModalMask"></div>
<div id="SkypeButton"></div>
<div id="js-loading-screen" class="text-center padding-full hb-loading" style="text-align: center;">
    <img x-src="lib/shared-Images/hornbill/hornbill-logo.svg?rel=2351" id="_loadingImg1">
    <progress class="loading-status" max="0" value="0"></progress>
    <label class="loading-status-msg" id="js-loading-screen-msg"></label>
    <label class="loading-status-msg" id="js-loading-screen-msg-2"></label>
</div>
<!--[if IE]>
<script>
    alert("IE")
    window.isIE = true;
</script>
<![endif]-->

<script>
    document.querySelector("#_loadingImg1").src = "lib/shared-Images/hornbill/hornbill-logo.svg?rel=2351";
</script>

</body>
</html>

 

Posted

I have tried to replicate, but so far, I've not been able to.  @samwoo if this is urgent, as you mention, it would probably be worth raising with Hornbill Support.  You said that you have a "rising number" so I'm assuming by this that it is not an issue with all changes.

Does it always happen on a particular type of change that is associated with a particular service?  When this is happening, does a browser refresh make any difference?  Does this happen to random users or a particular user or group of users?

 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...