mirror of
https://github.com/google/nomulus.git
synced 2025-05-13 07:57:13 +02:00
Genericize Google Drive Links
Replace the two drive links on the "contact us" page with values that can be driven from the config. The drive links are the link to the technical documentation folder and the link to the registrar's transaction activity reports. The former is a straightforward static replacement, but the latter is derived from a per-registrar Google Drive id which must be formatted using a template from the config module. Note: This currently requires adding the transaction activity URL template to the old-style RegistryConfig class instead of the daggerized ConfigModule because this is the easiest way to pass it though to the non-daggerized RegistrarServlet. In an upcoming CL, I'll convert RegistrarServlet to RegistrarAction and then I'll be able to make this template injectable. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=137518466
This commit is contained in:
parent
c89a902b72
commit
2e4273c4f4
14 changed files with 50 additions and 23 deletions
|
@ -141,6 +141,16 @@ public final class ConfigModule {
|
||||||
return "+1 (888) 555 0123";
|
return "+1 (888) 555 0123";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The URL for technical support docs. Used in the "contact-us" section of the registrar console.
|
||||||
|
*/
|
||||||
|
@Provides
|
||||||
|
@Config("technicalDocsUrl")
|
||||||
|
public static String provideTechnicalDocsUrl(RegistryEnvironment environment) {
|
||||||
|
// Change this to your support docs link.
|
||||||
|
return "http://example.com/your_support_docs/";
|
||||||
|
}
|
||||||
|
|
||||||
/** @see RegistryConfig#getZoneFilesBucket() */
|
/** @see RegistryConfig#getZoneFilesBucket() */
|
||||||
@Provides
|
@Provides
|
||||||
@Config("zoneFilesBucket")
|
@Config("zoneFilesBucket")
|
||||||
|
|
|
@ -16,7 +16,6 @@ goog.provide('registry.registrar.ContactUs');
|
||||||
|
|
||||||
goog.require('goog.Uri');
|
goog.require('goog.Uri');
|
||||||
goog.require('goog.dom');
|
goog.require('goog.dom');
|
||||||
goog.require('goog.object');
|
|
||||||
goog.require('registry.Resource');
|
goog.require('registry.Resource');
|
||||||
goog.require('registry.ResourceComponent');
|
goog.require('registry.ResourceComponent');
|
||||||
goog.require('registry.soy.registrar.console');
|
goog.require('registry.soy.registrar.console');
|
||||||
|
@ -45,15 +44,6 @@ registry.registrar.ContactUs = function(console, xsrfToken) {
|
||||||
goog.inherits(registry.registrar.ContactUs, registry.ResourceComponent);
|
goog.inherits(registry.registrar.ContactUs, registry.ResourceComponent);
|
||||||
|
|
||||||
|
|
||||||
/** @override */
|
|
||||||
registry.registrar.ContactUs.prototype.renderItem = function(rspObj) {
|
|
||||||
// Augment the static parameters with the response object, we'll need both.
|
|
||||||
var params = goog.object.clone(this.console.params);
|
|
||||||
goog.object.extend(params, rspObj);
|
|
||||||
registry.registrar.ContactUs.base(this, 'renderItem', params);
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/** @override */
|
/** @override */
|
||||||
registry.registrar.ContactUs.prototype.bindToDom = function(id) {
|
registry.registrar.ContactUs.prototype.bindToDom = function(id) {
|
||||||
registry.registrar.ContactUs.base(this, 'bindToDom', '');
|
registry.registrar.ContactUs.base(this, 'bindToDom', '');
|
||||||
|
|
|
@ -33,11 +33,13 @@ goog.require('registry.registrar.Console');
|
||||||
* @param {string} supportEmail
|
* @param {string} supportEmail
|
||||||
* @param {string} announcementsEmail
|
* @param {string} announcementsEmail
|
||||||
* @param {string} supportPhoneNumber
|
* @param {string} supportPhoneNumber
|
||||||
|
* @param {string} technicalDocsUrl
|
||||||
* @export
|
* @export
|
||||||
*/
|
*/
|
||||||
registry.registrar.main = function(xsrfToken, clientId, productName,
|
registry.registrar.main = function(xsrfToken, clientId, productName,
|
||||||
integrationEmail, supportEmail,
|
integrationEmail, supportEmail,
|
||||||
announcementsEmail, supportPhoneNumber) {
|
announcementsEmail, supportPhoneNumber,
|
||||||
|
technicalDocsUrl) {
|
||||||
new registry.registrar.Console({
|
new registry.registrar.Console({
|
||||||
xsrfToken: xsrfToken,
|
xsrfToken: xsrfToken,
|
||||||
clientId: clientId,
|
clientId: clientId,
|
||||||
|
@ -45,6 +47,7 @@ registry.registrar.main = function(xsrfToken, clientId, productName,
|
||||||
integrationEmail: integrationEmail,
|
integrationEmail: integrationEmail,
|
||||||
supportEmail: supportEmail,
|
supportEmail: supportEmail,
|
||||||
announcementsEmail: announcementsEmail,
|
announcementsEmail: announcementsEmail,
|
||||||
supportPhoneNumber: supportPhoneNumber
|
supportPhoneNumber: supportPhoneNumber,
|
||||||
|
technicalDocsUrl: technicalDocsUrl
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
|
@ -16,6 +16,7 @@ goog.provide('registry.ResourceComponent');
|
||||||
|
|
||||||
goog.require('goog.dom');
|
goog.require('goog.dom');
|
||||||
goog.require('goog.json');
|
goog.require('goog.json');
|
||||||
|
goog.require('goog.object');
|
||||||
goog.require('registry.EditItem');
|
goog.require('registry.EditItem');
|
||||||
goog.require('registry.forms');
|
goog.require('registry.forms');
|
||||||
goog.require('registry.util');
|
goog.require('registry.util');
|
||||||
|
@ -53,6 +54,15 @@ registry.ResourceComponent = function(
|
||||||
goog.inherits(registry.ResourceComponent, registry.EditItem);
|
goog.inherits(registry.ResourceComponent, registry.EditItem);
|
||||||
|
|
||||||
|
|
||||||
|
/** @override */
|
||||||
|
registry.ResourceComponent.prototype.renderItem = function(rspObj) {
|
||||||
|
// Augment the console parameters with the response object, we'll need both.
|
||||||
|
var params = goog.object.clone(this.console.params);
|
||||||
|
goog.object.extend(params, rspObj);
|
||||||
|
registry.ResourceComponent.base(this, 'renderItem', params);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
/** @override */
|
/** @override */
|
||||||
registry.ResourceComponent.prototype.bindToDom = function(id) {
|
registry.ResourceComponent.prototype.bindToDom = function(id) {
|
||||||
registry.ResourceComponent.base(this, 'bindToDom', id);
|
registry.ResourceComponent.base(this, 'bindToDom', id);
|
||||||
|
|
|
@ -64,6 +64,7 @@ public final class ConsoleUiAction implements Runnable {
|
||||||
@Inject @Config("supportEmail") String supportEmail;
|
@Inject @Config("supportEmail") String supportEmail;
|
||||||
@Inject @Config("announcementsEmail") String announcementsEmail;
|
@Inject @Config("announcementsEmail") String announcementsEmail;
|
||||||
@Inject @Config("supportPhoneNumber") String supportPhoneNumber;
|
@Inject @Config("supportPhoneNumber") String supportPhoneNumber;
|
||||||
|
@Inject @Config("technicalDocsUrl") String technicalDocsUrl;
|
||||||
@Inject @Config("registrarConsoleEnabled") boolean enabled;
|
@Inject @Config("registrarConsoleEnabled") boolean enabled;
|
||||||
@Inject ConsoleUiAction() {}
|
@Inject ConsoleUiAction() {}
|
||||||
|
|
||||||
|
@ -79,6 +80,7 @@ public final class ConsoleUiAction implements Runnable {
|
||||||
data.put("supportEmail", supportEmail);
|
data.put("supportEmail", supportEmail);
|
||||||
data.put("announcementsEmail", announcementsEmail);
|
data.put("announcementsEmail", announcementsEmail);
|
||||||
data.put("supportPhoneNumber", supportPhoneNumber);
|
data.put("supportPhoneNumber", supportPhoneNumber);
|
||||||
|
data.put("technicalDocsUrl", technicalDocsUrl);
|
||||||
if (!enabled) {
|
if (!enabled) {
|
||||||
response.setStatus(SC_SERVICE_UNAVAILABLE);
|
response.setStatus(SC_SERVICE_UNAVAILABLE);
|
||||||
response.setPayload(
|
response.setPayload(
|
||||||
|
|
|
@ -32,6 +32,7 @@
|
||||||
{@param supportEmail: string}
|
{@param supportEmail: string}
|
||||||
{@param announcementsEmail: string}
|
{@param announcementsEmail: string}
|
||||||
{@param supportPhoneNumber: string}
|
{@param supportPhoneNumber: string}
|
||||||
|
{@param technicalDocsUrl: string}
|
||||||
|
|
||||||
{call registry.soy.console.header}
|
{call registry.soy.console.header}
|
||||||
{param app: 'registrar' /}
|
{param app: 'registrar' /}
|
||||||
|
@ -72,7 +73,8 @@
|
||||||
{$integrationEmail},
|
{$integrationEmail},
|
||||||
{$supportEmail},
|
{$supportEmail},
|
||||||
{$announcementsEmail},
|
{$announcementsEmail},
|
||||||
{$supportPhoneNumber});
|
{$supportPhoneNumber},
|
||||||
|
{$technicalDocsUrl});
|
||||||
</script>
|
</script>
|
||||||
{/if}
|
{/if}
|
||||||
{/template}
|
{/template}
|
||||||
|
@ -269,6 +271,7 @@
|
||||||
/** Resources and billing links. */
|
/** Resources and billing links. */
|
||||||
{template .resources}
|
{template .resources}
|
||||||
{@param? driveFolderId: string}
|
{@param? driveFolderId: string}
|
||||||
|
{@param technicalDocsUrl: string}
|
||||||
<div id="domain-registrar-resources">
|
<div id="domain-registrar-resources">
|
||||||
<h1>Resources & billing</h1>
|
<h1>Resources & billing</h1>
|
||||||
<p>
|
<p>
|
||||||
|
@ -276,10 +279,10 @@
|
||||||
important documentation.
|
important documentation.
|
||||||
<h2><img src="/assets/images/folder.png">TLD information</h2>
|
<h2><img src="/assets/images/folder.png">TLD information</h2>
|
||||||
<p>
|
<p>
|
||||||
Find onboarding FAQs & technical documentation in this folder.
|
Find onboarding FAQs & technical documentation here:
|
||||||
<br><br>
|
<br><br>
|
||||||
<a class="{css kd-button} {css kd-button-submit}"
|
<a class="{css kd-button} {css kd-button-submit}"
|
||||||
href="https://drive.google.com/a/googleregistry.co/folderview?id=0B-X8z5IcswtqNmw5ekx2bU51ckk&usp=sharing"
|
href="{$technicalDocsUrl}"
|
||||||
target="_blank" rel="noopener">View TLD information on Google Drive</a>
|
target="_blank" rel="noopener">View TLD information on Google Drive</a>
|
||||||
<h2><img src="/assets/images/folder.png">Billing details</h2>
|
<h2><img src="/assets/images/folder.png">Billing details</h2>
|
||||||
<p>
|
<p>
|
||||||
|
@ -288,7 +291,7 @@
|
||||||
{if (isNonnull($driveFolderId))}
|
{if (isNonnull($driveFolderId))}
|
||||||
<a id="reg-resources-driveLink"
|
<a id="reg-resources-driveLink"
|
||||||
class="{css kd-button} {css kd-button-submit}"
|
class="{css kd-button} {css kd-button-submit}"
|
||||||
href="https://drive.google.com/a/googleregistry.co/folderview?id={$driveFolderId}&usp=sharing"
|
href="https://drive.google.com/drive/folders/{$driveFolderId}"
|
||||||
target="_blank" rel="noopener">View billing details on Google Drive</a>
|
target="_blank" rel="noopener">View billing details on Google Drive</a>
|
||||||
{else}
|
{else}
|
||||||
<em>Your billing folder is pending allocation.</em>
|
<em>Your billing folder is pending allocation.</em>
|
||||||
|
|
|
@ -57,7 +57,8 @@ function setUp() {
|
||||||
integrationEmail: 'integration@example.com',
|
integrationEmail: 'integration@example.com',
|
||||||
supportEmail: 'support@example.com',
|
supportEmail: 'support@example.com',
|
||||||
announcementsEmail: 'announcement@example.com',
|
announcementsEmail: 'announcement@example.com',
|
||||||
supportPhoneNumber: '+1 (888) 555 0123'
|
supportPhoneNumber: '+1 (888) 555 0123',
|
||||||
|
technicalDocsUrl: 'http://example.com/techdocs',
|
||||||
});
|
});
|
||||||
registry.registrar.ConsoleTestUtil.setup(test);
|
registry.registrar.ConsoleTestUtil.setup(test);
|
||||||
var regNavlist = $('reg-navlist');
|
var regNavlist = $('reg-navlist');
|
||||||
|
@ -126,7 +127,8 @@ function testShowLoginOrDash() {
|
||||||
function testNavToResources() {
|
function testNavToResources() {
|
||||||
registry.registrar.ConsoleTestUtil.visit(test, {
|
registry.registrar.ConsoleTestUtil.visit(test, {
|
||||||
path: 'resources',
|
path: 'resources',
|
||||||
xsrfToken: test.testXsrfToken
|
xsrfToken: test.testXsrfToken,
|
||||||
|
technicalDocsUrl: 'http://example.com/techdocs'
|
||||||
});
|
});
|
||||||
var xhr = goog.testing.net.XhrIo.getSendInstances().pop();
|
var xhr = goog.testing.net.XhrIo.getSendInstances().pop();
|
||||||
assertTrue(xhr.isActive());
|
assertTrue(xhr.isActive());
|
||||||
|
|
|
@ -57,6 +57,7 @@ function setUp() {
|
||||||
supportEmail: 'support@google.com',
|
supportEmail: 'support@google.com',
|
||||||
announcementsEmail: 'announcements@google.com',
|
announcementsEmail: 'announcements@google.com',
|
||||||
supportPhoneNumber: '123 456 7890',
|
supportPhoneNumber: '123 456 7890',
|
||||||
|
technicalDocsUrl: 'http://example.com/techdocs'
|
||||||
});
|
});
|
||||||
stubs.setPath('goog.net.XhrIo', goog.testing.net.XhrIo);
|
stubs.setPath('goog.net.XhrIo', goog.testing.net.XhrIo);
|
||||||
registry.registrar.ConsoleTestUtil.setup(test);
|
registry.registrar.ConsoleTestUtil.setup(test);
|
||||||
|
|
|
@ -47,7 +47,8 @@ function setUp() {
|
||||||
integrationEmail: 'integration@example.com',
|
integrationEmail: 'integration@example.com',
|
||||||
supportEmail: 'support@example.com',
|
supportEmail: 'support@example.com',
|
||||||
announcementsEmail: 'announcement@example.com',
|
announcementsEmail: 'announcement@example.com',
|
||||||
supportPhoneNumber: '+1 (888) 555 0123'
|
supportPhoneNumber: '+1 (888) 555 0123',
|
||||||
|
technicalDocsUrl: 'http://example.com/techdocs'
|
||||||
});
|
});
|
||||||
registry.registrar.ConsoleTestUtil.setup(test);
|
registry.registrar.ConsoleTestUtil.setup(test);
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,7 +53,8 @@ function setUp() {
|
||||||
integrationEmail: 'integration@example.com',
|
integrationEmail: 'integration@example.com',
|
||||||
supportEmail: 'support@example.com',
|
supportEmail: 'support@example.com',
|
||||||
announcementsEmail: 'announcement@example.com',
|
announcementsEmail: 'announcement@example.com',
|
||||||
supportPhoneNumber: '+1 (888) 555 0123'
|
supportPhoneNumber: '+1 (888) 555 0123',
|
||||||
|
technicalDocsUrl: 'http://example.com/techdocs'
|
||||||
});
|
});
|
||||||
stubs.setPath('goog.net.XhrIo', goog.testing.net.XhrIo);
|
stubs.setPath('goog.net.XhrIo', goog.testing.net.XhrIo);
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,8 @@ function setUp() {
|
||||||
integrationEmail: 'integration@example.com',
|
integrationEmail: 'integration@example.com',
|
||||||
supportEmail: 'support@example.com',
|
supportEmail: 'support@example.com',
|
||||||
announcementsEmail: 'announcement@example.com',
|
announcementsEmail: 'announcement@example.com',
|
||||||
supportPhoneNumber: '+1 (888) 555 0123'
|
supportPhoneNumber: '+1 (888) 555 0123',
|
||||||
|
technicalDocsUrl: 'http://example.com/techdocs'
|
||||||
});
|
});
|
||||||
stubs.setPath('goog.net.XhrIo', goog.testing.net.XhrIo);
|
stubs.setPath('goog.net.XhrIo', goog.testing.net.XhrIo);
|
||||||
|
|
||||||
|
|
|
@ -61,7 +61,8 @@ function setUp() {
|
||||||
integrationEmail: 'integration@example.com',
|
integrationEmail: 'integration@example.com',
|
||||||
supportEmail: 'support@example.com',
|
supportEmail: 'support@example.com',
|
||||||
announcementsEmail: 'announcement@example.com',
|
announcementsEmail: 'announcement@example.com',
|
||||||
supportPhoneNumber: '+1 (888) 555 0123'
|
supportPhoneNumber: '+1 (888) 555 0123',
|
||||||
|
technicalDocsUrl: 'http://example.com/techdocs'
|
||||||
});
|
});
|
||||||
stubs.setPath('goog.net.XhrIo', goog.testing.net.XhrIo);
|
stubs.setPath('goog.net.XhrIo', goog.testing.net.XhrIo);
|
||||||
registry.registrar.ConsoleTestUtil.setup(test);
|
registry.registrar.ConsoleTestUtil.setup(test);
|
||||||
|
|
|
@ -55,7 +55,8 @@ function setUp() {
|
||||||
integrationEmail: 'integration@example.com',
|
integrationEmail: 'integration@example.com',
|
||||||
supportEmail: 'support@example.com',
|
supportEmail: 'support@example.com',
|
||||||
announcementsEmail: 'announcement@example.com',
|
announcementsEmail: 'announcement@example.com',
|
||||||
supportPhoneNumber: '+1 (888) 555 0123'
|
supportPhoneNumber: '+1 (888) 555 0123',
|
||||||
|
technicalDocsUrl: 'http://example.com/techdocs'
|
||||||
});
|
});
|
||||||
stubs.setPath('goog.net.XhrIo', goog.testing.net.XhrIo);
|
stubs.setPath('goog.net.XhrIo', goog.testing.net.XhrIo);
|
||||||
registry.registrar.ConsoleTestUtil.setup(test);
|
registry.registrar.ConsoleTestUtil.setup(test);
|
||||||
|
|
|
@ -56,6 +56,7 @@ public class ConsoleUiActionTest {
|
||||||
action.supportEmail = "support@example.com";
|
action.supportEmail = "support@example.com";
|
||||||
action.announcementsEmail = "announcements@example.com";
|
action.announcementsEmail = "announcements@example.com";
|
||||||
action.supportPhoneNumber = "1 (888) 555 0123";
|
action.supportPhoneNumber = "1 (888) 555 0123";
|
||||||
|
action.technicalDocsUrl = "http://example.com/technical-docs";
|
||||||
action.response = response;
|
action.response = response;
|
||||||
action.sessionUtils = sessionUtils;
|
action.sessionUtils = sessionUtils;
|
||||||
action.userService = UserServiceFactory.getUserService();
|
action.userService = UserServiceFactory.getUserService();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue