Migrate {css} and {xid} tags to new builtinfunctions css() and xid()

Output should be identical in either syntax, and migration will bring css and xid into consistency with other soy functions, plus it'll allow us to simplify the soy parser.

LSC: https://docs.google.com/document/d/1evNu02pVXGm1QIcN0dTmNi-GnhbCKOWdrZwBJmcNaU0/edit#

Tested:
    TAP --sample for global presubmit queue
    []

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164887843
This commit is contained in:
lukes 2017-08-10 12:31:54 -07:00 committed by Ben McIlwain
parent 477617eec9
commit 4de8d3eae1
12 changed files with 235 additions and 192 deletions

View file

@ -2,11 +2,11 @@ workspace(name = "domain_registry")
http_archive( http_archive(
name = "io_bazel_rules_closure", name = "io_bazel_rules_closure",
sha256 = "c104d30b4aaf23d72afe327b4478d1c08cf1ff75c6db2060682bb7ad0591e19b", sha256 = "286e9169d478c4549199e862d63b24aa8530e0fe1c1fd44524d307f3a56b0fa0",
strip_prefix = "rules_closure-962d929bc769fc320dd395f54fef3e9db62c3920", strip_prefix = "rules_closure-c8e68361db0875f6fabb23abed16f1cebbb8b5d5",
urls = [ urls = [
"http://mirror.bazel.build/github.com/bazelbuild/rules_closure/archive/962d929bc769fc320dd395f54fef3e9db62c3920.tar.gz", # 2016-12-28 "http://mirror.bazel.build/github.com/bazelbuild/rules_closure/archive/c8e68361db0875f6fabb23abed16f1cebbb8b5d5.tar.gz", # 2017-08-08
"https://github.com/bazelbuild/rules_closure/archive/962d929bc769fc320dd395f54fef3e9db62c3920.tar.gz", "https://github.com/bazelbuild/rules_closure/archive/c8e68361db0875f6fabb23abed16f1cebbb8b5d5.tar.gz",
], ],
) )
@ -17,10 +17,8 @@ closure_repositories(
omit_com_google_guava = True, omit_com_google_guava = True,
omit_com_ibm_icu_icu4j = True, omit_com_ibm_icu_icu4j = True,
omit_javax_inject = True, omit_javax_inject = True,
omit_org_apache_tomcat_servlet_api = True,
omit_org_json = True, omit_org_json = True,
omit_org_mortbay_jetty = True, omit_com_google_template_soy = True,
omit_org_mortbay_jetty_util = True,
) )
load("//java/google/registry:repositories.bzl", "domain_registry_repositories") load("//java/google/registry:repositories.bzl", "domain_registry_repositories")

View file

@ -107,7 +107,8 @@ def domain_registry_repositories(
omit_org_mortbay_jetty_servlet_api=False, omit_org_mortbay_jetty_servlet_api=False,
omit_org_mortbay_jetty_util=False, omit_org_mortbay_jetty_util=False,
omit_org_slf4j_api=False, omit_org_slf4j_api=False,
omit_org_yaml_snakeyaml=False): omit_org_yaml_snakeyaml=False,
omit_com_google_template_soy=False):
"""Imports dependencies for Nomulus.""" """Imports dependencies for Nomulus."""
domain_registry_bazel_check() domain_registry_bazel_check()
if not omit_com_beust_jcommander: if not omit_com_beust_jcommander:
@ -282,6 +283,8 @@ def domain_registry_repositories(
org_slf4j_api() org_slf4j_api()
if not omit_org_yaml_snakeyaml: if not omit_org_yaml_snakeyaml:
org_yaml_snakeyaml() org_yaml_snakeyaml()
if not omit_com_google_template_soy:
com_google_template_soy()
def com_beust_jcommander(): def com_beust_jcommander():
java_import_external( java_import_external(
@ -1651,6 +1654,48 @@ def org_yaml_snakeyaml():
], ],
) )
def com_google_template_soy():
java_import_external(
name = "com_google_template_soy",
jar_sha256 = "3c4e61234e9ee9f79411da997e23b201bcf281255469c76d162dac07a67dbb78",
jar_urls = [
"http://repo1.maven.org/maven2/com/google/template/soy/2017-06-22/soy-2017-06-22.jar",
"http://central.maven.org/maven2/com/google/template/soy/2017-06-22/soy-2017-06-22.jar",
],
deps = [
"@args4j",
"@org_ow2_asm",
"@org_ow2_asm_analysis",
"@org_ow2_asm_commons",
"@org_ow2_asm_util",
"@com_google_guava",
"@com_google_inject_guice",
"@com_google_inject_extensions_guice_assistedinject",
"@com_google_inject_extensions_guice_multibindings",
"@com_ibm_icu_icu4j",
"@org_json",
"@com_google_code_findbugs_jsr305",
"@javax_inject",
"@com_google_common_html_types",
],
licenses = ["notice"], # The Apache Software License, Version 2.0
extra_build_file_content = "\n".join([
("java_binary(\n" +
" name = \"%s\",\n" +
" main_class = \"com.google.template.soy.%s\",\n" +
" output_licenses = [\"unencumbered\"],\n" +
" runtime_deps = [\":com_google_template_soy\"],\n" +
")\n") % (name, name)
for name in ("SoyParseInfoGenerator",
"SoyToJbcSrcCompiler",
"SoyToJsSrcCompiler",
"SoyToPySrcCompiler",
"SoyToIncrementalDomSrcCompiler")
]),
)
def _check_bazel_version(project, bazel_version): def _check_bazel_version(project, bazel_version):
if "bazel_version" not in dir(native): if "bazel_version" not in dir(native):
fail("%s requires Bazel >=%s but was <0.2.1" % (project, bazel_version)) fail("%s requires Bazel >=%s but was <0.2.1" % (project, bazel_version))

View file

