Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update password fix #138

Open
wants to merge 44 commits into
base: cbrelease-4.0.2-dev
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
2992cde
knowledge-mw-service upload-limit set
Haritest Jul 18, 2022
1772345
Update sunbird_knowledge-mw-service.env
Haritest Jul 18, 2022
def0a3d
nicsms details added
Nov 10, 2022
6d056c7
theme updated
Nov 10, 2022
da90f32
update deploy.yml
Nov 10, 2022
72f535b
Added timer for Resend OTP functionality
karthik-tarento Nov 14, 2022
d078b6f
Merge pull request #63 from karthik-tarento/patch-33
gohilamariappan Nov 14, 2022
d4c15bc
add karmayogi bharat logo
somvitbhowmik Dec 1, 2022
078f8c7
updated width of logo image
somvitbhowmik Dec 1, 2022
1db7f95
updated logo image in login page
somvitbhowmik Dec 1, 2022
588d09f
Merge pull request #65 from somvitbhowmik/release-4.8.0-cb
gohilamariappan Dec 1, 2022
9e388b1
updated logo
Dec 1, 2022
a69011c
updated new logo
Dec 1, 2022
5e4675e
Merge pull request #66 from somvitbhowmik/release-4.8.0-cb
Haritest Dec 1, 2022
320277a
changed igot name to karmayogi bharat
Dec 1, 2022
f83ad15
Merge pull request #67 from somvitbhowmik/release-4.8.0-cb
Haritest Dec 1, 2022
832f6e2
Merge pull request #68 from sunbird-cb/4.8.0-logo-change
Haritest Dec 2, 2022
a518655
favicon updated
Dec 5, 2022
25705e6
trustStore Path added for Keycloak
Haritest Dec 8, 2022
d8764aa
card3 modified
Apr 12, 2023
456b46c
audit-email-validation for keycloack theme
May 15, 2023
b1ce685
email validation for invalid email with regex and blank email field
nitinraj-tarento Jun 15, 2023
55f4402
Merge pull request #99 from nitinraj-tarento/patch-1
Haritest Jun 15, 2023
2411df4
blank field validation for username updated
nitinraj-tarento Jun 15, 2023
9e21947
Merge pull request #100 from nitinraj-tarento/patch-2
Haritest Jun 15, 2023
ab6b578
user blocking to put OTP if 3 wrong OTP attempts
nitinraj-tarento Jul 7, 2023
bbbd526
Merge pull request #104 from nitinraj-tarento/patch-3
Haritest Jul 7, 2023
efec5f8
Update sms-input-otp.ftl
nitinraj-tarento Jul 11, 2023
b41f302
Merge pull request #106 from nitinraj-tarento/patch-4
Haritest Jul 11, 2023
5c0a2f0
Update sms-input-otp.ftl
nitinraj-tarento Jul 11, 2023
e29444b
Merge pull request #107 from nitinraj-tarento/patch-5
Haritest Jul 11, 2023
99adab0
keyup function updated
nitinraj-tarento Jul 11, 2023
ca8d7aa
Merge pull request #108 from nitinraj-tarento/patch-6
Haritest Jul 11, 2023
3b36333
user blocking to put OTP if 3 wrong OTP attempts all code updated wit…
nitinraj-tarento Jul 12, 2023
81a3db1
Merge pull request #111 from nitinraj-tarento/patch-7
Haritest Jul 12, 2023
7b31047
screen block timing updated to 900 sec
nitinraj-tarento Jul 13, 2023
5589ed5
Merge pull request #112 from nitinraj-tarento/patch-8
Haritest Jul 13, 2023
1bf38f4
user blocking functionality updated for otp
nitinraj-tarento Jul 25, 2023
4e6edd7
Update sms-input-otp.ftl file updated
nitinraj-tarento Jul 25, 2023
5af5fcc
password length validation fix
nitinraj-tarento Aug 9, 2023
b2cbc6d
logo and favicon updated
nitinraj-tarento Sep 27, 2023
17b2f9c
logo and favicon updated 2
nitinraj-tarento Sep 27, 2023
d56be85
logo and favicon updated 3
nitinraj-tarento Sep 27, 2023
9114a9f
new logo updated with rename
nitinraj-tarento Sep 28, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
137 changes: 104 additions & 33 deletions ansible/artifacts/sunbird/login/info.ftl
100755 → 100644
Original file line number Diff line number Diff line change
@@ -1,39 +1,110 @@
<#import "template.ftl" as layout>
<@layout.registrationLayout displayMessage=false; section>
<#if section = "header">
<#if messageHeader??>
<#-- ${messageHeader} -->
<#else>
<#-- ${message.summary} -->
</#if>
<#if section = "title">
${message.summary}
<#elseif section = "form">
<div class="fullpage-background-image">
<div class="container-wrapper">
<div id="kc-info-message">
<!-- <p class="instruction">${message.summary}<#if requiredActions??><#list requiredActions>: <b><#items as reqActionItem>${msg("requiredAction.${reqActionItem}")}<#sep>, </#items></b></#list><#else></#if></p> -->
<#if skipLink??>
<#else>
<#if pageRedirectUri??>
<p><a href="${pageRedirectUri}" class="sb-btn sb-btn-normal sb-btn-outline-primary mt-16 line-height-normal">${kcSanitize(msg("backToApplication"))?no_esc}</a></p>
<#elseif actionUri??>
<div class="ui text active centered inline large loader">Loading.. Please wait..</div>
<div id="kc-info-message-hide" style="display:none">
<p><a id="click-here-to-proceed" href="${actionUri}">${kcSanitize(msg("proceedWithAction"))?no_esc}</a></p>
<script type="text/javascript">
window.onload = function(){
function autoClick() {
document.getElementById("click-here-to-proceed").click();
}
setInterval(autoClick, 500);
}
</script>
</div>
<#elseif client.baseUrl??>
<p><a href="${client.baseUrl}" class="sb-btn sb-btn-normal sb-btn-outline-primary mt-16 line-height-normal">${kcSanitize(msg("backToApplication"))?no_esc}</a></p>
</#if>
</#if>
</div>
<div class="custom-wrapper">
<div class="custom-grid">
<div class="ui raised shadow container segment fullpage-background-image left-box">
<div class="ui column height-fix" style="padding:0">
<div class="logo" style="width: 320px; max-width:100%">
<img src="${url.resourcesPath}/img/dopt_logo.png" alt="Logo" style="width: inherit;">
</div>
<div class="img-container" style="width: 320px; max-width:100%">
<div class="slideshow-container">

<div class="mySlides fade">
<img src="${url.resourcesPath}/img/Hexagon.png" alt="hexagon image">
</div>

<#-- <div class="mySlides fade">
<img alt="Slides" src="${url.resourcesPath}/img/card1.png">
</div>

<div class="mySlides fade">
<img alt="Slides" src="${url.resourcesPath}/img/card2.png">
</div> -->
<div class="mySlides fade">
<img alt="Slides" src="${url.resourcesPath}/img/card3.png">
</div>

</div>
</div>
<div class="dots-menu">
<label class="dot">*</label>
<label class="dot">*</label>
<#-- <label class="dot">*</label> -->
</div>
</div>

</div>
<div class="ui raised shadow container segment fullpage-background-image login-section">
<div class="ui one column grid stackable">
<#-- <div class="ui column tablet only computer only"></div> -->
<div class="ui column height-fix">
<div class="max-container mw-100">
<div id="kc-info-message">
<!--<p class="instruction signUpMsg">${message.summary}</p>-->
<#if skipLink??>
<#else>
<#if pageRedirectUri??>
<p class="signUpMsg">You have activated your account successfully. You will need to sign in to start using it. You will be redirected to the home page automatically</p>
<p class="signUpMsg"><a id="backToApplication" class="signUpLink" href="${pageRedirectUri}">${msg("backToApplication")}</a></p>
<script type="text/javascript">
window.onload = function() {
function autoClick() {
document.getElementById("backToApplication").click();
}
setInterval(autoClick, 5000);
}
</script>

<#elseif actionUri??>
<div class="ui text active centered inline large loader">Loading.. Please wa<p><a id="click-here-to-proceed" href="${actionUri}">${kcSanitize(msg("proceedWithAction"))?no_esc}</a></p>it..</div>
<div id="kc-info-message-hide" style="display:none">
<p><a id="click-here-to-proceed" href="${actionUri}">${kcSanitize(msg("proceedWithAction"))?no_esc}</a></p>
<script type="text/javascript">
window.onload = function() {
function autoClick() {
document.getElementById("click-here-to-proceed").click();
}
setInterval(autoClick, 5000);
}
</script>
</div>
<#elseif client.baseUrl??>
<p class="signUpMsg"><a class="signUpLink" href="${client.baseUrl}">${msg("backToApplication")}</a></p>
</#if>
</#if>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
var slideIndex = 0;
showSlides();

function showSlides() {
var i;
var slides = document.getElementsByClassName("mySlides");
var dots = document.getElementsByClassName("dot");
for (i = 0; i < slides.length; i++) {
slides[i].style.display = "none";
}
slideIndex++;
if (slideIndex > slides.length) {slideIndex = 1}
for (i = 0; i < dots.length; i++) {
dots[i].className = dots[i].className.replace(" active", "");
}
slides[slideIndex-1].style.display = "block";
dots[slideIndex-1].className += " active";
setTimeout(showSlides, 5000); // Change image every 5 seconds
}

</script>

</#if>
</@layout.registrationLayout>
23 changes: 13 additions & 10 deletions ansible/artifacts/sunbird/login/login-page-expired.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,19 @@
<#if section = "title">
${msg("pageExpiredTitle")}
<#elseif section = "form">
<div class="fullpage-background-image">
<div class="container-wrapper">
<div id="instruction1" class="instruction textCenter">
<p>${msg("pageExpiredMsg1")} <br>
<a id="loginRestartLink" class="sb-btn sb-btn-normal sb-btn-outline-primary mt-16 line-height-normal" href="${url.loginRestartFlowUrl}">${msg("doClickHere")}</a></p>
<p class="mt-16">
${msg("pageExpiredMsg2")} <br>
<a id="loginContinueLink" class="sb-btn sb-btn-normal sb-btn-outline-primary mt-16 line-height-normal" href="${url.loginAction}">${msg("doClickHere")}</a>
</p>
</div>
<div class="custom-wrapper">
<div class="ui raised shadow container segment fullpage-background-image">
<div class="ui one column grid stackable">
<#-- <div class="ui column tablet only computer only"></div> -->
<div class="ui column height-fix">
<p id="instruction1" class="instruction">
${msg("pageExpiredMsg1")} <a id="loginRestartLink" href="${url.loginRestartFlowUrl}">${msg("doClickHere")}</a>.
${msg("pageExpiredMsg2")} <a id="loginContinueLink" href="${url.loginAction}">${msg("doClickHere")}</a>.
</p>
</div>
<#-- <div class="ui column tablet only computer only"></div> -->
</div>
</div>
<div>
</#if>
</@layout.registrationLayout>
151 changes: 112 additions & 39 deletions ansible/artifacts/sunbird/login/login-reset-password.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -4,51 +4,124 @@
${msg("emailForgotTitle")}
<#elseif section = "form">
<meta content="width=device-width, initial-scale=1" name="viewport" />
<div class="fullpage-background-image">
<div class="container-wrapper">
<div class="ui header centered mb-8">
<img onerror="" alt="">
<div class="signInHead">${msg("emailForgotTitle")}</div>
</div>
<div class="ui content center justfy textCenter mt-24">
${msg("enterEmailPhonenumberToGetCode")}
</div>
<div class="ui content center justfy textCenter mt-8 mb-16">
<#if message?has_content>
<div class="ui text ${message.type}">
${message.summary}
<div class="custom-wrapper">
<div class="custom-grid">
<div class="ui raised shadow container segment fullpage-background-image left-box">
<div class="ui column height-fix" style="padding:0">
<div class="logo" style="width: 320px; max-width:100%">
<img src="${url.resourcesPath}/img/dopt_logo.png" alt="Logo" style="width: inherit;">
</div>
<div class="img-container" style="width: 320px; max-width:100%">
<div class="slideshow-container">

<div class="mySlides fade">
<img src="${url.resourcesPath}/img/Hexagon.png" alt="hexagon image">
</div>

<#-- <div class="mySlides fade">
<img alt="Slides" src="${url.resourcesPath}/img/card1.png">
</div>

<div class="mySlides fade">
<img alt="Slides" src="${url.resourcesPath}/img/card2.png">
</div> -->
<div class="mySlides fade">
<img alt="Slides" src="${url.resourcesPath}/img/card3.png">
</div>

