google-nomulus/java/google/registry/ui/js/registrar/main.js
guyben a3a60075a0 Hide the edit/add buttons for fields the user can't update
Currently the /registrar-settings backend endpoint will fail to update any
OWNER fields that a non-OWNER tries to change.

However, the front-end (soy, js) still allow non-OWNERs to try and change
these fields (there's the "edit" or "add" button, and it only fails when you try to "save")

This CL changes the front-end to remove the ability for non-OWNERs to even try
and change these fields. However, it will still let them *view* these fields as
it has interesting and important information.

-------------------------------

In addition - it changes the webdriver tests to include the "edit buttons". Those were never tested before, and now we will test to see if they are indeed displayed or not.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=223845883
2018-12-03 19:25:05 -05:00

57 lines
2 KiB
JavaScript

// Copyright 2017 The Nomulus Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
/**
* @fileoverview Entry point for the registrar console.
*/
goog.provide('registry.registrar.main');
goog.require('registry.registrar.Console');
/**
* Instantiates a registry object, which syncs with the server.
* Sub-templates are invoked based on location/pathname, to choose
* either Registry or Registrar pages.
*
* @param {string} xsrfToken populated by server-side soy template.
* @param {string} clientId The registrar clientId.
* @param {boolean} isAdmin
* @param {boolean} isOwner
* @param {string} productName the product name displayed by the UI.
* @param {string} integrationEmail
* @param {string} supportEmail
* @param {string} announcementsEmail
* @param {string} supportPhoneNumber
* @param {string} technicalDocsUrl
* @export
*/
registry.registrar.main = function(xsrfToken, clientId, isAdmin, isOwner,
productName, integrationEmail, supportEmail,
announcementsEmail, supportPhoneNumber,
technicalDocsUrl) {
new registry.registrar.Console({
xsrfToken: xsrfToken,
clientId: clientId,
isAdmin: isAdmin,
isOwner: isOwner,
productName: productName,
integrationEmail: integrationEmail,
supportEmail: supportEmail,
announcementsEmail: announcementsEmail,
supportPhoneNumber: supportPhoneNumber,
technicalDocsUrl: technicalDocsUrl
});
};