@ -68,7 +68,7 @@
{@param logoFilename: string} {@param logoFilename: string}
{@param productName: string} {@param productName: string}
<div id="kd-googlebar" role="banner"> <div id="kd-googlebar" role="banner">
<a class="{css logo}" href="/registrar"> <a class="{css('logo')}" href="/registrar">
<img src="/assets/images/{$logoFilename}" alt="{$productName}"> <img src="/assets/images/{$logoFilename}" alt="{$productName}">
</a> </a>
<div id="kd-search"> <div id="kd-search">
@ -78,20 +78,20 @@
placeholder="Search using format 'contact/id'" placeholder="Search using format 'contact/id'"
x-webkit-speech> x-webkit-speech>
<a id="kd-searchbutton" <a id="kd-searchbutton"
class="{css kd-button} {css kd-button-submit}" class="{css('kd-button')} {css('kd-button-submit')}"
style="-webkit-user-select: none;"> style="-webkit-user-select: none;">
<img width="21" height="21" alt="Search White" <img width="21" height="21" alt="Search White"
src="/assets/images/icons/svg/search.svg"> src="/assets/images/icons/svg/search.svg">
</a> </a>
</div> </div>
<div class="{css kd-butterbar}"> <div class="{css('kd-butterbar')}">
<p> <p>
<span class="{css kd-butterbar-text}"></span>{sp} <span class="{css('kd-butterbar-text')}"></span>{sp}
<a class="{css kd-butterbar-dismiss}">Dismiss</a> <a class="{css('kd-butterbar-dismiss')}">Dismiss</a>
</p> </p>
</div> </div>
<div id="kd-social" class="{css kd-buttonbar} {css right}"> <div id="kd-social" class="{css('kd-buttonbar')} {css('right')}">
<span class="{css kd-name} {css mobile-hide} {css x-crush-hide}"> <span class="{css('kd-name')} {css('mobile-hide')} {css('x-crush-hide')}">
{$username}{sp} {$username}{sp}
<a href="{$logoutUrl}" tabindex="-1">Sign out</a> <a href="{$logoutUrl}" tabindex="-1">Sign out</a>
</span> </span>
@ -102,25 +102,25 @@
/** Appbar add/back, edit/cancel appbar. */ /** Appbar add/back, edit/cancel appbar. */
{template .appbarButtons} {template .appbarButtons}
<div id="reg-app-buttons" class="{css kd-buttonbar} {css left}"> <div id="reg-app-buttons" class="{css('kd-buttonbar')} {css('left')}">
<button id="reg-app-btn-add" <button id="reg-app-btn-add"
type="button" type="button"
class="{css kd-button} {css kd-button-submit} {css hidden}"> class="{css('kd-button')} {css('kd-button-submit')} {css('hidden')}">
Add</button> Add</button>
<div id="reg-app-btns-edit" class="{css hidden}"> <div id="reg-app-btns-edit" class="{css('hidden')}">
<button id="reg-app-btn-edit" <button id="reg-app-btn-edit"
type="button" type="button"
class="{css kd-button} {css kd-button-submit}"> class="{css('kd-button')} {css('kd-button-submit')}">
Edit</button> Edit</button>
<button id="reg-app-btn-back" type="button" class="{css kd-button}"> <button id="reg-app-btn-back" type="button" class="{css('kd-button')}">
Back</button> Back</button>
</div> </div>
<div id="reg-app-btns-save" class="{css hidden}"> <div id="reg-app-btns-save" class="{css('hidden')}">
<button id="reg-app-btn-save" <button id="reg-app-btn-save"
type="button" type="button"
class="{css kd-button} {css kd-button-submit}"> class="{css('kd-button')} {css('kd-button-submit')}">
Save</button> Save</button>
<button id="reg-app-btn-cancel" type="button" class="{css kd-button}"> <button id="reg-app-btn-cancel" type="button" class="{css('kd-button')}">
Cancel</button> Cancel</button>
</div> </div>
</div> </div>
@ -132,18 +132,18 @@
*/ */
{template .navCreateButton} {template .navCreateButton}
<a id="reg-create-button" <a id="reg-create-button"
class="{css kd-button} {css kd-button-action} {css kd-menubutton}" class="{css('kd-button')} {css('kd-button-action')} {css('kd-menubutton')}"
style="-webkit-user-select: none;"> style="-webkit-user-select: none;">
<span class="{css label}">Create</span> <span class="{css('label')}">Create</span>
<span class="{css kd-disclosureindicator}"></span> <span class="{css('kd-disclosureindicator')}"></span>
<ul class="{css kd-menulist}" style="top: 27px;"> <ul class="{css('kd-menulist')}" style="top: 27px;">
<li class="{css kd-menulistitem}" <li class="{css('kd-menulistitem')}"
style="-webkit-user-select: none;" style="-webkit-user-select: none;"
id="reg-menu-domain-create">Domain id="reg-menu-domain-create">Domain
<li class="{css kd-menulistitem}" <li class="{css('kd-menulistitem')}"
style="-webkit-user-select: none;" style="-webkit-user-select: none;"
id="reg-menu-contact-create">Contact id="reg-menu-contact-create">Contact
<li class="{css kd-menulistitem}" <li class="{css('kd-menulistitem')}"
style="-webkit-user-select: none;" style="-webkit-user-select: none;"
id="reg-menu-host-create">Host id="reg-menu-host-create">Host
</ul> </ul>
@ -155,8 +155,8 @@
* Legal notices included as footer. * Legal notices included as footer.
*/ */
{template .footer} {template .footer}
<div class="{css pageFooter} {css clearfix}"> <div class="{css('pageFooter')} {css('clearfix')}">
<ul class="{css linklist} {css right}"> <ul class="{css('linklist')} {css('right')}">
<li> <li>
<a href="https://www.registry.google/about/privacy.html">Privacy</a> <a href="https://www.registry.google/about/privacy.html">Privacy</a>
<li> <li>

View file

@ -53,10 +53,10 @@
* @param? readonly * @param? readonly
*/ */
{template .inputFieldRow} {template .inputFieldRow}
<tr class="{css kd-settings-pane-section}"> <tr class="{css('kd-settings-pane-section')}">
<td> <td>
<label for="{if isNonnull($namePrefix)}{$namePrefix + $name}{else}{$name}{/if}" <label for="{if isNonnull($namePrefix)}{$namePrefix + $name}{else}{$name}{/if}"
class="{css setting-label}"> class="{css('setting-label')}">
{if isNonnull($label)} {if isNonnull($label)}
{$label} {$label}
{else} {else}
@ -64,10 +64,10 @@
{/if} {/if}
</label> </label>
{if isNonnull($description)} {if isNonnull($description)}
<span class="{css description}">{$description}</span> <span class="{css('description')}">{$description}</span>
{/if} {/if}
</td> </td>
<td class="{css setting}"> <td class="{css('setting')}">
<input id="{if isNonnull($namePrefix)}{$namePrefix + $name}{else}{$name}{/if}" <input id="{if isNonnull($namePrefix)}{$namePrefix + $name}{else}{$name}{/if}"
name="{if isNonnull($namePrefix)}{$namePrefix + $name}{else}{$name}{/if}" name="{if isNonnull($namePrefix)}{$namePrefix + $name}{else}{$name}{/if}"
{if isNonnull($item)} {if isNonnull($item)}
@ -94,11 +94,11 @@
{@param label: string} {@param label: string}
{@param? forId: string} {@param? forId: string}
{@param? description: string} {@param? description: string}
<label {if isNonnull($forId)}for="{$forId}"{/if} class="{css setting-label}"> <label {if isNonnull($forId)}for="{$forId}"{/if} class="{css('setting-label')}">
{$label} {$label}
</label> </label>
{if isNonnull($description)} {if isNonnull($description)}
<span class="{css description}">{$description}</span> <span class="{css('description')}">{$description}</span>
{/if} {/if}
{/template} {/template}
@ -134,13 +134,13 @@
{@param? placeholder: string} {@param? placeholder: string}
{@param? clazz: string} {@param? clazz: string}
{let $forId: isNonnull($namePrefix) ? $namePrefix + $name : $name /} {let $forId: isNonnull($namePrefix) ? $namePrefix + $name : $name /}
<tr class="{css kd-settings-pane-section}"> <tr class="{css('kd-settings-pane-section')}">
<td> <td>
{call .inputFieldLabel data="all"} {call .inputFieldLabel data="all"}
{param forId: $forId /} {param forId: $forId /}
{/call} {/call}
</td> </td>
<td class="{css setting}"> <td class="{css('setting')}">
{call .inputFieldValue data="all" /} {call .inputFieldValue data="all" /}
</td> </td>
</tr> </tr>
@ -242,7 +242,7 @@
<td> <td>
<select id="{$name}" <select id="{$name}"
name="{$name}" name="{$name}"
class="{css kd-button} {css reg-select}" class="{css('kd-button')} {css('reg-select')}"
{if $readonly}disabled{/if}> {if $readonly}disabled{/if}>
{foreach $option in $options} {foreach $option in $options}
<option value="{$option}" {if $selected == $option}selected{/if}> <option value="{$option}" {if $selected == $option}selected{/if}>
@ -303,16 +303,16 @@
{@param id: string} /** ID for button. */ {@param id: string} /** ID for button. */
{@param selected: string} /** Selected item. */ {@param selected: string} /** Selected item. */
{@param items: list<string>} /** Selectable items. */ {@param items: list<string>} /** Selectable items. */
<div id="{$id}" class="{css kd-button} {css kd-menubutton} {css kd-select}"> <div id="{$id}" class="{css('kd-button')} {css('kd-menubutton')} {css('kd-select')}">
<span class="{css label}"> <span class="{css('label')}">
{$selected} {$selected}
</span> </span>
<span class="{css kd-disclosureindicator}"></span> <span class="{css('kd-disclosureindicator')}"></span>
<ul class="{css kd-menulist}"> <ul class="{css('kd-menulist')}">
{foreach $item in $items} {foreach $item in $items}
<li class="{css kd-menulistitem} <li class="{css('kd-menulistitem')}
{if $item == $selected} {if $item == $selected}
{sp}{css selected} {sp}{css('selected')}
{/if}"> {/if}">
{$item} {$item}
{/foreach} {/foreach}

View file

@ -39,7 +39,7 @@
{/call} {/call}
{call registry.soy.console.googlebar data="all" /} {call registry.soy.console.googlebar data="all" /}
<div id="reg-app"> <div id="reg-app">
<div id="reg-appbar" class="{css kd-appbar}"></div> <div id="reg-appbar" class="{css('kd-appbar')}"></div>
{call .navbar_ data="all" /} {call .navbar_ data="all" /}
<div id="reg-content-and-footer"> <div id="reg-content-and-footer">
<div id="reg-content"> <div id="reg-content">
@ -77,7 +77,7 @@
/** Sidebar nav. Ids on each elt for testing only. */ /** Sidebar nav. Ids on each elt for testing only. */
{template .navbar_ visibility="private"} {template .navbar_ visibility="private"}
{@param showPaymentLink: bool} {@param showPaymentLink: bool}
<div id="reg-nav" class="{css kd-content-sidebar}"> <div id="reg-nav" class="{css('kd-content-sidebar')}">
<ul id="reg-navlist"> <ul id="reg-navlist">
<li> <li>
<a href="/registrar#">Home</a> <a href="/registrar#">Home</a>
@ -89,7 +89,7 @@
{/if} {/if}
<li> <li>
<ul> <ul>
<span class="{css reg-navlist-sub}">Settings</span> <span class="{css('reg-navlist-sub')}">Settings</span>
<li> <li>
<a href="/registrar#whois-settings">WHOIS</a> <a href="/registrar#whois-settings">WHOIS</a>
<li> <li>
@ -114,8 +114,8 @@
{param app: 'registrar' /} {param app: 'registrar' /}
{param subtitle: 'Console Disabled' /} {param subtitle: 'Console Disabled' /}
{/call} {/call}
<div class="{css whoAreYou-disabled}"> <div class="{css('whoAreYou-disabled')}">
<a class="{css logo}" href="/registrar"> <a class="{css('logo')}" href="/registrar">
<img src="/assets/images/{$logoFilename}" alt="{$productName}"> <img src="/assets/images/{$logoFilename}" alt="{$productName}">
</a> </a>
<h1>Console is disabled</h1> <h1>Console is disabled</h1>
@ -140,8 +140,8 @@
{param app: 'registrar' /} {param app: 'registrar' /}
{param subtitle: 'Please Login' /} {param subtitle: 'Please Login' /}
{/call} {/call}
<div class="{css whoAreYou}"> <div class="{css('whoAreYou')}">
<a class="{css logo}" href="/registrar"> <a class="{css('logo')}" href="/registrar">
<img src="/assets/images/{$logoFilename}" alt="{$productName}"> <img src="/assets/images/{$logoFilename}" alt="{$productName}">
</a> </a>
<h1>You need permission</h1> <h1>You need permission</h1>
@ -153,7 +153,7 @@
You are signed in as <strong>{$username}</strong>. You are signed in as <strong>{$username}</strong>.
<div> <div>
<a href="{$logoutUrl}" <a href="{$logoutUrl}"
class="{css kd-button} {css kd-button-submit}" class="{css('kd-button')} {css('kd-button-submit')}"
tabindex="-1">Logout and switch to another account</a> tabindex="-1">Logout and switch to another account</a>
</div> </div>
</div> </div>
@ -170,7 +170,7 @@
<table> <table>
<tr> <tr>
<td> <td>
<div class="{css dashbox}"> <div class="{css('dashbox')}">
<img src="/assets/images/homeResources.png"> <img src="/assets/images/homeResources.png">
<h2>Access Resources</h2> <h2>Access Resources</h2>
Use Google Drive to view<br> Use Google Drive to view<br>
@ -178,14 +178,14 @@
documentation &amp; billing reports. documentation &amp; billing reports.
</div> </div>
<td> <td>
<div class="{css dashbox}"> <div class="{css('dashbox')}">
<img id="gear" src="/assets/images/homeSettings.png"> <img id="gear" src="/assets/images/homeSettings.png">
<h2>Manage Settings</h2> <h2>Manage Settings</h2>
Security, WHOIS &amp; contact<br> Security, WHOIS &amp; contact<br>
settings are easy to view and edit. settings are easy to view and edit.
</div> </div>
<td> <td>
<div class="{css dashbox}"> <div class="{css('dashbox')}">
<img src="/assets/images/homeContact.png"> <img src="/assets/images/homeContact.png">
<h2>Contact Us</h2> <h2>Contact Us</h2>
View important phone &amp; email<br> View important phone &amp; email<br>
@ -208,17 +208,17 @@
{@param supportEmail: string} {@param supportEmail: string}
{@param announcementsEmail: string} {@param announcementsEmail: string}
{@param supportPhoneNumber: string} {@param supportPhoneNumber: string}
<div id="domain-registrar-contact-us" class="{css item}"> <div id="domain-registrar-contact-us" class="{css('item')}">
<h1>Contact us</h1> <h1>Contact us</h1>
<p>Our support team can assist you with any technical or operational <p>Our support team can assist you with any technical or operational
questions you may have regarding our registry services. questions you may have regarding our registry services.
<table> <table>
<tr class="{css kd-settings-pane-section}"> <tr class="{css('kd-settings-pane-section')}">
<td> <td>
<label class="{css setting-label}">Email</label> <label class="{css('setting-label')}">Email</label>
</td> </td>
<td class="{css setting}"> <td class="{css('setting')}">
<p> <p>
<a href="mailto:{$integrationEmail}">{$integrationEmail}</a><br> <a href="mailto:{$integrationEmail}">{$integrationEmail}</a><br>
For help with OT&amp;E sandbox and certification, or new For help with OT&amp;E sandbox and certification, or new
@ -230,18 +230,18 @@
with our registry system. If the issue is urgent, please put with our registry system. If the issue is urgent, please put
&quot;Urgent&quot; in the email title. &quot;Urgent&quot; in the email title.
<p class="{css description}">Note: You may receive occasional service <p class="{css('description')}">Note: You may receive occasional service
announcements announcements
via <strong>{$announcementsEmail}</strong>. You via <strong>{$announcementsEmail}</strong>. You
will not be able to reply to those messages. will not be able to reply to those messages.
<tr><td colspan="2"><hr> <tr><td colspan="2"><hr>
<tr class="{css kd-settings-pane-section}"> <tr class="{css('kd-settings-pane-section')}">
<td> <td>
<label class="{css setting-label}">Phone</label> <label class="{css('setting-label')}">Phone</label>
<span class="{css description}">For general support inquiries 24x7</span> <span class="{css('description')}">For general support inquiries 24x7</span>
</td> </td>
<td class="{css setting}"> <td class="{css('setting')}">
<p>Please be ready with your account name and telephone passcode <p>Please be ready with your account name and telephone passcode
when contacting us by phone. when contacting us by phone.
@ -275,7 +275,7 @@
<p> <p>
Find onboarding FAQs &amp; technical documentation here: Find onboarding FAQs &amp; 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="{$technicalDocsUrl}" 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>
@ -284,7 +284,7 @@
<p> <p>
{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/drive/folders/{$driveFolderId}" 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}

View file

@ -19,7 +19,7 @@
* Set view for contacts. * Set view for contacts.
*/ */
{template .set} {template .set}
<div class="{css set} {css contact}"> <div class="{css('set')} {css('contact')}">
<p>Please enter a query for a single contact in the form "contact/[contact id]". <p>Please enter a query for a single contact in the form "contact/[contact id]".
</div> </div>
{/template} {/template}
@ -31,7 +31,7 @@
* @param? readonly passed through to field rendering. * @param? readonly passed through to field rendering.
*/ */
{template .item} {template .item}
<form name="item" class="{css item} {css contact}"> <form name="item" class="{css('item')} {css('contact')}">
<h1> <h1>
{if isNonnull($item['contact:id'])} {if isNonnull($item['contact:id'])}
{$item['contact:id']['keyValue']} {$item['contact:id']['keyValue']}
@ -40,7 +40,7 @@
{/if} {/if}
</h1> </h1>
<table> <table>
<tr class="{css section-lead}"> <tr class="{css('section-lead')}">
<th colspan="2"><h2>Authentication</h2></th> <th colspan="2"><h2>Authentication</h2></th>
</tr> </tr>
{if not isNonnull($item['contact:id'])} {if not isNonnull($item['contact:id'])}
@ -55,7 +55,7 @@
{param value: isNonnull($item['contact:authInfo']) ? {param value: isNonnull($item['contact:authInfo']) ?
$item['contact:authInfo']['contact:pw'] : '' /} $item['contact:authInfo']['contact:pw'] : '' /}
{/call} {/call}
<tr class="{css section-lead}"> <tr class="{css('section-lead')}">
<th colspan="2"><h2>Contacts</h2></th> <th colspan="2"><h2>Contacts</h2></th>
</tr> </tr>
{call registry.soy.forms.inputFieldRowWithValue data="all"} {call registry.soy.forms.inputFieldRowWithValue data="all"}
@ -75,11 +75,11 @@
{param value: $item['contact:fax'] /} {param value: $item['contact:fax'] /}
{param placeholder: 'e.g. +1.2125552638' /} {param placeholder: 'e.g. +1.2125552638' /}
{/call} {/call}
<tr class="{css section-lead} {css subsection}"> <tr class="{css('section-lead')} {css('subsection')}">
<th id="contact-postalInfoHeader" colspan="2"> <th id="contact-postalInfoHeader" colspan="2">
<h3>Postal address(es)</h3> <h3>Postal address(es)</h3>
<button id="domain-contact-postalInfo-add-button" type="button" <button id="domain-contact-postalInfo-add-button" type="button"
class="{css kd-button} {css reg-add}" class="{css('kd-button')} {css('reg-add')}"
{if $readonly}disabled{/if}> {if $readonly}disabled{/if}>
Add Localized Address Add Localized Address
</button> </button>
@ -126,10 +126,10 @@
<tr><th colspan=2> <tr><th colspan=2>
{if $localized} {if $localized}
<strong>Localized address</strong><br> <strong>Localized address</strong><br>
<span class="{css info}">Full UTF-8 charsets allowed</span> <span class="{css('info')}">Full UTF-8 charsets allowed</span>
{else} {else}
<strong>Internationalized address</strong><br> <strong>Internationalized address</strong><br>
<span class="{css info}">Only 7-bit ASCII allowed</span> <span class="{css('info')}">Only 7-bit ASCII allowed</span>
{/if} {/if}
</th></tr> </th></tr>
{call registry.soy.forms.inputFieldRowWithValue data="all"} {call registry.soy.forms.inputFieldRowWithValue data="all"}

View file

@ -27,19 +27,19 @@
['abuse', 'Abuse', 'Contact for abuse complaints.'], ['abuse', 'Abuse', 'Contact for abuse complaints.'],
['whois', 'WHOIS-Inquiry', 'Contact for inquiries about WHOIS accuracy.'], ['whois', 'WHOIS-Inquiry', 'Contact for inquiries about WHOIS accuracy.'],
['other', 'Other', 'Contact that is none of the above types']] /} ['other', 'Other', 'Contact that is none of the above types']] /}
<div class="{css set}"> <div class="{css('set')}">
<h1>Contact settings</h1> <h1>Contact settings</h1>
<table> <table>
{foreach $type in $possibleTypesLookup} {foreach $type in $possibleTypesLookup}
{if isNonnull($contactsByType[$type[0]])} {if isNonnull($contactsByType[$type[0]])}
<tr class="{css kd-settings-pane-section}"> <tr class="{css('kd-settings-pane-section')}">
<td> <td>
<label class="{css setting-label}">{$type[1]} <label class="{css('setting-label')}">{$type[1]}
{sp}contact{if length($contactsByType[$type[0]]) > 1}s{/if}</label> {sp}contact{if length($contactsByType[$type[0]]) > 1}s{/if}</label>
<span class="{css description}">{$type[2]}</span> <span class="{css('description')}">{$type[2]}</span>
</td> </td>
<td id="{$type[0]}-contacts" <td id="{$type[0]}-contacts"
class="{css info} {css summary} {css domain-registrar-contacts}"> class="{css('info')} {css('summary')} {css('domain-registrar-contacts')}">
{foreach $c in $contactsByType[$type[0]]} {foreach $c in $contactsByType[$type[0]]}
{call .contactInfoCompact} {call .contactInfoCompact}
{param namePrefix: 'contacts[' + index($c) + '].' /} {param namePrefix: 'contacts[' + index($c) + '].' /}
@ -70,29 +70,29 @@
{@param visibleInWhois: bool} {@param visibleInWhois: bool}
{@param? phoneNumber: string} {@param? phoneNumber: string}
{@param? faxNumber: string} {@param? faxNumber: string}
<div class="{css domain-registrar-contact}"> <div class="{css('domain-registrar-contact')}">
<div class="{css domain-registrar-contact-name}" <div class="{css('domain-registrar-contact-name')}"
id="{$namePrefix}name"> id="{$namePrefix}name">
{$name} {$name}
{if $visibleInWhois} {if $visibleInWhois}
<i class="{css domain-registrar-contact-visible-in-whois}" <i class="{css('domain-registrar-contact-visible-in-whois')}"
onmouseover="this.childNodes[0].style.visibility = 'visible'" onmouseover="this.childNodes[0].style.visibility = 'visible'"
onmouseout="this.childNodes[0].style.visibility = 'hidden'"> onmouseout="this.childNodes[0].style.visibility = 'hidden'">
<div class="{css tooltip}"> <div class="{css('tooltip')}">
Visible in WHOIS <span class="{css pointer}"></span> Visible in WHOIS <span class="{css('pointer')}"></span>
</div> </div>
</i> </i>
{/if} {/if}
</div> </div>
{if isNonnull($phoneNumber)} {if isNonnull($phoneNumber)}
<div class="{css domain-registrar-contact-phoneNumber}" <div class="{css('domain-registrar-contact-phoneNumber')}"
id="{$namePrefix}phoneNumber">{$phoneNumber}</div> id="{$namePrefix}phoneNumber">{$phoneNumber}</div>
{/if} {/if}
{if isNonnull($faxNumber)} {if isNonnull($faxNumber)}
<div class="{css domain-registrar-contact-faxNumber}" <div class="{css('domain-registrar-contact-faxNumber')}"
id="{$namePrefix}faxNumber">{$faxNumber} (Fax)</div> id="{$namePrefix}faxNumber">{$faxNumber} (Fax)</div>
{/if} {/if}
<div class="{css domain-registrar-contact-emailAddress}" <div class="{css('domain-registrar-contact-emailAddress')}"
id="{$namePrefix}emailAddress">{$emailAddress}</div> id="{$namePrefix}emailAddress">{$emailAddress}</div>
<a href="#contact-settings/{$emailAddress}">View/Edit</a> <a href="#contact-settings/{$emailAddress}">View/Edit</a>
</div> </div>
@ -105,7 +105,7 @@
{@param item: map<string, ?>} {@param item: map<string, ?>}
{@param actualTypesLookup: map<string, bool>} {@param actualTypesLookup: map<string, bool>}
{@param readonly: bool} {@param readonly: bool}
<form name="item" class="{css item} {css registrar}"> <form name="item" class="{css('item')} {css('registrar')}">
<h1>Contact Details</h1> <h1>Contact Details</h1>
{call .contactInfo data="all"} {call .contactInfo data="all"}
{param namePrefix: $namePrefix /} {param namePrefix: $namePrefix /}
@ -180,11 +180,11 @@
{@param item: map<string, ?>} {@param item: map<string, ?>}
{@param possibleTypesLookup: list<list<string>>} {@param possibleTypesLookup: list<list<string>>}
{@param actualTypesLookup: map<string, bool>} {@param actualTypesLookup: map<string, bool>}
<tr class="{css kd-settings-pane-section}"> <tr class="{css('kd-settings-pane-section')}">
<td> <td>
<label class="{css setting-label}">Contact type</label> <label class="{css('setting-label')}">Contact type</label>
<td class="{css setting}"> <td class="{css('setting')}">
<div class="{css setting-item-list}"> <div class="{css('setting-item-list')}">
{foreach $type in $possibleTypesLookup} {foreach $type in $possibleTypesLookup}
{if $actualTypesLookup[$type[0]]} {if $actualTypesLookup[$type[0]]}
<div>{$type[1]} contact</div> <div>{$type[1]} contact</div>
@ -193,17 +193,17 @@
</div> </div>
</td> </td>
<tr><td colspan="2"><hr></tr> <tr><td colspan="2"><hr></tr>
<tr class="{css kd-settings-pane-section}"> <tr class="{css('kd-settings-pane-section')}">
<td> <td>
<label class="{css setting-label}">Show in WHOIS</label> <label class="{css('setting-label')}">Show in WHOIS</label>
</td> </td>
<td class="{css setting}"> <td class="{css('setting')}">
<p class="{css setting-item-list}"> <p class="{css('setting-item-list')}">
{let $visibleAsAdmin: $item['visibleInWhoisAsAdmin'] == true /} {let $visibleAsAdmin: $item['visibleInWhoisAsAdmin'] == true /}
{let $visibleAsTech: $item['visibleInWhoisAsTech'] == true /} {let $visibleAsTech: $item['visibleInWhoisAsTech'] == true /}
{let $visibleAsDomainAbuse: $item['visibleInDomainWhoisAsAbuse'] == true /} {let $visibleAsDomainAbuse: $item['visibleInDomainWhoisAsAbuse'] == true /}
{if (not $visibleAsAdmin) and (not $visibleAsTech) and (not $visibleAsDomainAbuse)} {if (not $visibleAsAdmin) and (not $visibleAsTech) and (not $visibleAsDomainAbuse)}
<span class="{css whois-not-visible}">Not visible in WHOIS</span> <span class="{css('whois-not-visible')}">Not visible in WHOIS</span>
{else} {else}
{if $visibleAsAdmin}Registrar Admin{/if} {if $visibleAsAdmin}Registrar Admin{/if}
{if $visibleAsAdmin and $visibleAsTech},{sp}{/if} {if $visibleAsAdmin and $visibleAsTech},{sp}{/if}
@ -222,14 +222,14 @@
{@param namePrefix: string} {@param namePrefix: string}
{@param possibleTypesLookup: list<list<string>>} {@param possibleTypesLookup: list<list<string>>}
{@param actualTypesLookup: map<string, bool>} {@param actualTypesLookup: map<string, bool>}
<tr class="{css kd-settings-pane-section}"> <tr class="{css('kd-settings-pane-section')}">
<td> <td>
<label class="{css setting-label}">Contact type</label> <label class="{css('setting-label')}">Contact type</label>
<span class="{css description}"> <span class="{css('description')}">
Subscribe this contact to the checked mailing lists. Subscribe this contact to the checked mailing lists.
</span> </span>
</td> </td>
<td class="{css setting}"> <td class="{css('setting')}">
{call .contactCheckboxes_} {call .contactCheckboxes_}
{param namePrefix: $namePrefix /} {param namePrefix: $namePrefix /}
{param possibleTypesLookup: $possibleTypesLookup /} {param possibleTypesLookup: $possibleTypesLookup /}
@ -268,14 +268,14 @@
{@param? note: string} {@param? note: string}
{@param fieldName: string} {@param fieldName: string}
{@param visible: bool} {@param visible: bool}
<tr class="{css kd-settings-pane-section}"> <tr class="{css('kd-settings-pane-section')}">
<td> <td>
<label for="{$fieldName}">{$description}</label> <label for="{$fieldName}">{$description}</label>
{if $note} {if $note}
<span class="{css description}">{$note}</span> <span class="{css('description')}">{$note}</span>
{/if} {/if}
</td> </td>
<td class="{css setting}"> <td class="{css('setting')}">
<label for="{$fieldName}"> <label for="{$fieldName}">
<input <input
name="{$fieldName}" name="{$fieldName}"
@ -304,14 +304,14 @@
{foreach $type in $possibleTypesLookup} {foreach $type in $possibleTypesLookup}
{let $name: $namePrefix + 'type.' + $type[0] /} {let $name: $namePrefix + 'type.' + $type[0] /}
{let $checked: $actualTypesLookup[$type[0]] /} {let $checked: $actualTypesLookup[$type[0]] /}
<div class="{css checkbox-with-label}"> <div class="{css('checkbox-with-label')}">
<input type="checkbox" <input type="checkbox"
name="{$name}" name="{$name}"
id="{$name}" id="{$name}"
{if $checked} checked{/if}> {if $checked} checked{/if}>
<label for="{$name}"> <label for="{$name}">
{$type[1]} contact {$type[1]} contact
<span class="{css description}">{$type[2]}</span> <span class="{css('description')}">{$type[2]}</span>
</label> </label>
</div> </div>
{/foreach} {/foreach}
@ -322,10 +322,10 @@
{template .ip} {template .ip}
{@param name: string} {@param name: string}
{@param ip: string} {@param ip: string}
<div class="{css ip}"> <div class="{css('ip')}">
<input name="{$name}" value="{$ip}" readonly> <input name="{$name}" value="{$ip}" readonly>
<button type="button" class="{css kd-button} {css btn-remove} {css hidden}"> <button type="button" class="{css('kd-button')} {css('btn-remove')} {css('hidden')}">
<i class="{css icon-remove} {css edit}">x</i> <i class="{css('icon-remove')} {css('edit')}">x</i>
</button> </button>
</div> </div>
{/template} {/template}

View file

@ -19,7 +19,7 @@
* Set view for domains. * Set view for domains.
*/ */
{template .set} {template .set}
<div class="{css set} {css domain}"> <div class="{css('set')} {css('domain')}">
<p>Please enter a query for a single contact in the form "domain/[domain id]". <p>Please enter a query for a single contact in the form "domain/[domain id]".
</div> </div>
{/template} {/template}
@ -33,7 +33,7 @@
*/ */
{template .item} {template .item}
{let $isEdit: isNonnull($item['domain:name']) /} {let $isEdit: isNonnull($item['domain:name']) /}
<form name="item" class="{css item} {css domain}"> <form name="item" class="{css('item')} {css('domain')}">
<h1> <h1>
{if $isEdit} {if $isEdit}
{$item['domain:name']['keyValue']} {$item['domain:name']['keyValue']}
@ -43,7 +43,7 @@
</h1> </h1>
<table> <table>
{if not $isEdit} {if not $isEdit}
<tr class="{css section-lead}"> <tr class="{css('section-lead')}">
<th colspan="2"><h2>Domain</h2></th> <th colspan="2"><h2>Domain</h2></th>
</tr> </tr>
{call registry.soy.forms.inputFieldRow data="all"} {call registry.soy.forms.inputFieldRow data="all"}
@ -62,7 +62,7 @@
{param value: $item['domain:exDate'] /} {param value: $item['domain:exDate'] /}
{/call} {/call}
{/if} {/if}
<tr class="{css section-lead}"> <tr class="{css('section-lead')}">
<th colspan="2"><h2>Authentication</h2></th> <th colspan="2"><h2>Authentication</h2></th>
</tr> </tr>
{call registry.soy.forms.inputFieldRowWithValue data="all"} {call registry.soy.forms.inputFieldRowWithValue data="all"}
@ -71,11 +71,11 @@
{param value: isNonnull($item['domain:authInfo']) ? {param value: isNonnull($item['domain:authInfo']) ?
$item['domain:authInfo']['domain:pw'] : '' /} $item['domain:authInfo']['domain:pw'] : '' /}
{/call} {/call}
<tr class="{css section-lead}"> <tr class="{css('section-lead')}">
<th colspan="2"> <th colspan="2">
<h3>Contact information</h3> <h3>Contact information</h3>
<button id="domain-contact-add-button" type="button" <button id="domain-contact-add-button" type="button"
class="{css kd-button} {css reg-add}" class="{css('kd-button')} {css('reg-add')}"
{if $readonly}disabled{/if}> {if $readonly}disabled{/if}>
Add Contact Add Contact
</button> </button>
@ -102,11 +102,11 @@
{/call} {/call}
{/if} {/if}
<tr id="domain-contacts-footer"></tr> <tr id="domain-contacts-footer"></tr>
<tr class="{css section-lead}"> <tr class="{css('section-lead')}">
<th colspan="2"> <th colspan="2">
<h3>Nameservers</h3> <h3>Nameservers</h3>
<button id="domain-host-add-button" type="button" <button id="domain-host-add-button" type="button"
class="{css kd-button} {css reg-add}" class="{css('kd-button')} {css('reg-add')}"
{if $readonly}disabled{/if}> {if $readonly}disabled{/if}>
Add Host Add Host
</button> </button>
@ -119,14 +119,14 @@
{param label: 'Host ' + $hostIdx /} {param label: 'Host ' + $hostIdx /}
{param name: 'domain:ns.domain:hostObj[' + $hostIdx + '].value' /} {param name: 'domain:ns.domain:hostObj[' + $hostIdx + '].value' /}
{param value: $hostObj /} {param value: $hostObj /}
{param clazz kind="text"}{css domain-hostObj}{/param} {param clazz kind="text"}{css('domain-hostObj')}{/param}
{/call} {/call}
{/foreach} {/foreach}
{/if} {/if}
<tr id="domain-hosts-footer"></tr> <tr id="domain-hosts-footer"></tr>
{if isNonnull($item['launch:applicationID'])} {if isNonnull($item['launch:applicationID'])}
<tr class="{css section-lead}"> <tr class="{css('section-lead')}">
<th colspan="2"><h2>Sunrise domain application</h2></th> <th colspan="2"><h2>Sunrise domain application</h2></th>
</tr> </tr>
{call registry.soy.forms.inputFieldRowWithValue data="all"} {call registry.soy.forms.inputFieldRowWithValue data="all"}
@ -139,7 +139,7 @@
<tr> <tr>
<td>Mark Data <td>Mark Data
<td> <td>
<textarea class="{css reg-domain-mark}" {if $readonly}readonly{/if}> <textarea class="{css('reg-domain-mark')}" {if $readonly}readonly{/if}>
{$item['mark:mark']['keyValue']}</textarea> {$item['mark:mark']['keyValue']}</textarea>
</td> </td>
</tr> </tr>
@ -187,10 +187,10 @@
* @param? item * @param? item
*/ */
{template .update} {template .update}
<form name="item" class="{css item} {css domain}"> <form name="item" class="{css('item')} {css('domain')}">
<h1>{$item['domain:name']['keyValue']}</h1> <h1>{$item['domain:name']['keyValue']}</h1>
<table> <table>
<tr class="{css section-lead}"> <tr class="{css('section-lead')}">
<th colspan="2"><h2>Contact</h2></th> <th colspan="2"><h2>Contact</h2></th>
</tr> </tr>
{call registry.soy.forms.inputFieldRowWithValue data="all"} {call registry.soy.forms.inputFieldRowWithValue data="all"}
@ -198,7 +198,7 @@
{param name: 'domain:registrant' /} {param name: 'domain:registrant' /}
{param value: $item['domain:registrant'] /} {param value: $item['domain:registrant'] /}
{/call} {/call}
<tr class="{css section-lead}"> <tr class="{css('section-lead')}">
<th colspan="2"><h2>Authentication</h2></th> <th colspan="2"><h2>Authentication</h2></th>
</tr> </tr>
{call registry.soy.forms.inputFieldRowWithValue data="all"} {call registry.soy.forms.inputFieldRowWithValue data="all"}

