Merge remote-tracking branch 'upstream/master'
|
@ -15,7 +15,7 @@
|
|||
</div>
|
||||
<div class="form-group">
|
||||
<label for="email">${rb.getString('email')}</label><span class="required">*</span>
|
||||
<input type="email" id="email" name="email" autofocus value="${user.email!''}"/>
|
||||
<input type="text" id="email" name="email" autofocus value="${user.email!''}"/>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="lastName">${rb.getString('lastName')}</label><span class="required">*</span>
|
||||
|
@ -27,7 +27,7 @@
|
|||
</div>
|
||||
</fieldset>
|
||||
<div class="form-actions">
|
||||
<a href="#">« Back to my application</a>
|
||||
<#--a href="#">« Back to my application</a-->
|
||||
<button type="submit" class="primary">Save</button>
|
||||
<button type="submit">Cancel</button>
|
||||
</div>
|
||||
|
|
|
@ -185,43 +185,6 @@ table a:hover {
|
|||
font-weight: normal;
|
||||
margin-left: 1em;
|
||||
}
|
||||
.tooltip-box {
|
||||
position: absolute;
|
||||
font-size: 1em;
|
||||
background-image: url("img/tooltip-box-arrow-right-up.svg");
|
||||
background-position: right top;
|
||||
background-repeat: no-repeat;
|
||||
padding-top: 1em;
|
||||
right: 0;
|
||||
top: 1.5em;
|
||||
font-size: 0.90909090909091em;
|
||||
}
|
||||
.tooltip-box fieldset {
|
||||
width: 30.8em;
|
||||
padding-left: 1.5em;
|
||||
padding-right: 1.5em;
|
||||
padding-top: .5em;
|
||||
background-color: #fff;
|
||||
border: 1px solid #b6b6b6;
|
||||
border-top: none;
|
||||
border-radius: 0 2px 2px 2px;
|
||||
box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
.tooltip-box fieldset legend {
|
||||
display: none;
|
||||
}
|
||||
.tooltip-box fieldset label {
|
||||
width: 6em;
|
||||
}
|
||||
.tooltip-box fieldset .form-actions {
|
||||
margin: 0;
|
||||
padding: 1em 1.5em 1em 0;
|
||||
background-color: #f8f8f8;
|
||||
display: block;
|
||||
float: none;
|
||||
margin-right: -1.5em;
|
||||
margin-left: -1.5em;
|
||||
}
|
||||
td.token-cell button {
|
||||
margin-top: -1px;
|
||||
}
|
||||
|
|
|
@ -307,9 +307,7 @@ button[class^="icon-"] {
|
|||
padding: 0;
|
||||
line-height: 1em;
|
||||
}
|
||||
button[class^="icon-"]:hover {
|
||||
background-image: url(img/sprites.png);
|
||||
}
|
||||
|
||||
legend {
|
||||
font-size: 1em;
|
||||
border-width: 1px 0 0 0;
|
||||
|
@ -328,14 +326,7 @@ legend .text {
|
|||
font-weight: bold;
|
||||
font-size: 1.25em;
|
||||
}
|
||||
legend .icon-info {
|
||||
background-image: url(img/sprites-gray.png);
|
||||
margin-left: 1em;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
legend .icon-info:hover {
|
||||
background-image: url(img/sprites.png);
|
||||
}
|
||||
|
||||
.form-group {
|
||||
display: block;
|
||||
margin-bottom: 1em;
|
||||
|
@ -377,7 +368,7 @@ legend + table {
|
|||
margin-top: 1em;
|
||||
}
|
||||
.code {
|
||||
font-family: Courier, monospace;
|
||||
font-family: Courier, monospace;
|
||||
}
|
||||
.onoffswitch {
|
||||
-moz-user-select: none;
|
||||
|
@ -460,20 +451,6 @@ input[type="email"].tiny {
|
|||
min-width: 40px;
|
||||
width: 40px;
|
||||
}
|
||||
.select-rcue,
|
||||
.select2-container .select2-choice {
|
||||
height: 26px;
|
||||
border: 1px #b6b6b6 solid;
|
||||
border-radius: 2px;
|
||||
box-shadow: inset 0px 2px 2px rgba(0, 0, 0, 0.1);
|
||||
color: #333;
|
||||
background: #ffffff url(img/select-arrow.png) no-repeat right center;
|
||||
overflow: hidden;
|
||||
min-width: 75px;
|
||||
padding: 0 0.9em 0 0;
|
||||
display: inline-block;
|
||||
font-family: "Open Sans", sans-serif;
|
||||
}
|
||||
.select-rcue:hover {
|
||||
border-color: #62afdb;
|
||||
}
|
||||
|
@ -510,93 +487,7 @@ input[type="email"].tiny {
|
|||
.select-rcue option:hover {
|
||||
background-color: #d5ecf9;
|
||||
}
|
||||
.select2-container {
|
||||
float: left;
|
||||
margin-top: 0.3em;
|
||||
margin-bottom: 0.3em;
|
||||
}
|
||||
.select2-container .select2-choice > .select2-chosen {
|
||||
line-height: 2.1em;
|
||||
padding-left: 0.90909090909091em;
|
||||
margin-right: 0;
|
||||
font-size: 1.1em;
|
||||
padding-right: 2.36363636363636em;
|
||||
padding-right: 26px;
|
||||
}
|
||||
.select2-container .select2-choice .select2-arrow {
|
||||
display: none;
|
||||
}
|
||||
.select2-dropdown-open {
|
||||
background-color: #fff;
|
||||
}
|
||||
.select2-dropdown-open .select2-choice,
|
||||
.select2-dropdown-open .select2-choices {
|
||||
border-bottom: none;
|
||||
border-radius: 2px 2px 0 0;
|
||||
background-image: url(img/chosen-arrow-down.png);
|
||||
background-color: transparent;
|
||||
background-repeat: no-repeat;
|
||||
background-position: right top;
|
||||
box-shadow: none;
|
||||
}
|
||||
.select2-dropdown-open .select2-choice,
|
||||
.select2-dropdown-open.select2-drop-above .select2-choice,
|
||||
.select2-dropdown-open .select2-choices,
|
||||
.select2-dropdown-open.select2-drop-above .select2-choices {
|
||||
border-color: #62AFDB;
|
||||
}
|
||||
.select2-search input {
|
||||
min-width: 0;
|
||||
}
|
||||
.select2-drop-active {
|
||||
border-radius: 0 0 2px 2px;
|
||||
margin-top: -1px;
|
||||
padding-top: 4px;
|
||||
}
|
||||
.select2-container.select2-drop-above .select2-choice {
|
||||
border-radius: 0 0 2px 2px;
|
||||
background-image: url(img/chosen-arrow-up.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: right 0;
|
||||
box-shadow: none;
|
||||
}
|
||||
.select2-drop.select2-drop-above {
|
||||
border-radius: 2px 2px 0 0;
|
||||
padding-top: 0;
|
||||
margin-top: 2px;
|
||||
}
|
||||
.select2-drop.select2-drop-above.select2-drop-active,
|
||||
.select2-drop-active {
|
||||
border-color: #62AFDB;
|
||||
}
|
||||
.select2-results {
|
||||
padding-left: 0;
|
||||
margin-right: 0;
|
||||
}
|
||||
.select2-results li {
|
||||
border-top: 1px solid transparent;
|
||||
border-bottom: 1px solid transparent;
|
||||
}
|
||||
.select2-results .select2-result-label,
|
||||
.select2-results .select2-no-results,
|
||||
.select2-results .select2-searching,
|
||||
.select2-results .select2-selection-limit {
|
||||
font-size: 1.1em;
|
||||
padding-left: 1.09090909090909em;
|
||||
}
|
||||
.select2-results .select2-no-results,
|
||||
.select2-results .select2-searching,
|
||||
.select2-results .select2-selection-limit {
|
||||
color: #838383;
|
||||
padding-top: 3px;
|
||||
padding-bottom: 4px;
|
||||
}
|
||||
.select2-results .select2-highlighted {
|
||||
background-color: #d5ecf9;
|
||||
border-top: 1px solid #a7d7f1;
|
||||
border-bottom: 1px solid #a7d7f1;
|
||||
color: #4d5258;
|
||||
}
|
||||
|
||||
.input-group input + .select-rcue {
|
||||
border-radius: 0 2px 2px 0;
|
||||
border-left: 0;
|
||||
|
@ -605,93 +496,7 @@ input[type="email"].tiny {
|
|||
.input-select .input-group input {
|
||||
float: left;
|
||||
}
|
||||
.tokenfield.form-control {
|
||||
width: 40em;
|
||||
float: left;
|
||||
min-height: 2.6em;
|
||||
border: 1px #b6b6b6 solid;
|
||||
border-radius: 2px;
|
||||
box-shadow: inset 0px 2px 2px rgba(0, 0, 0, 0.1);
|
||||
padding: 0 0.7em;
|
||||
margin-bottom: 0;
|
||||
font-size: 1em;
|
||||
height: auto;
|
||||
outline: 0 none;
|
||||
}
|
||||
.tokenfield.form-control .token {
|
||||
display: inline-block;
|
||||
background-color: #d4ecf8;
|
||||
border: 1px solid #a3d7f0;
|
||||
border-radius: 1px;
|
||||
padding: 0 0.3em 0 0.7em;
|
||||
margin-right: 0.7em;
|
||||
margin-top: 0.3em;
|
||||
margin-bottom: 0.3em;
|
||||
outline: 0 none;
|
||||
}
|
||||
.tokenfield.form-control .token span {
|
||||
float: left;
|
||||
font-size: 1.1em;
|
||||
line-height: 1.45454545454545em;
|
||||
}
|
||||
.tokenfield.form-control .token .close {
|
||||
text-indent: -99999em;
|
||||
width: 1.6em;
|
||||
height: 1.6em;
|
||||
line-height: 1.6em;
|
||||
background: url(img/btn-close-blue.png) no-repeat center center;
|
||||
margin-left: 0.3em;
|
||||
padding: 0;
|
||||
border: none;
|
||||
font-size: 1em;
|
||||
opacity: 1;
|
||||
}
|
||||
.tokenfield.form-control input {
|
||||
padding: 0;
|
||||
border: none;
|
||||
font-size: 1.1em;
|
||||
line-height: 1.63636363636364em;
|
||||
height: 1.63636363636364em;
|
||||
margin: 0.272727272727273em 0;
|
||||
box-shadow: none;
|
||||
outline: 0 none;
|
||||
float: left;
|
||||
}
|
||||
.tokenfield.form-control:hover {
|
||||
border-color: #62afdb;
|
||||
}
|
||||
.tokenfield.form-control:focus {
|
||||
border-color: #62afdb;
|
||||
box-shadow: #62afdb 0 0 5px;
|
||||
}
|
||||
.token {
|
||||
float: left;
|
||||
background-color: #d4ecf8;
|
||||
border: 1px solid #a3d7f0;
|
||||
border-radius: 1px;
|
||||
padding: 0 0.3em 0 0.7em;
|
||||
margin-right: 0.7em;
|
||||
margin-top: 0.3em;
|
||||
margin-bottom: 0.3em;
|
||||
outline: 0 none;
|
||||
}
|
||||
.token span {
|
||||
float: left;
|
||||
font-size: 1.1em;
|
||||
line-height: 1.45454545454545em;
|
||||
}
|
||||
.token .close {
|
||||
text-indent: -9999999em;
|
||||
width: 1.6em;
|
||||
height: 1.6em;
|
||||
line-height: 1.6em;
|
||||
background: url(img/btn-close-blue.png) no-repeat center center;
|
||||
margin-left: 0.3em;
|
||||
padding: 0;
|
||||
border: none;
|
||||
font-size: 1em;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.form-actions {
|
||||
float: right;
|
||||
margin-top: 3em;
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||
<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="80px" height="76px" viewBox="0 0 80 76" enable-background="new 0 0 80 76" xml:space="preserve">
|
||||
<path id="f" fill="#FFFFFF" d="M43.717,62V40.104h7.35l1.1-8.533h-8.449v-5.448c0-2.471,0.686-4.154,4.229-4.154l4.518-0.002v-7.632
|
||||
C51.682,14.231,49,14,45.88,14c-6.514,0-10.975,3.977-10.975,11.279v6.292h-7.368v8.533h7.368V62H43.717z"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 722 B |
|
@ -1,164 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="1680px" height="1080px" viewBox="0 0 1680 1080" enable-background="new 0 0 1680 1080" xml:space="preserve">
|
||||
<rect fill="#383D42" width="1680" height="1080"/>
|
||||
<g>
|
||||
<defs>
|
||||
<filter id="Adobe_OpacityMaskFilter" filterUnits="userSpaceOnUse" x="1057" y="597" width="704" height="572">
|
||||
<feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/>
|
||||
</filter>
|
||||
</defs>
|
||||
<mask maskUnits="userSpaceOnUse" x="1057" y="597" width="704" height="572" id="SVGID_1_">
|
||||
<g filter="url(#Adobe_OpacityMaskFilter)">
|
||||
|
||||
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="1302.4395" y1="-269.9951" x2="1622.4397" y2="22.0046" gradientTransform="matrix(-1 0 0 -1 3112 976.6914)">
|
||||
<stop offset="0" style="stop-color:#000000"/>
|
||||
<stop offset="1" style="stop-color:#FFFFFF"/>
|
||||
</linearGradient>
|
||||
<rect x="1035" y="573" fill="url(#SVGID_2_)" width="752" height="620"/>
|
||||
</g>
|
||||
</mask>
|
||||
<path mask="url(#SVGID_1_)" fill="#D8D8D8" d="M1761,597c-140,214-410,510-704,572h704V597z"/>
|
||||
<defs>
|
||||
|
||||
<filter id="Adobe_OpacityMaskFilter_1_" filterUnits="userSpaceOnUse" x="1056.742" y="596.315" width="705.304" height="573.907">
|
||||
<feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/>
|
||||
</filter>
|
||||
</defs>
|
||||
<mask maskUnits="userSpaceOnUse" x="1056.742" y="596.315" width="705.304" height="573.907" id="SVGID_3_">
|
||||
<g filter="url(#Adobe_OpacityMaskFilter_1_)">
|
||||
|
||||
<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="1302.4395" y1="-269.9951" x2="1622.4397" y2="22.0046" gradientTransform="matrix(-1 0 0 -1 3112 976.6914)">
|
||||
<stop offset="0" style="stop-color:#000000"/>
|
||||
<stop offset="1" style="stop-color:#FFFFFF"/>
|
||||
</linearGradient>
|
||||
<rect x="1035" y="573" fill="url(#SVGID_4_)" width="752" height="620"/>
|
||||
</g>
|
||||
</mask>
|
||||
<path opacity="0.1" mask="url(#SVGID_3_)" fill="none" stroke="#D8D8D8" stroke-width="2.5" stroke-miterlimit="10" d="M1761,597
|
||||
c-140,214-410,510-704,572"/>
|
||||
</g>
|
||||
<defs>
|
||||
<filter id="Adobe_OpacityMaskFilter_2_" filterUnits="userSpaceOnUse" x="168.747" y="365.576" width="1798.615" height="822.631">
|
||||
<feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/>
|
||||
</filter>
|
||||
</defs>
|
||||
<mask maskUnits="userSpaceOnUse" x="168.747" y="365.576" width="1798.615" height="822.631" id="SVGID_5_">
|
||||
<g filter="url(#Adobe_OpacityMaskFilter_2_)">
|
||||
|
||||
<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="1476.5908" y1="477.5732" x2="2688.6016" y2="21.5689" gradientTransform="matrix(-0.9876 -0.1569 0.1569 -0.9876 3048.3154 1294.3018)">
|
||||
<stop offset="0" style="stop-color:#000000"/>
|
||||
<stop offset="1" style="stop-color:#FFFFFF"/>
|
||||
</linearGradient>
|
||||
<polygon fill="url(#SVGID_6_)" points="329.208,58.782 1976.554,320.459 1810.26,1367.334 162.914,1105.656 "/>
|
||||
</g>
|
||||
</mask>
|
||||
<path mask="url(#SVGID_5_)" fill="#E0E0E0" d="M1967.361,365.576c-393.429,322.269-1126.777,782.925-1798.615,728.856
|
||||
c379.652,70.433,1428.387,135.769,1651.069,59.762L1967.361,365.576z"/>
|
||||
<path fill="#D8D8D8" d="M-114.695,1221h1160.347c80.272-27.337,158.024-70.67,230.989-123.266
|
||||
C792.789,983.34-203.837,592.187-368.695,373L-114.695,1221z"/>
|
||||
<defs>
|
||||
<filter id="Adobe_OpacityMaskFilter_3_" filterUnits="userSpaceOnUse" x="-395" y="514.337" width="1423.831" height="829.326">
|
||||
<feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/>
|
||||
</filter>
|
||||
</defs>
|
||||
<mask maskUnits="userSpaceOnUse" x="-395" y="514.337" width="1423.831" height="829.326" id="SVGID_7_">
|
||||
<g filter="url(#Adobe_OpacityMaskFilter_3_)">
|
||||
|
||||
<linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="2111.374" y1="319.9775" x2="3115.3701" y2="81.9786" gradientTransform="matrix(-1.075 0.1117 -0.1167 -1.1224 3229.8789 866.1523)">
|
||||
<stop offset="0" style="stop-color:#000000"/>
|
||||
<stop offset="0.0972" style="stop-color:#060606"/>
|
||||
<stop offset="0.2213" style="stop-color:#151515"/>
|
||||
<stop offset="0.36" style="stop-color:#303030"/>
|
||||
<stop offset="0.5093" style="stop-color:#545454"/>
|
||||
<stop offset="0.6671" style="stop-color:#838383"/>
|
||||
<stop offset="0.8323" style="stop-color:#BDBDBD"/>
|
||||
<stop offset="1" style="stop-color:#FFFFFF"/>
|
||||
</linearGradient>
|
||||
<polygon fill="url(#SVGID_8_)" points="-543.126,587.599 1129.521,413.746 1223.549,1318.382 -449.1,1492.233 "/>
|
||||
</g>
|
||||
</mask>
|
||||
<path mask="url(#SVGID_7_)" fill="#C6C6C5" d="M-395,1343.663c225.178-156.636,836.847-511.283,1423.831-382.832l-17.056-446.355
|
||||
C360.896,503.847-136.975,1108.097-395,1343.663z"/>
|
||||
<path opacity="0.2" fill="none" stroke="#D8D8D8" stroke-width="5" stroke-miterlimit="10" d="M-368.695,373
|
||||
c164.858,219.187,1161.484,610.34,1645.336,724.734c154.24,39.423,293.768,67.189,413.359,86.745"/>
|
||||
<path opacity="0.4" fill="none" stroke="#777D82" stroke-width="3" stroke-miterlimit="10" d="M-218.695,311
|
||||
c338,316,1048,836,1440,990"/>
|
||||
<path opacity="0.1" fill="none" stroke="#C6C6C5" stroke-width="2" stroke-miterlimit="10" d="M1257.069,1089.063
|
||||
c124.494-56.997,382.481-291.736,437.979-414.73"/>
|
||||
<defs>
|
||||
<filter id="Adobe_OpacityMaskFilter_4_" filterUnits="userSpaceOnUse" x="535.169" y="-135" width="1423.831" height="829.326">
|
||||
<feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/>
|
||||
</filter>
|
||||
</defs>
|
||||
<mask maskUnits="userSpaceOnUse" x="535.169" y="-135" width="1423.831" height="829.326" id="SVGID_9_">
|
||||
<g filter="url(#Adobe_OpacityMaskFilter_4_)">
|
||||
|
||||
<linearGradient id="SVGID_10_" gradientUnits="userSpaceOnUse" x1="664.5693" y1="382.668" x2="1668.5647" y2="144.6692" gradientTransform="matrix(1.075 -0.1117 0.1167 1.1224 -117.8789 110.5386)">
|
||||
<stop offset="0" style="stop-color:#000000"/>
|
||||
<stop offset="1" style="stop-color:#FFFFFF"/>
|
||||
</linearGradient>
|
||||
<polygon fill="url(#SVGID_10_)" points="2107.126,621.064 434.478,794.917 340.452,-109.719 2013.1,-283.57 "/>
|
||||
</g>
|
||||
</mask>
|
||||
<path mask="url(#SVGID_9_)" fill="#C6C6C5" d="M1959-135C1733.822,21.636,1122.153,376.284,535.169,247.832l17.055,446.356
|
||||
C1203.104,704.816,1700.975,100.567,1959-135z"/>
|
||||
<path fill="#D8D8D8" d="M1743-27H582.653C502.38,0.337,424.629,43.67,351.665,96.265C835.516,210.66,1832.142,601.813,1997,821
|
||||
L1743-27z"/>
|
||||
<defs>
|
||||
<filter id="Adobe_OpacityMaskFilter_5_" filterUnits="userSpaceOnUse" x="-49" y="-47" width="704" height="572">
|
||||
<feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/>
|
||||
</filter>
|
||||
</defs>
|
||||
<mask maskUnits="userSpaceOnUse" x="-49" y="-47" width="704" height="572" id="SVGID_11_">
|
||||
<g filter="url(#Adobe_OpacityMaskFilter_5_)">
|
||||
<linearGradient id="SVGID_12_" gradientUnits="userSpaceOnUse" x1="-97.5605" y1="-124.686" x2="222.4397" y2="167.3137">
|
||||
<stop offset="0" style="stop-color:#000000"/>
|
||||
<stop offset="1" style="stop-color:#FFFFFF"/>
|
||||
</linearGradient>
|
||||
<rect x="-75" y="-71" fill="url(#SVGID_12_)" width="752" height="620"/>
|
||||
</g>
|
||||
</mask>
|
||||
<path mask="url(#SVGID_11_)" fill="#D8D8D8" d="M-49,525C91,311,361,15,655-47H-49V525z"/>
|
||||
<defs>
|
||||
<filter id="Adobe_OpacityMaskFilter_6_" filterUnits="userSpaceOnUse" x="-209" y="-147.691" width="1662" height="1002.691">
|
||||
<feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/>
|
||||
</filter>
|
||||
</defs>
|
||||
<mask maskUnits="userSpaceOnUse" x="-209" y="-147.691" width="1662" height="1002.691" id="SVGID_13_">
|
||||
<g filter="url(#Adobe_OpacityMaskFilter_6_)">
|
||||
<linearGradient id="SVGID_14_" gradientUnits="userSpaceOnUse" x1="54.2939" y1="584.9688" x2="1266.2927" y2="128.9689">
|
||||
<stop offset="0" style="stop-color:#000000"/>
|
||||
<stop offset="1" style="stop-color:#FFFFFF"/>
|
||||
</linearGradient>
|
||||
<rect x="-211" y="-159" fill="url(#SVGID_14_)" width="1668" height="1060"/>
|
||||
</g>
|
||||
</mask>
|
||||
<path mask="url(#SVGID_13_)" fill="#E0E0E0" d="M-209,855C129,475,781-95,1453-147C1067-157,21-57-187,53L-209,855z"/>
|
||||
<path opacity="0.2" fill="none" stroke="#D8D8D8" stroke-width="5" stroke-miterlimit="10" d="M1997,821
|
||||
C1832.142,601.813,835.516,210.66,351.665,96.265C197.423,56.843,57.896,29.076-61.695,9.521"/>
|
||||
<path opacity="0.4" fill="none" stroke="#777D82" stroke-width="3" stroke-miterlimit="10" d="M1847,883C1509,567,799,47,407-107"/>
|
||||
<defs>
|
||||
<filter id="Adobe_OpacityMaskFilter_7_" filterUnits="userSpaceOnUse" x="-50.046" y="-48.223" width="705.304" height="573.907">
|
||||
<feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/>
|
||||
</filter>
|
||||
</defs>
|
||||
<mask maskUnits="userSpaceOnUse" x="-50.046" y="-48.223" width="705.304" height="573.907" id="SVGID_15_">
|
||||
<g filter="url(#Adobe_OpacityMaskFilter_7_)">
|
||||
<linearGradient id="SVGID_16_" gradientUnits="userSpaceOnUse" x1="-97.5605" y1="-124.686" x2="222.4397" y2="167.3137">
|
||||
<stop offset="0" style="stop-color:#000000"/>
|
||||
<stop offset="1" style="stop-color:#FFFFFF"/>
|
||||
</linearGradient>
|
||||
<rect x="-75" y="-71" fill="url(#SVGID_16_)" width="752" height="620"/>
|
||||
</g>
|
||||
</mask>
|
||||
<path opacity="0.1" mask="url(#SVGID_15_)" fill="none" stroke="#D8D8D8" stroke-width="2.5" stroke-miterlimit="10" d="M-49,525
|
||||
C91,311,361,15,655-47"/>
|
||||
<circle fill="#D8D8D8" cx="1247.084" cy="399.5" r="2.5"/>
|
||||
<circle fill="#D8D8D8" cx="436.333" cy="117.667" r="2"/>
|
||||
<circle fill="#D8D8D8" cx="254.667" cy="173.667" r="2"/>
|
||||
<circle fill="#D8D8D8" cx="375" cy="101.667" r="4"/>
|
||||
<circle fill="#D8D8D8" cx="351.665" cy="96.265" r="5"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 9.6 KiB |
|
@ -1,11 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||
<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="1000px" height="11px" viewBox="0 0 1000 11" enable-background="new 0 0 1000 11" xml:space="preserve">
|
||||
<g>
|
||||
<path fill="#F7E6E6" d="M1000,0c0,1.104-0.896,2-2,2H38l-8,9l-8-9H2C0.896,2,0,1.104,0,0"/>
|
||||
<path fill="#B82025" d="M999,0c0,0.551-0.448,1-1,1H38h-0.449l-0.298,0.335L30,9.495l-7.253-8.159L22.449,1H22H2
|
||||
C1.449,1,1,0.551,1,0 M0,0c0,1.104,0.896,2,2,2h20l8,9l8-9h960c1.104,0,2-0.896,2-2"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 793 B |
|
@ -1,19 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||
<svg version="1.0" id="svg7384" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="17px" height="17px" viewBox="0 0 17 17" enable-background="new 0 0 17 17" xml:space="preserve">
|
||||
<g>
|
||||
<path fill="#CC0000" d="M8.196,3.822C8.74,3.806,9.244,4.31,9.228,4.854v3.938c0.007,0.528-0.473,1.014-1,1.014
|
||||
c-0.528,0-1.008-0.486-1-1.014V4.854c-0.008-0.467,0.354-0.913,0.812-1C8.091,3.839,8.144,3.83,8.196,3.822L8.196,3.822z"/>
|
||||
<rect x="7.228" y="10.792" fill="#CC0000" width="2" height="2"/>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path fill="#CC0000" d="M11.432,16.5H5.126L0,11.373V5.097L5.127,0h6.247l5.125,5.157V11.4L11.432,16.5z M5.747,15h5.06
|
||||
l4.192-4.218V5.775L10.75,1.5H5.746L1.5,5.721v5.031L5.747,15z"/>
|
||||
<path fill="#CC0000" d="M5.229,16.25h6.098l4.922-4.953V5.26L11.27,0.25H5.23L0.25,5.201v6.069L5.229,16.25z M10.91,15.25H5.644
|
||||
L1.25,10.855V5.617L5.643,1.25h5.212l4.395,4.422v5.212L10.91,15.25z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 164 B |
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||
<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="1px" height="400px" viewBox="0 0 1 400" enable-background="new 0 0 1 400" xml:space="preserve">
|
||||
<rect opacity="0.15" fill="#FFFFFF" width="1.447" height="400"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 551 B |
|
@ -1,19 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||
<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="324px" height="400px" viewBox="0 0 324 400" enable-background="new 0 0 324 400" xml:space="preserve">
|
||||
<rect x="6.001" opacity="0.07" fill="#FFFFFF" width="0.997" height="190"/>
|
||||
<rect x="6" y="209" opacity="0.07" fill="#FFFFFF" width="1" height="191"/>
|
||||
<rect x="323" opacity="0.15" fill="#FFFFFF" width="1.447" height="400"/>
|
||||
<g opacity="0.15">
|
||||
<path fill="#FFFFFF" d="M6.501,200.066c0,1.047-0.264,1.864-0.791,2.452S4.454,203.4,3.524,203.4c-0.574,0-1.084-0.135-1.529-0.404
|
||||
s-0.789-0.656-1.031-1.16s-0.363-1.094-0.363-1.77c0-1.047,0.262-1.862,0.785-2.446s1.25-0.876,2.18-0.876
|
||||
c0.898,0,1.612,0.299,2.142,0.896S6.501,199.047,6.501,200.066z M1.608,200.066c0,0.82,0.164,1.445,0.492,1.875
|
||||
s0.811,0.645,1.447,0.645s1.12-0.214,1.45-0.642s0.495-1.054,0.495-1.878c0-0.816-0.165-1.437-0.495-1.86s-0.817-0.636-1.462-0.636
|
||||
c-0.637,0-1.117,0.209-1.441,0.627S1.608,199.238,1.608,200.066z"/>
|
||||
<path fill="#FFFFFF" d="M11.136,196.744c0.285,0,0.541,0.023,0.768,0.07l-0.135,0.902c-0.266-0.059-0.5-0.088-0.703-0.088
|
||||
c-0.52,0-0.964,0.211-1.333,0.633s-0.554,0.947-0.554,1.576v3.445H8.206v-6.422h0.803l0.111,1.189h0.047
|
||||
c0.238-0.418,0.525-0.74,0.861-0.967S10.733,196.744,11.136,196.744z"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.5 KiB |
|
@ -3,9 +3,9 @@ body {
|
|||
min-height: 60em;
|
||||
min-width: 120em;
|
||||
}
|
||||
|
||||
.rcue-login-register {
|
||||
background-color: #1D2226;
|
||||
background-image: url("img/login-screen-background.jpg");
|
||||
background-position: top left;
|
||||
background-size: auto;
|
||||
background-repeat: no-repeat;
|
||||
|
@ -17,6 +17,7 @@ body {
|
|||
/* Info area */
|
||||
|
||||
}
|
||||
|
||||
.rcue-login-register h1 a {
|
||||
position: absolute;
|
||||
top: 5em;
|
||||
|
@ -61,12 +62,12 @@ body {
|
|||
padding-right: 4.5em;
|
||||
}
|
||||
.rcue-login-register .form-area {
|
||||
background-image: url(img/login-register-separator.svg);
|
||||
background-image: url(img/login-register-separator.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 40.2em center;
|
||||
}
|
||||
.rcue-login-register .form-area.social {
|
||||
background-image: url(img/login-register-social-separators.svg);
|
||||
background-image: url(img/login-register-social-separators.png);
|
||||
background-position: 39.6em center;
|
||||
}
|
||||
.rcue-login-register .section > p {
|
||||
|
@ -267,10 +268,6 @@ a.zocial:before {
|
|||
.rcue-login-register.register form > div.aside-btn p {
|
||||
line-height: 1.3em;
|
||||
}
|
||||
/* Customer login */
|
||||
.rcue-login-register.customer {
|
||||
background-image: url("img/customer-login-screen-bg2.jpg");
|
||||
}
|
||||
.rcue-login-register p.powered {
|
||||
font-size: 1.1em;
|
||||
margin-top: 1.27272727272727em;
|
||||
|
@ -402,11 +399,6 @@ a.zocial:before {
|
|||
.rcue-login-register.email label {
|
||||
width: 6.78571428571429em;
|
||||
}
|
||||
.rcue-login-register.email .form-area.email {
|
||||
background-position: 40.6em center;
|
||||
background-image: url(img/login-register-email-separator.svg);
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
.rcue-login-register.email .feedback.bottom-left {
|
||||
left: 38.3em;
|
||||
}
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
display: inline-block;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
background-image: url(img/sprites.png); /* Modified by Gabriel */
|
||||
background-repeat: no-repeat;
|
||||
text-indent: -99999em;
|
||||
margin-right: 0.5em;
|
||||
|
|
|
@ -30,14 +30,6 @@ table thead tr th {
|
|||
.rcue-table-actions {
|
||||
padding: 1px;
|
||||
}
|
||||
/*
|
||||
.rcue-table-actions button {
|
||||
padding: 3px 8px;
|
||||
font-size: 11px;
|
||||
box-shadow: 1px 2px 2px #e3e3e3;
|
||||
margin: 4px;
|
||||
}
|
||||
*/
|
||||
.rcue-table-number {
|
||||
text-align: right;
|
||||
width: 100px;
|
||||
|
@ -54,11 +46,7 @@ table thead tr th {
|
|||
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fafafa), color-stop(1, 0, #eeeeee));
|
||||
border-bottom: 1px #cedede solid;
|
||||
}
|
||||
/*
|
||||
table tbody tr td:first-child {
|
||||
color: #0099d3;
|
||||
}
|
||||
*/
|
||||
|
||||
table thead tr th:last-child {
|
||||
border-right: none;
|
||||
}
|
||||
|
@ -70,12 +58,7 @@ table tbody tr:first-child td {
|
|||
table tbody tr td:last-child {
|
||||
border-right: none;
|
||||
}
|
||||
/*
|
||||
table tbody tr:hover {
|
||||
cursor: pointer;
|
||||
background-color: #ebebeb;
|
||||
}
|
||||
*/
|
||||
|
||||
/* Styles from Gabriel */
|
||||
.rcue-table-actions button + button,
|
||||
.rcue-table-actions .button + button {
|
||||
|
@ -109,23 +92,7 @@ table tbody tr td.token-cell button {
|
|||
margin-bottom: 7px;
|
||||
margin-top: 8px;
|
||||
}
|
||||
table tbody.selectable-rows tr:hover {
|
||||
cursor: pointer;
|
||||
background-color: #ebebeb;
|
||||
}
|
||||
table tbody.selectable-rows tr:first-child td {
|
||||
padding-top: 9px;
|
||||
}
|
||||
table tbody.selectable-rows tr.selected,
|
||||
table tbody.selectable-rows tr.selected:hover {
|
||||
background-color: #eaf5fb;
|
||||
}
|
||||
table tbody.selectable-rows tr.selected td:first-child,
|
||||
table tbody.selectable-rows tr.selected:hover td:first-child {
|
||||
background-image: url(img/icon-row-selected.svg);
|
||||
background-position: 0.2em center;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
table tfoot tr {
|
||||
border-top: 1px solid #cecece;
|
||||
}
|
||||
|
|
After Width: | Height: | Size: 318 B |
|
@ -15,15 +15,15 @@
|
|||
</div>
|
||||
<div class="form-group">
|
||||
<label for="password-new">${rb.getString('passwordNew')}</label>
|
||||
<input type="password" id="password-new" name="password-new" placeholder="At least 6 characters" class="error">
|
||||
<input type="password" id="password-new" name="password-new">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="password-confirm" class="two-lines">${rb.getString('passwordConfirm')}</label>
|
||||
<input type="password" id="password-confirm" name="password-confirm" class="error">
|
||||
<input type="password" id="password-confirm" name="password-confirm">
|
||||
</div>
|
||||
</fieldset>
|
||||
<div class="form-actions">
|
||||
<a href="#">« Back to my application</a>
|
||||
<#--a href="#">« Back to my application</a-->
|
||||
<button type="submit" class="primary">Save</button>
|
||||
<button type="submit">Cancel</button>
|
||||
</div>
|
||||
|
|
|
@ -4,16 +4,15 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Edit Account - <#nested "title"></title>
|
||||
<!-- TODO replace with actual logo once
|
||||
<link rel="icon" href="img/favicon.ico">
|
||||
|
||||
<!-- Frameworks -->
|
||||
<link rel="stylesheet" href="${template.formsPath}/theme/${template.theme}/css/reset.css">
|
||||
<!--link rel="stylesheet" href="bootstrap-3.0.0-wip/css/bootstrap.css"-->
|
||||
<link href="${template.formsPath}/lib/bootstrap/css/bootstrap.css" rel="stylesheet" />
|
||||
<link href="${template.formsPath}/theme/${template.theme}/css/zocial/zocial.css" rel="stylesheet">
|
||||
|
||||
<link rel="stylesheet" href="${template.formsPath}/theme/${template.theme}/css/sprites.css">
|
||||
<link rel="stylesheet" href="${template.formsPath}/theme/${template.theme}/css/select2.css">
|
||||
<!-- TODO remove external links -->
|
||||
<link rel="stylesheet" href='http://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic'>
|
||||
|
||||
|
@ -21,16 +20,12 @@
|
|||
<link rel="stylesheet" href="${template.formsPath}/theme/${template.theme}/css/base.css">
|
||||
<link rel="stylesheet" href="${template.formsPath}/theme/${template.theme}/css/forms.css">
|
||||
<link rel="stylesheet" href="${template.formsPath}/theme/${template.theme}/css/header.css">
|
||||
<link rel="stylesheet" href="${template.formsPath}/theme/${template.theme}/css/tabs.css">
|
||||
<link rel="stylesheet" href="${template.formsPath}/theme/${template.theme}/css/icons.css">
|
||||
<link rel="stylesheet" href="${template.formsPath}/theme/${template.theme}/css/tables.css">
|
||||
|
||||
<!-- Page styles -->
|
||||
<link rel="stylesheet" href="${template.formsPath}/theme/${template.theme}/css/admin-console.css">
|
||||
|
||||
<script src="${template.formsPath}/lib/jquery/jquery-2.0.3.min.js"></script>
|
||||
<script src="${template.formsPath}/lib/bootstrap/js/bootstrap.js"></script>
|
||||
|
||||
</head>
|
||||
<body class="admin-console user ${bodyClass}">
|
||||
|
||||
|
@ -70,7 +65,7 @@
|
|||
<li class="<#if active=='password'>active</#if>"><a href="${url.passwordUrl}">Password</a></li>
|
||||
<li class="<#if active=='totp'>active</#if>"><a href="${url.totpUrl}">Authenticator</a></li>
|
||||
<#--<li class="<#if active=='social'>active</#if>"><a href="${url.socialUrl}">Social Accounts</a></li>-->
|
||||
<li class="<#if active=='access'>active</#if>"><a href="${url.accessUrl}">Authorized Access</a></li>
|
||||
<#--<li class="<#if active=='access'>active</#if>"><a href="${url.accessUrl}">Authorized Access</a></li>-->
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -61,4 +61,7 @@ emailUpdateHeader=Update password
|
|||
emailSent=You should receive an email shortly with further instructions.
|
||||
emailError=Invalid username or email.
|
||||
emailErrorInfo=Please, fill in the fields again.
|
||||
emailInstruction=Enter your username and email address and we will send you instructions on how to create a new password.
|
||||
emailInstruction=Enter your username and email address and we will send you instructions on how to create a new password.
|
||||
|
||||
accountUpdated=Your account has been updated
|
||||
accountPasswordUpdated=Your password has been updated
|
|
@ -131,12 +131,20 @@ public class AccountService {
|
|||
@POST
|
||||
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
|
||||
public Response processAccountUpdate(final MultivaluedMap<String, String> formData) {
|
||||
|
||||
UserModel user = getUser(true);
|
||||
|
||||
String error = Validation.validateUpdateProfileForm(formData);
|
||||
if (error != null) {
|
||||
return Flows.forms(realm, request, uriInfo).setUser(user).setError(error).forwardToAccount();
|
||||
}
|
||||
|
||||
user.setFirstName(formData.getFirst("firstName"));
|
||||
user.setLastName(formData.getFirst("lastName"));
|
||||
user.setEmail(formData.getFirst("email"));
|
||||
|
||||
return Flows.forms(realm, request, uriInfo).setUser(user).forwardToAccount();
|
||||
return Flows.forms(realm, request, uriInfo).setUser(user).setError("accountUpdated")
|
||||
.setErrorType(FormFlows.MessageType.SUCCESS).forwardToAccount();
|
||||
}
|
||||
|
||||
@Path("totp-remove")
|
||||
|
@ -205,7 +213,8 @@ public class AccountService {
|
|||
|
||||
realm.updateCredential(user, credentials);
|
||||
|
||||
return Flows.forms(realm, request, uriInfo).setUser(user).forwardToPassword();
|
||||
return Flows.forms(realm, request, uriInfo).setUser(user).setError("accountPasswordUpdated")
|
||||
.setErrorType(FormFlows.MessageType.SUCCESS).forwardToPassword();
|
||||
}
|
||||
|
||||
@Path("login-redirect")
|
||||
|
|
|
@ -39,6 +39,8 @@ import org.keycloak.testsuite.rule.KeycloakRule.KeycloakSetup;
|
|||
import org.keycloak.testsuite.rule.WebResource;
|
||||
import org.keycloak.testsuite.rule.WebRule;
|
||||
import org.openqa.selenium.WebDriver;
|
||||
import org.openqa.selenium.WebElement;
|
||||
import org.openqa.selenium.support.FindBy;
|
||||
import org.picketlink.idm.credential.util.TimeBasedOTP;
|
||||
|
||||
/**
|
||||
|
@ -96,8 +98,18 @@ public class AccountTest {
|
|||
changePasswordPage.open();
|
||||
loginPage.login("test-user@localhost", "password");
|
||||
|
||||
changePasswordPage.changePassword("", "new-password", "new-password");
|
||||
|
||||
Assert.assertTrue(profilePage.isError());
|
||||
|
||||
changePasswordPage.changePassword("password", "new-password", "new-password2");
|
||||
|
||||
Assert.assertTrue(profilePage.isError());
|
||||
|
||||
changePasswordPage.changePassword("password", "new-password", "new-password");
|
||||
|
||||
Assert.assertTrue(profilePage.isSuccess());
|
||||
|
||||
changePasswordPage.logout();
|
||||
|
||||
loginPage.open();
|
||||
|
@ -120,8 +132,31 @@ public class AccountTest {
|
|||
Assert.assertEquals("", profilePage.getLastName());
|
||||
Assert.assertEquals("test-user@localhost", profilePage.getEmail());
|
||||
|
||||
// All fields are required, so there should be an error when something is missing.
|
||||
profilePage.updateProfile("", "New last", "new@email.com");
|
||||
|
||||
Assert.assertTrue(profilePage.isError());
|
||||
Assert.assertEquals("", profilePage.getFirstName());
|
||||
Assert.assertEquals("", profilePage.getLastName());
|
||||
Assert.assertEquals("test-user@localhost", profilePage.getEmail());
|
||||
|
||||
profilePage.updateProfile("New first", "", "new@email.com");
|
||||
|
||||
Assert.assertTrue(profilePage.isError());
|
||||
Assert.assertEquals("", profilePage.getFirstName());
|
||||
Assert.assertEquals("", profilePage.getLastName());
|
||||
Assert.assertEquals("test-user@localhost", profilePage.getEmail());
|
||||
|
||||
profilePage.updateProfile("New first", "New last", "");
|
||||
|
||||
Assert.assertTrue(profilePage.isError());
|
||||
Assert.assertEquals("", profilePage.getFirstName());
|
||||
Assert.assertEquals("", profilePage.getLastName());
|
||||
Assert.assertEquals("test-user@localhost", profilePage.getEmail());
|
||||
|
||||
profilePage.updateProfile("New first", "New last", "new@email.com");
|
||||
|
||||
Assert.assertTrue(profilePage.isSuccess());
|
||||
Assert.assertEquals("New first", profilePage.getFirstName());
|
||||
Assert.assertEquals("New last", profilePage.getLastName());
|
||||
Assert.assertEquals("new@email.com", profilePage.getEmail());
|
||||
|
@ -136,8 +171,15 @@ public class AccountTest {
|
|||
|
||||
Assert.assertFalse(driver.getPageSource().contains("Remove Google"));
|
||||
|
||||
// Error with false code
|
||||
totpPage.configure(totp.generate(totpPage.getTotpSecret()+"123"));
|
||||
|
||||
Assert.assertTrue(profilePage.isError());
|
||||
|
||||
totpPage.configure(totp.generate(totpPage.getTotpSecret()));
|
||||
|
||||
Assert.assertTrue(profilePage.isSuccess());
|
||||
|
||||
Assert.assertTrue(driver.getPageSource().contains("Remove Google"));
|
||||
}
|
||||
|
||||
|
|
|
@ -44,6 +44,9 @@ public class AccountUpdateProfilePage extends AbstractAccountPage {
|
|||
@FindBy(css = "button[type=\"submit\"]")
|
||||
private WebElement submitButton;
|
||||
|
||||
@FindBy(css = ".feedback > p > strong")
|
||||
private WebElement feedbackMessage;
|
||||
|
||||
public void updateProfile(String firstName, String lastName, String email) {
|
||||
firstNameInput.clear();
|
||||
firstNameInput.sendKeys(firstName);
|
||||
|
@ -75,4 +78,11 @@ public class AccountUpdateProfilePage extends AbstractAccountPage {
|
|||
driver.navigate().to(PATH);
|
||||
}
|
||||
|
||||
public boolean isSuccess(){
|
||||
return feedbackMessage != null && "Success!".equals(feedbackMessage.getText());
|
||||
}
|
||||
|
||||
public boolean isError(){
|
||||
return feedbackMessage != null && "Error!".equals(feedbackMessage.getText());
|
||||
}
|
||||
}
|
||||
|
|