</div>
</#if>
</div>
<form id="kc-reset-password-form" class="ui form" method="POST" action="${url.loginAction}">
<div class="field mb-24">
<label id="usernameLabel" for="username" class="">
<#if !realm.loginWithEmailAllowed>
${msg("username")}
<#elseif !realm.registrationEmailAsUsername>
${msg("emailOrPhone")}
<#else>${msg("email")}
</#if>
</label>
<label id="usernameLabelPlaceholder" for="username" class="activeLabelColor hide">
<#if !realm.loginWithEmailAllowed>${msg("username")}
<#elseif !realm.registrationEmailAsUsername>${msg("placeholderForEmailOrPhone")}
<#else>${msg("email")}
</#if>
</label>
<input type="text" id="username" class="mt-8" name="username" onfocusin="inputBoxFocusIn(this)" onfocusout="inputBoxFocusOut(this)" autofocus/>
</div>
<div class="field">
<button id="login" onclick="javascript:makeDivUnclickable()" class="sb-btn sb-btn-normal sb-btn-primary width-100">
${msg("doReset")}
</button>
<div class="dots-menu">
<label class="dot">*</label>
<label class="dot">*</label>
<#-- <label class="dot">*</label> -->
</div>
</div>

</div>
<div class="ui raised shadow container segment fullpage-background-image login-section">
<div class="ui one column grid stackable">
<div class="ui column height-fix">
<div class="max-container">
<div class="ui header mb-30 centered">
<img onerror="" alt="">
<div class="signInHead mt-30">${msg("emailForgotTitle")}</div>
</div>
<div class="ui mb-40 content center justfy textCenter signUpMsg">
${msg("enterEmailPhonenumberToGetCode")}
</div>
<div class="ui content center justfy textCenter ">
<#if message?has_content>
<div class="ui mb-40 text ${message.type}">
${message.summary}
</div>
</#if>
</div>
<form id="kc-reset-password-form" class="ui form" method="POST" action="${url.loginAction}">
<div class="field mb-36">
<label id="usernameLabel" for="username" class="">
<#if !realm.loginWithEmailAllowed>
${msg("username")}
<#elseif !realm.registrationEmailAsUsername>
${msg("emailOrPhone")}
<#else>${msg("email")}
</#if>
</label>
<label id="usernameLabelPlaceholder" for="username" class="activeLabelColor hide">
<#if !realm.loginWithEmailAllowed>${msg("username")}
<#elseif !realm.registrationEmailAsUsername>${msg("placeholderForEmailOrPhone")}
<#else>${msg("email")}
</#if>
</label>
<input type="text" id="username" class="mt-8" name="username" onfocusin="inputBoxFocusIn(this)" onfocusout="inputBoxFocusOut(this)" autofocus autocomplete="off"/>
</div>
<div class="field">
<button id="login" class="ui fluid submit button">
${msg("doReset")}
</button>
</div>
</form>
<div class="${properties.kcFormOptionsWrapperClass!} ui content signUpMsg mt-40 textCenter">
<#-- <span>
<a id="versionLink" class="backToLogin signUpLink" onclick="javascript:makeDivUnclickable()" href="${url.loginUrl}">
<span class="fs-14"><< </span>
${msg("backToLogin")}
</a>
</span> -->
<span>${msg("doYouRemember")}
<a id="versionLink" class=" signUpLink" onclick="javascript:makeDivUnclickable()" href="${url.loginUrl}">
${msg("doSignIn")}
</a>
</span>
</div>
</div>
</div>
</form>
<div class="${properties.kcFormOptionsWrapperClass!} signUpMsg mb-56 mt-24 textCenter">
<a id="versionLink" class="sb-btn sb-btn-normal sb-btn-outline-primary" onclick="javascript:makeDivUnclickable()" href="${url.loginUrl}">${msg("backToLogin")}</a>
</div>
</div>
</div>
</div>
<#elseif section = "info" >
<script type="text/javascript">
var slideIndex = 0;
showSlides();

function showSlides() {
var i;
var slides = document.getElementsByClassName("mySlides");
var dots = document.getElementsByClassName("dot");
for (i = 0; i < slides.length; i++) {
slides[i].style.display = "none";
}
slideIndex++;
if (slideIndex > slides.length) {slideIndex = 1}
for (i = 0; i < dots.length; i++) {
dots[i].className = dots[i].className.replace(" active", "");
}
slides[slideIndex-1].style.display = "block";
dots[slideIndex-1].className += " active";
setTimeout(showSlides, 5000); // Change image every 5 seconds
}

</script>
</#if>
</@layout.registrationLayout>
Loading
Loading