View file

@ -19,7 +19,7 @@
* Set view for hosts. * Set view for hosts.
*/ */
{template .set} {template .set}
<div class="{css set} {css host}"> <div class="{css('set')} {css('host')}">
<p>Please enter a query for a single host in the form "host/[hostname]". <p>Please enter a query for a single host in the form "host/[hostname]".
</div> </div>
{/template} {/template}
@ -31,7 +31,7 @@
* @param? readonly passed through to field rendering. * @param? readonly passed through to field rendering.
*/ */
{template .item} {template .item}
<form name="item" class="{css item} {css host}"> <form name="item" class="{css('item')} {css('host')}">
<h1> <h1>
{if isNonnull($item['host:name'])} {if isNonnull($item['host:name'])}
{$item['host:name']['keyValue']} {$item['host:name']['keyValue']}
@ -40,7 +40,7 @@
{/if} {/if}
</h1> </h1>
<table> <table>
<tr class="{css section-lead}"> <tr class="{css('section-lead')}">
<th colspan="2"><h2>Host</h2></th> <th colspan="2"><h2>Host</h2></th>
</tr> </tr>
{call registry.soy.forms.inputFieldRowWithValue data="all"} {call registry.soy.forms.inputFieldRowWithValue data="all"}
@ -48,11 +48,11 @@
{param name: isNonnull($item['host:name']) ? 'host:chgName' : 'host:name' /} {param name: isNonnull($item['host:name']) ? 'host:chgName' : 'host:name' /}
{param value: $item['host:name'] /} {param value: $item['host:name'] /}
{/call} {/call}
<tr class="{css section-lead}"> <tr class="{css('section-lead')}">
<th colspan="2"> <th colspan="2">
<h3>Addresses</h3> <h3>Addresses</h3>
<button id="domain-host-addr-add-button" type="button" <button id="domain-host-addr-add-button" type="button"
class="{css kd-button} {css reg-add}" class="{css('kd-button')} {css('reg-add')}"
{if $readonly}disabled{/if}> {if $readonly}disabled{/if}>
Add Address Add Address
</button> </button>
@ -89,10 +89,10 @@
* @param? readonly passed through to field rendering. * @param? readonly passed through to field rendering.
*/ */
{template .update} {template .update}
<form name="item" class="{css item} {css host}"> <form name="item" class="{css('item')} {css('host')}">
<h1>{$item['host:name']['keyValue']}</h1> <h1>{$item['host:name']['keyValue']}</h1>
<table> <table>
<tr class="{css section-lead}"> <tr class="{css('section-lead')}">
<th colspan="2"><h2>Host</h2></th> <th colspan="2"><h2>Host</h2></th>
</tr> </tr>
{call registry.soy.forms.inputFieldRowWithValue data="all"} {call registry.soy.forms.inputFieldRowWithValue data="all"}

View file

@ -19,7 +19,7 @@
{template .form} {template .form}
{@param currencies: list<string>} /** Currencies in which customer can remit payment. */ {@param currencies: list<string>} /** Currencies in which customer can remit payment. */
{@param brainframe: uri} /** Location of Braintree iframe sandbox iframe HTML. */ {@param brainframe: uri} /** Location of Braintree iframe sandbox iframe HTML. */
<div class="{css reg-payment}"> <div class="{css('reg-payment')}">
<h1>Make a Payment</h1> <h1>Make a Payment</h1>
<p> <p>
Please use the form below to pay your monthly invoice by credit card. Please use the form below to pay your monthly invoice by credit card.
@ -27,7 +27,7 @@
The bill you received from the registry should list an outstanding balance The bill you received from the registry should list an outstanding balance
for each currency. If you hold an outstanding balance in multiple currencies, for each currency. If you hold an outstanding balance in multiple currencies,
this form should be filled out and submitted separately for each one. this form should be filled out and submitted separately for each one.
<form method="post" action="#" class="{css reg-payment-form}"> <form method="post" action="#" class="{css('reg-payment-form')}">
<fieldset> <fieldset>
<ul> <ul>
<li> <li>
@ -48,20 +48,20 @@
<label>Payment Method</label> <label>Payment Method</label>
<iframe src="{$brainframe}" <iframe src="{$brainframe}"
id="method" id="method"
class="{css reg-payment-form-method}" class="{css('reg-payment-form-method')}"
height="0" height="0"
width="100%" width="100%"
frameBorder="0" frameBorder="0"
scrolling="no"></iframe> scrolling="no"></iframe>
<div class="{css reg-payment-form-method-info} {css hidden}"></div> <div class="{css('reg-payment-form-method-info')} {css('hidden')}"></div>
</ul> </ul>
<input type="submit" value="Submit Payment" <input type="submit" value="Submit Payment"
class="{css reg-payment-form-submit}{sp} class="{css('reg-payment-form-submit')}{sp}
{css kd-button}{sp} {css('kd-button')}{sp}
{css kd-button-submit}{sp} {css('kd-button-submit')}{sp}
{css disabled}"> {css('disabled')}">
<img alt="[Processing...]" <img alt="[Processing...]"
class="{css reg-payment-form-loader}" class="{css('reg-payment-form-loader')}"
src="/assets/images/loader1x.gif" src="/assets/images/loader1x.gif"
width="22" height="22"> width="22" height="22">
</fieldset> </fieldset>
@ -74,13 +74,13 @@
{template .success} {template .success}
{@param id: string} /** Transaction ID from payment gateway. */ {@param id: string} /** Transaction ID from payment gateway. */
{@param formattedAmount: string} /** Amount in which payment was made. */ {@param formattedAmount: string} /** Amount in which payment was made. */
<div class="{css reg-payment}"> <div class="{css('reg-payment')}">
<h1>Payment Processed</h1> <h1>Payment Processed</h1>
<p> <p>
Your payment of {$formattedAmount} was successfully processed with Your payment of {$formattedAmount} was successfully processed with
the Transaction ID {$id}. the Transaction ID {$id}.
<p> <p>
<button class="{css reg-payment-again} {css kd-button} {css kd-button-submit}"> <button class="{css('reg-payment-again')} {css('kd-button')} {css('kd-button-submit')}">
Make Another Payment Make Another Payment
</button> </button>
</div> </div>
@ -108,9 +108,9 @@
/** Page used to block browsers without necessary features. */ /** Page used to block browsers without necessary features. */
{template .unsupported} {template .unsupported}
<div class="{css reg-payment}"> <div class="{css('reg-payment')}">
<img alt="[Crying Android]" <img alt="[Crying Android]"
class="{css reg-cryingAndroid}" class="{css('reg-cryingAndroid')}"
src="/assets/images/android_sad.png" src="/assets/images/android_sad.png"
width="183" width="183"
height="275"> height="275">
@ -118,7 +118,7 @@
<p> <p>
The Payment page requires features which are not present in your The Payment page requires features which are not present in your
browser. Please use one of the following compatible browsers: browser. Please use one of the following compatible browsers:
<ul class="{css reg-bullets}"> <ul class="{css('reg-bullets')}">
<li>Chrome <li>Chrome
<li>Android <li>Android
<li>Safari <li>Safari
@ -131,7 +131,7 @@
/** Page indicating customer is not on credit card billing terms. */ /** Page indicating customer is not on credit card billing terms. */
{template .notUsingCcBilling} {template .notUsingCcBilling}
<div class="{css reg-payment}"> <div class="{css('reg-payment')}">
<h1>Payment Page Disabled</h1> <h1>Payment Page Disabled</h1>
<p> <p>
Your customer account is not on credit card billing terms. Please{sp} Your customer account is not on credit card billing terms. Please{sp}

View file

@ -23,29 +23,29 @@
{@param? clientCertificateHash: string} {@param? clientCertificateHash: string}
{@param? failoverClientCertificate: string} {@param? failoverClientCertificate: string}
{@param readonly: bool} {@param readonly: bool}
<form name="item" class="{css item} {css registrar}"> <form name="item" class="{css('item')} {css('registrar')}">
<h1>Security settings</h1> <h1>Security settings</h1>
{if $readonly} {if $readonly}
<p>Use the 'Edit' button above to switch to enable editing the information below. <p>Use the 'Edit' button above to switch to enable editing the information below.
{/if} {/if}
<table> <table>
<tr class="{css kd-settings-pane-section}"> <tr class="{css('kd-settings-pane-section')}">
<td> <td>
<label class="{css setting-label}">Web console access</label> <label class="{css('setting-label')}">Web console access</label>
<td class="{css setting}"> <td class="{css('setting')}">
<p>Your web console account is managed through&nbsp; <p>Your web console account is managed through&nbsp;
<a href="https://www.google.com/accounts" <a href="https://www.google.com/accounts"
target="_blank" rel="noopener">Google account settings</a>. target="_blank" rel="noopener">Google account settings</a>.
<tr class="{css kd-settings-pane-section}"> <tr class="{css('kd-settings-pane-section')}">
<td> <td>
<label class="{css setting-label}">IP whitelist</label> <label class="{css('setting-label')}">IP whitelist</label>
<span class="{css description}">Restrict access to EPP <span class="{css('description')}">Restrict access to EPP
production servers to the following IP/IPv6 addresses, or production servers to the following IP/IPv6 addresses, or
ranges like 1.1.1.1/24</span> ranges like 1.1.1.1/24</span>
</td> </td>
<td class="{css setting}"> <td class="{css('setting')}">
<div class="{css info} {css summary}"> <div class="{css('info')} {css('summary')}">
<div id="ips"> <div id="ips">
{foreach $ip in $ipAddressWhitelist} {foreach $ip in $ipAddressWhitelist}
{call .ip} {call .ip}
@ -54,20 +54,20 @@
{/call} {/call}
{/foreach} {/foreach}
</div> </div>
<div class="{css hidden}"> <div class="{css('hidden')}">
<input id="newIp" value="" placeholder="Enter IP address..."/> <input id="newIp" value="" placeholder="Enter IP address..."/>
<button id="btn-add-ip" type="button" <button id="btn-add-ip" type="button"
class="{css kd-button} {css btn-add}">Add</button> class="{css('kd-button')} {css('btn-add')}">Add</button>
</div> </div>
</div> </div>
</td> </td>
<tr class="{css kd-settings-pane-section}"> <tr class="{css('kd-settings-pane-section')}">
<td> <td>
<label class="{css setting-label}">Telephone passcode</label> <label class="{css('setting-label')}">Telephone passcode</label>
<span class="{css description}">Use this for support calls to the Registry.</span> <span class="{css('description')}">Use this for support calls to the Registry.</span>
</td> </td>
<td class="{css setting}"> <td class="{css('setting')}">
<div id="domain-registrar-phone-passcode"> <div id="domain-registrar-phone-passcode">
{if isNonnull($phonePasscode)} {if isNonnull($phonePasscode)}
<input id="phonePasscode" <input id="phonePasscode"
@ -79,12 +79,12 @@
</div> </div>
</td> </td>
<tr class="{css kd-settings-pane-section}"> <tr class="{css('kd-settings-pane-section')}">
<td> <td>
<label class="{css setting-label}">SSL Certificate</label> <label class="{css('setting-label')}">SSL Certificate</label>
<span class="{css description}">X.509 PEM certificate for EPP production access.</span> <span class="{css('description')}">X.509 PEM certificate for EPP production access.</span>
</td> </td>
<td class="{css setting}"> <td class="{css('setting')}">
{if isNonnull($clientCertificate)} {if isNonnull($clientCertificate)}
<textarea <textarea
name="clientCertificate" name="clientCertificate"
@ -99,8 +99,8 @@
be viewed. Please re-submit or update your certificate by be viewed. Please re-submit or update your certificate by
using the Edit button on the top of this page. using the Edit button on the top of this page.
<p class="{css certhash}"> <p class="{css('certhash')}">
<span class="{css description}">Existing certificate SHA256 base64 hash:</span> <span class="{css('description')}">Existing certificate SHA256 base64 hash:</span>
{$clientCertificateHash} {$clientCertificateHash}
{else} {else}
<textarea name="clientCertificate" rows="16" cols="64"></textarea> <textarea name="clientCertificate" rows="16" cols="64"></textarea>
@ -113,7 +113,7 @@
<textarea id="clientCertificate" <textarea id="clientCertificate"
name="clientCertificate" name="clientCertificate"
rows="16" cols="64"></textarea> rows="16" cols="64"></textarea>
<div class="{css description}"> <div class="{css('description')}">
Example format: Example format:
<textarea id="exampleCert" rows="17" cols="64" readonly> <textarea id="exampleCert" rows="17" cols="64" readonly>
-----BEGIN CERTIFICATE-----{\n} -----BEGIN CERTIFICATE-----{\n}
@ -145,15 +145,15 @@
{/if} {/if}
</td> </td>
<tr class="{css kd-settings-pane-section}"> <tr class="{css('kd-settings-pane-section')}">
<td> <td>
<label class="{css setting-label}"> <label class="{css('setting-label')}">
Failover SSL Certificate Failover SSL Certificate
</label> </label>
<span class="{css description}"> <span class="{css('description')}">
X.509 PEM backup certificate for EPP Production Access. X.509 PEM backup certificate for EPP Production Access.
</span> </span>
<td class="{css setting}"> <td class="{css('setting')}">
{if $readonly and not isNonnull($failoverClientCertificate)} {if $readonly and not isNonnull($failoverClientCertificate)}
<p>No failover certificate on file. <p>No failover certificate on file.
{else} {else}
@ -175,9 +175,9 @@
{template .ip} {template .ip}
{@param name: string} {@param name: string}
{@param ip: string} {@param ip: string}
<div class="{css ip}"> <div class="{css('ip')}">
<button type="button" class="{css kd-button} {css btn-remove} {css hidden}"> <button type="button" class="{css('kd-button')} {css('btn-remove')} {css('hidden')}">
<i class="{css icon-remove} {css edit}">x</i> <i class="{css('icon-remove')} {css('edit')}">x</i>
</button> </button>
<input name="{$name}" value="{$ip}" readonly> <input name="{$name}" value="{$ip}" readonly>
</div> </div>

View file

@ -31,7 +31,7 @@
{@param? faxNumber: string} {@param? faxNumber: string}
{let $whoisServerNonNull: $whoisServer ?: 'None' /} {let $whoisServerNonNull: $whoisServer ?: 'None' /}
{let $referralUrlNonNull: $referralUrl ?: 'None' /} {let $referralUrlNonNull: $referralUrl ?: 'None' /}
<form name="item" class="{css item} {css registrar} {css kd-settings-pane}"> <form name="item" class="{css('item')} {css('registrar')} {css('kd-settings-pane')}">
<h1>WHOIS Settings</h1> <h1>WHOIS Settings</h1>
{if $readonly} {if $readonly}
<p>General registrar information for your WHOIS record. This <p>General registrar information for your WHOIS record. This
@ -85,9 +85,9 @@
{@param? phoneNumber: string} {@param? phoneNumber: string}
{@param? faxNumber: string} {@param? faxNumber: string}
{if $readonly} {if $readonly}
<tr class="{css kd-settings-pane-section}"> <tr class="{css('kd-settings-pane-section')}">
<td><label class="{css setting-label}">Contact info</label></td> <td><label class="{css('setting-label')}">Contact info</label></td>
<td class="{css setting-group-compact}"> <td class="{css('setting-group-compact')}">
{if isNonnull($localizedAddress)} {if isNonnull($localizedAddress)}
{call .viewAddress_ data="$localizedAddress"} {call .viewAddress_ data="$localizedAddress"}
{param id: 'localizedAddress' /} {param id: 'localizedAddress' /}
@ -98,20 +98,20 @@
name="phoneNumber" name="phoneNumber"
id="phoneNumber" id="phoneNumber"
value="{$phoneNumber}"> value="{$phoneNumber}">
<div class="{css contact-phone-number}">{$phoneNumber}</div> <div class="{css('contact-phone-number')}">{$phoneNumber}</div>
{/if} {/if}
{if isNonnull($faxNumber)} {if isNonnull($faxNumber)}
<input type="hidden" <input type="hidden"
name="faxNumber" name="faxNumber"
id="faxNumber" id="faxNumber"
value="{$faxNumber}"> value="{$faxNumber}">
<div class="{css contact-fax-number}">{$faxNumber} (Fax)</div> <div class="{css('contact-fax-number')}">{$faxNumber} (Fax)</div>
{/if} {/if}
<input type="hidden" <input type="hidden"
name="emailAddress" name="emailAddress"
id="emailAddress" id="emailAddress"
value="{$emailAddress}"> value="{$emailAddress}">
<div class="{css contact-fax-number}">{$emailAddress}</div> <div class="{css('contact-fax-number')}">{$emailAddress}</div>
</td> </td>
{else} {else}
{call registry.soy.forms.inputFieldRowWithValue} {call registry.soy.forms.inputFieldRowWithValue}
@ -154,7 +154,7 @@
name="{$id}.street[{index($line)}]" name="{$id}.street[{index($line)}]"
id="{$id}.street[{index($line)}]" id="{$id}.street[{index($line)}]"
value="{$street[index($line)]}"> value="{$street[index($line)]}">
<div class="{css contact-address-street}">{$street[index($line)]}</div> <div class="{css('contact-address-street')}">{$street[index($line)]}</div>
{/foreach} {/foreach}
<input type="hidden" name="{$id}.city" id="{$id}.city" value="{$city}"> <input type="hidden" name="{$id}.city" id="{$id}.city" value="{$city}">
<input type="hidden" name="{$id}.state" id="{$id}.state" value="{$state}"> <input type="hidden" name="{$id}.state" id="{$id}.state" value="{$state}">
@ -163,14 +163,14 @@
name="{$id}.countryCode" name="{$id}.countryCode"
id="{$id}.countryCode" id="{$id}.countryCode"
value="{$countryCode}"> value="{$countryCode}">
<div class="{css contact-address-city}">{$city},</div> <div class="{css('contact-address-city')}">{$city},</div>
{if isNonnull($state)} {if isNonnull($state)}
{sp}<div class="{css contact-address-state}">{$state}</div> {sp}<div class="{css('contact-address-state')}">{$state}</div>
{/if} {/if}
{if isNonnull($zip)} {if isNonnull($zip)}
{sp}<div class="{css contact-address-zip}">{$zip}</div> {sp}<div class="{css('contact-address-zip')}">{$zip}</div>
{/if} {/if}
{sp}<div class="{css contact-address-cc}">{$countryCode}</div> {sp}<div class="{css('contact-address-cc')}">{$countryCode}</div>
{/template} {/template}
@ -189,11 +189,11 @@
{let $state2: $state ?: '' /} {let $state2: $state ?: '' /}
{let $zip2: $zip ?: '' /} {let $zip2: $zip ?: '' /}
{let $countryCode2: $countryCode ?: '' /} {let $countryCode2: $countryCode ?: '' /}
<tr class="{css kd-settings-pane-section}"> <tr class="{css('kd-settings-pane-section')}">
<td> <td>
<label for="{$id}.street[0]" <label for="{$id}.street[0]"
class="{css setting-label}">Street Address</label> class="{css('setting-label')}">Street Address</label>
<td class="{css setting}"> <td class="{css('setting')}">
<input id="{$id}.street[0]" <input id="{$id}.street[0]"
name="{$id}.street[0]" name="{$id}.street[0]"
value="{if isNonnull($street2[0])}{$street2[0]}{/if}"> value="{if isNonnull($street2[0])}{$street2[0]}{/if}">