inital commit
This commit is contained in:
0
resources/css/app.css
vendored
Normal file
0
resources/css/app.css
vendored
Normal file
105
resources/css/credit_report.css
vendored
Normal file
105
resources/css/credit_report.css
vendored
Normal file
@@ -0,0 +1,105 @@
|
||||
.shape {
|
||||
border-style: solid;
|
||||
border-width: 0 70px 40px 0;
|
||||
float: right;
|
||||
height: 0px;
|
||||
width: 0px;
|
||||
-ms-transform: rotate(360deg); /* IE 9 */
|
||||
-o-transform: rotate(360deg); /* Opera 10.5 */
|
||||
-webkit-transform: rotate(360deg); /* Safari and Chrome */
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
.listing {
|
||||
background: #fff;
|
||||
border: 1px solid #ddd;
|
||||
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
|
||||
margin: 15px 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
.listing:hover {
|
||||
-webkit-transform: scale(1.1);
|
||||
-moz-transform: scale(1.1);
|
||||
-ms-transform: scale(1.1);
|
||||
-o-transform: scale(1.1);
|
||||
transform: rotate scale(1.1);
|
||||
-webkit-transition: all 0.4s ease-in-out;
|
||||
-moz-transition: all 0.4s ease-in-out;
|
||||
-o-transition: all 0.4s ease-in-out;
|
||||
transition: all 0.4s ease-in-out;
|
||||
}
|
||||
.shape {
|
||||
border-color: rgba(255,255,255,0) #d9534f rgba(255,255,255,0) rgba(255,255,255,0);
|
||||
}
|
||||
.listing-radius {
|
||||
border-radius: 7px;
|
||||
}
|
||||
.listing-danger {
|
||||
border-color: #d9534f;
|
||||
}
|
||||
.listing-danger .shape {
|
||||
border-color: transparent #d9533f transparent transparent;
|
||||
}
|
||||
.listing-success {
|
||||
border-color: #5cb85c;
|
||||
}
|
||||
.listing-success .shape {
|
||||
border-color: transparent #5cb75c transparent transparent;
|
||||
}
|
||||
.listing-default {
|
||||
border-color: #999999;
|
||||
}
|
||||
.listing-default .shape {
|
||||
border-color: transparent #999999 transparent transparent;
|
||||
}
|
||||
.listing-primary {
|
||||
border-color: #428bca;
|
||||
}
|
||||
.listing-primary .shape {
|
||||
border-color: transparent #318bca transparent transparent;
|
||||
}
|
||||
.listing-info {
|
||||
border-color: #5bc0de;
|
||||
}
|
||||
.listing-info .shape {
|
||||
border-color: transparent #5bc0de transparent transparent;
|
||||
}
|
||||
.listing-warning {
|
||||
border-color: #f0ad4e;
|
||||
}
|
||||
.listing-warning .shape {
|
||||
border-color: transparent #f0ad4e transparent transparent;
|
||||
}
|
||||
.shape-text {
|
||||
color: #fff;
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
position: relative;
|
||||
right: -40px;
|
||||
top: 2px;
|
||||
white-space: nowrap;
|
||||
-ms-transform: rotate(30deg); /* IE 9 */
|
||||
-o-transform: rotate(360deg); /* Opera 10.5 */
|
||||
-webkit-transform: rotate(30deg); /* Safari and Chrome */
|
||||
transform: rotate(30deg);
|
||||
}
|
||||
.listing-content {
|
||||
padding: 20px;
|
||||
height: 100px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.text-primary{
|
||||
color: #318bca;
|
||||
}
|
||||
|
||||
.text-success{
|
||||
color: #5cb75c;
|
||||
}
|
||||
|
||||
.text-danger{
|
||||
color: #d9533f;
|
||||
}
|
||||
|
||||
.text-bold{
|
||||
font-weight: bold;
|
||||
}
|
||||
36
resources/css/loader.css
vendored
Normal file
36
resources/css/loader.css
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
/* (A) FULL SCREEN WRAPPER */
|
||||
#spinner {
|
||||
position: fixed;
|
||||
top: 0; left: 0;
|
||||
width: 100vw; height: 100vh;
|
||||
z-index: 5000000000;
|
||||
background: rgba(16, 16, 16, 0.5);
|
||||
transition: opacity 0.2s;
|
||||
}
|
||||
|
||||
/* (B) CENTER LOADING SPINNER */
|
||||
#spinner img {
|
||||
position: absolute;
|
||||
top: 50%; left: 50%;
|
||||
transform: translate(-50%);
|
||||
}
|
||||
|
||||
|
||||
/* (X) DOES NOT QUITE MATTER */
|
||||
html, body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
#loading {
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 500000000000000;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
background-color: rgba(16, 16, 16, 0.5);
|
||||
/*background-image: url(https://i.stack.imgur.com/FhHRx.gif);*/
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
}
|
||||
37
resources/css/login.css
vendored
Normal file
37
resources/css/login.css
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
/*body{*/
|
||||
/* background-color: #F7F7F7;*/
|
||||
/*}*/
|
||||
.help-block strong { color: red; }
|
||||
.login_content h1::before { background: none !important; }
|
||||
.login_content h1::after { background: none !important; }
|
||||
.footer-copyright{
|
||||
margin-top: 40%;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
color: #f5f7f9;
|
||||
font-size: 15px;
|
||||
}
|
||||
@media (max-width: 800px) {
|
||||
.footer-copyright{
|
||||
margin-top: 40%;
|
||||
margin-left: 10px !important;
|
||||
width: 100% !important;
|
||||
padding-left: 30px !important;
|
||||
}
|
||||
}
|
||||
@media (max-width: 700px) {
|
||||
.footer-copyright {
|
||||
margin-top: 40%;
|
||||
margin-left: 10px !important;
|
||||
width: 100% !important;
|
||||
padding-left: 30px !important;
|
||||
}
|
||||
}
|
||||
@media (max-width: 600px) {
|
||||
.footer-copyright {
|
||||
margin-top: 600px;
|
||||
margin-left: 10px !important;
|
||||
width: 100% !important;
|
||||
padding-left: 30px !important;
|
||||
}
|
||||
}
|
||||
548
resources/css/modal.css
vendored
Normal file
548
resources/css/modal.css
vendored
Normal file
@@ -0,0 +1,548 @@
|
||||
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@200&display=swap');
|
||||
|
||||
*{
|
||||
padding:0;
|
||||
margin:0;
|
||||
}
|
||||
.container{
|
||||
min-height:100vh;
|
||||
display:flex;
|
||||
justify-content:center;
|
||||
align-items:center;
|
||||
background-color:#eee;
|
||||
}
|
||||
.container .card{
|
||||
height:500px;
|
||||
width:1100px;
|
||||
background-color:#fff;
|
||||
position:relative;
|
||||
box-shadow:0 15px 30px rgba(0,0,0,0.1);
|
||||
font-family: 'Poppins', sans-serif;
|
||||
border-radius:20px;
|
||||
}
|
||||
.container .card .form{
|
||||
width:100%;
|
||||
height:100%;
|
||||
|
||||
display:flex;
|
||||
}
|
||||
.container .card .left-side{
|
||||
width:35%;
|
||||
background-image: -webkit-linear-gradient(-90deg, #54c7dc 0%, #4361c2 100%);
|
||||
height:100%;
|
||||
border-top-left-radius:20px;
|
||||
border-bottom-left-radius:20px;
|
||||
padding:20px 30px;
|
||||
box-sizing:border-box;
|
||||
|
||||
}
|
||||
/*left-side-start*/
|
||||
.left-heading{
|
||||
color:#fff;
|
||||
|
||||
}
|
||||
.steps-content{
|
||||
margin-top:30px;
|
||||
color:#fff;
|
||||
}
|
||||
.steps-content p{
|
||||
font-size:12px;
|
||||
margin-top:15px;
|
||||
}
|
||||
.progress-bar{
|
||||
list-style:none;
|
||||
/*color:#fff;*/
|
||||
margin-top:30px;
|
||||
font-size:13px;
|
||||
font-weight:700;
|
||||
counter-reset:container 0;
|
||||
}
|
||||
.progress-bar li{
|
||||
position:relative;
|
||||
margin-left:40px;
|
||||
margin-top:50px;
|
||||
counter-increment:container 1;
|
||||
color:#4f6581;
|
||||
}
|
||||
.progress-bar li::before{
|
||||
content:counter(container);
|
||||
line-height:25px;
|
||||
text-align:center;
|
||||
position:absolute;
|
||||
height:25px;
|
||||
width:25px;
|
||||
border:1px solid #4f6581;
|
||||
border-radius:50%;
|
||||
left:-40px;
|
||||
top:-5px;
|
||||
z-index:10;
|
||||
background-color:#4A8ACD;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
.progress-bar li::after{
|
||||
content: '';
|
||||
position: absolute;
|
||||
height: 90px;
|
||||
width: 2px;
|
||||
background-color: #4f6581;
|
||||
z-index: 1;
|
||||
left: -27px;
|
||||
top: -70px;
|
||||
}
|
||||
|
||||
|
||||
.progress-bar li.active::after{
|
||||
background-color: #fff;
|
||||
|
||||
}
|
||||
|
||||
.progress-bar li:first-child:after{
|
||||
display:none;
|
||||
}
|
||||
|
||||
/*.progress-bar li:last-child:after{*/
|
||||
/* display:none; */
|
||||
/*}*/
|
||||
.progress-bar li.active::before{
|
||||
color:#fff;
|
||||
border:1px solid #fff;
|
||||
}
|
||||
.progress-bar li.active{
|
||||
color:#fff;
|
||||
}
|
||||
.d-none{
|
||||
display:none;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*left-side-end*/
|
||||
.container .card .right-side{
|
||||
width:65%;
|
||||
background-color:#fff;
|
||||
height:100%;
|
||||
border-radius:20px;
|
||||
}
|
||||
/*right-side-start*/
|
||||
.main{
|
||||
display:none;
|
||||
}
|
||||
.active{
|
||||
display:block;
|
||||
}
|
||||
.main{
|
||||
padding:40px;
|
||||
}
|
||||
.main small{
|
||||
display:flex;
|
||||
justify-content:center;
|
||||
align-items:center;
|
||||
margin-top:2px;
|
||||
height:30px;
|
||||
width:30px;
|
||||
background-color:#ccc;
|
||||
border-radius:50%;
|
||||
color:yellow;
|
||||
font-size:19px;
|
||||
}
|
||||
.text{
|
||||
margin-top:20px;
|
||||
}
|
||||
.congrats{
|
||||
text-align:center;
|
||||
color: #0b0b0b;
|
||||
}
|
||||
.text p{
|
||||
margin-top:10px;
|
||||
font-size:13px;
|
||||
font-weight:700;
|
||||
color:#cbced4;
|
||||
}
|
||||
.input-text{
|
||||
margin:30px 0;
|
||||
display:flex;
|
||||
gap:20px;
|
||||
}
|
||||
|
||||
.input-text .input-div{
|
||||
width:100%;
|
||||
position:relative;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
input[type="text"],input[type="password"]{
|
||||
width:100%;
|
||||
height:40px;
|
||||
border:none;
|
||||
outline:0;
|
||||
border-radius:5px;
|
||||
border:1px solid #cbced4;
|
||||
gap:20px;
|
||||
box-sizing:border-box;
|
||||
padding:0px 10px;
|
||||
}
|
||||
select{
|
||||
width:100%;
|
||||
height:40px;
|
||||
border:none;
|
||||
outline:0;
|
||||
border-radius:5px;
|
||||
border:1px solid #cbced4;
|
||||
gap:20px;
|
||||
box-sizing:border-box;
|
||||
padding:0px 10px;
|
||||
}
|
||||
.input-text .input-div span{
|
||||
position:absolute;
|
||||
top:10px;
|
||||
left:10px;
|
||||
font-size:12px;
|
||||
transition:all 0.5s;
|
||||
}
|
||||
.input-div input:focus ~ span,.input-div input:valid ~ span {
|
||||
top:-15px;
|
||||
left:6px;
|
||||
font-size:10px;
|
||||
font-weight:600;
|
||||
}
|
||||
|
||||
.input-div span{
|
||||
top:-15px;
|
||||
left:6px;
|
||||
font-size:10px;
|
||||
}
|
||||
.buttons button{
|
||||
height:40px;
|
||||
width:100px;
|
||||
border:none;
|
||||
border-radius:5px;
|
||||
background-color:#0075ff;
|
||||
font-size:12px;
|
||||
color:#fff;
|
||||
cursor:pointer;
|
||||
}
|
||||
.button_space{
|
||||
display:flex;
|
||||
gap:20px;
|
||||
|
||||
}
|
||||
.button_space button:nth-child(1){
|
||||
background-color:#fff;
|
||||
color:#000;
|
||||
border:1px solid#000;
|
||||
}
|
||||
.user_card{
|
||||
margin-top:20px;
|
||||
margin-bottom:40px;
|
||||
height:200px;
|
||||
width:100%;
|
||||
border:1px solid #c7d3d9;
|
||||
border-radius:10px;
|
||||
display:flex;
|
||||
overflow:hidden;
|
||||
position:relative;
|
||||
box-sizing:border-box;
|
||||
}
|
||||
.user_card span{
|
||||
height:80px;
|
||||
width:100%;
|
||||
background-color:#dfeeff;
|
||||
}
|
||||
.circle{
|
||||
position:absolute;
|
||||
top:40px;
|
||||
left:60px;
|
||||
}
|
||||
.circle span{
|
||||
height:70px;
|
||||
width:70px;
|
||||
background-color:#fff;
|
||||
display:flex;
|
||||
justify-content:center;
|
||||
align-items:center;
|
||||
border:2px solid #fff;
|
||||
border-radius:50%;
|
||||
}
|
||||
.circle span img{
|
||||
width:100%;
|
||||
height:100%;
|
||||
border-radius:50%;
|
||||
object-fit:cover;
|
||||
}
|
||||
.social{
|
||||
display:flex;
|
||||
position:absolute;
|
||||
top:100px;
|
||||
right:10px;
|
||||
}
|
||||
.social span{
|
||||
height:30px;
|
||||
width:30px;
|
||||
border-radius:7px;
|
||||
background-color:#fff;
|
||||
border:1px solid #cbd6dc;
|
||||
display:flex;
|
||||
justify-content:center;
|
||||
align-items:center;
|
||||
margin-left:10px;
|
||||
color:#cbd6dc;
|
||||
|
||||
}
|
||||
.social span i{
|
||||
cursor:pointer;
|
||||
}
|
||||
.heart{
|
||||
color:red !important;
|
||||
}
|
||||
.share{
|
||||
color:red !important;
|
||||
}
|
||||
.user_name{
|
||||
position:absolute;
|
||||
top:110px;
|
||||
margin:10px;
|
||||
padding:0 30px;
|
||||
display:flex;
|
||||
flex-direction:column;
|
||||
width:100%;
|
||||
|
||||
}
|
||||
.user_name h3{
|
||||
color:#4c5b68;
|
||||
}
|
||||
.detail{
|
||||
/*margin-top:10px;*/
|
||||
display:flex;
|
||||
justify-content:space-between;
|
||||
margin-right:50px;
|
||||
}
|
||||
.detail p{
|
||||
font-size:12px;
|
||||
font-weight:700;
|
||||
|
||||
}
|
||||
.detail p a{
|
||||
text-decoration:none;
|
||||
color:blue;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.checkmark__circle {
|
||||
stroke-dasharray: 166;
|
||||
stroke-dashoffset: 166;
|
||||
stroke-width: 2;
|
||||
stroke-miterlimit: 10;
|
||||
stroke: #7ac142;
|
||||
fill: none;
|
||||
animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
|
||||
}
|
||||
|
||||
.checkmark {
|
||||
width: 56px;
|
||||
height: 56px;
|
||||
border-radius: 50%;
|
||||
display: block;
|
||||
stroke-width: 2;
|
||||
stroke: #fff;
|
||||
stroke-miterlimit: 10;
|
||||
margin: 10% auto;
|
||||
box-shadow: inset 0px 0px 0px #7ac142;
|
||||
animation: fill .4s ease-in-out .4s forwards, scale .3s ease-in-out .9s both;
|
||||
}
|
||||
|
||||
.checkmark__check {
|
||||
transform-origin: 50% 50%;
|
||||
stroke-dasharray: 48;
|
||||
stroke-dashoffset: 48;
|
||||
animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards;
|
||||
}
|
||||
|
||||
@keyframes stroke {
|
||||
100% {
|
||||
stroke-dashoffset: 0;
|
||||
}
|
||||
}
|
||||
@keyframes scale {
|
||||
0%, 100% {
|
||||
transform: none;
|
||||
}
|
||||
50% {
|
||||
transform: scale3d(1.1, 1.1, 1);
|
||||
}
|
||||
}
|
||||
@keyframes fill {
|
||||
100% {
|
||||
box-shadow: inset 0px 0px 0px 30px #7ac142;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.warning{
|
||||
border:1px solid red !important;
|
||||
}
|
||||
|
||||
|
||||
/*right-side-end*/
|
||||
@media (max-width:750px) {
|
||||
.container{
|
||||
height:scroll;
|
||||
|
||||
|
||||
}
|
||||
.container .card {
|
||||
max-width: 350px;
|
||||
height:auto !important;
|
||||
margin:30px 0;
|
||||
}
|
||||
.container .card .right-side {
|
||||
width:100%;
|
||||
|
||||
}
|
||||
.input-text{
|
||||
display:block;
|
||||
}
|
||||
|
||||
.input-text .input-div{
|
||||
margin-top:20px;
|
||||
|
||||
}
|
||||
|
||||
.container .card .left-side {
|
||||
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.error{
|
||||
color: red;
|
||||
font-weight: bold;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.field-validation-error{
|
||||
top: 30px;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
color: red;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.field-validation-error span{
|
||||
left: 0 !important;
|
||||
}
|
||||
|
||||
.next_button{
|
||||
background-color: #FF440A !important;
|
||||
color: white;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
button:disabled{
|
||||
opacity: .5;
|
||||
}
|
||||
|
||||
.top-area{
|
||||
display: flex;
|
||||
}
|
||||
.link-area{
|
||||
width: 100%;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.link-area a{
|
||||
color: #82aee2;
|
||||
text-decoration: none;
|
||||
background-color: transparent;
|
||||
font-family: "Lato",-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
|
||||
font-size: 1rem;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
input:read-only{
|
||||
background: lightgrey;
|
||||
}
|
||||
|
||||
/* my custom css*/
|
||||
.container .card .form {
|
||||
background-image: -webkit-linear-gradient(-90deg, #54c7dc 0%, #4361c2 100%);
|
||||
height: 100%;
|
||||
border-radius: 20px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.container .card{
|
||||
height: auto;
|
||||
margin: 15px;
|
||||
}
|
||||
|
||||
.container .card .right-side {
|
||||
width: 65%;
|
||||
background-color: #fff;
|
||||
height: auto;
|
||||
border-radius: 20px;
|
||||
border-top-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
|
||||
.container .card .left-side{
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.edit-text{
|
||||
text-align: right;
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
}
|
||||
.label-text{
|
||||
text-align: left;
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
margin-left: 5px;
|
||||
}
|
||||
.radio-text{
|
||||
text-align: left;
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
|
||||
/* my custom css*/
|
||||
222
resources/css/payment.css
vendored
Normal file
222
resources/css/payment.css
vendored
Normal file
@@ -0,0 +1,222 @@
|
||||
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css');
|
||||
.modal-backdrop {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
z-index: 100000000;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.modal {
|
||||
/*overflow-x: auto;*/
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.modal-body {
|
||||
position: relative;
|
||||
padding: 20px 10px;
|
||||
}
|
||||
|
||||
#payment-modal {
|
||||
font-family: Arial;
|
||||
font-size: 17px;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
|
||||
#payment-modal * {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
#payment-modal .row {
|
||||
display: -ms-flexbox; /* IE10 */
|
||||
display: flex;
|
||||
-ms-flex-wrap: wrap; /* IE10 */
|
||||
flex-wrap: wrap;
|
||||
margin: 0 -16px;
|
||||
}
|
||||
|
||||
#payment-modal .col-25 {
|
||||
-ms-flex: 25%; /* IE10 */
|
||||
flex: 25%;
|
||||
}
|
||||
|
||||
#payment-modal .col-50 {
|
||||
-ms-flex: 50%; /* IE10 */
|
||||
flex: 50%;
|
||||
}
|
||||
|
||||
#payment-modal .col-75 {
|
||||
-ms-flex: 75%; /* IE10 */
|
||||
flex: 75%;
|
||||
}
|
||||
|
||||
#payment-modal
|
||||
.col-25,
|
||||
.col-50,
|
||||
.col-75 {
|
||||
padding: 0 16px;
|
||||
}
|
||||
|
||||
#payment-modal .payment-container {
|
||||
/* background-color: #f2f2f2; */
|
||||
font-family: 'Roboto', sans-serif;
|
||||
color: #2A3F54;
|
||||
padding: 5px 20px 15px 20px;
|
||||
border: 1px solid lightgrey;
|
||||
border-radius: 3px;
|
||||
background: #fff;
|
||||
padding: 10px 25px;
|
||||
box-shadow: 0 10px 10px 10px rgb(0 0 0 / 10%);
|
||||
border-radius: 20px;
|
||||
}
|
||||
|
||||
#payment-modal input[type=text] {
|
||||
width: 100%;
|
||||
margin-bottom: 20px;
|
||||
padding: 12px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
#payment-modal label {
|
||||
margin-bottom: 10px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
#payment-modal .icon-container {
|
||||
margin-bottom: 20px;
|
||||
padding: 7px 0;
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
#payment-modal .btn {
|
||||
background-color: #FF440A !important;
|
||||
color: white;
|
||||
padding: 12px;
|
||||
margin: 10px 0;
|
||||
border: none;
|
||||
width: 100%;
|
||||
border-radius: 3px;
|
||||
cursor: pointer;
|
||||
font-size: 17px;
|
||||
}
|
||||
|
||||
#payment-modal .btn:hover {
|
||||
background-color: #45a049;
|
||||
}
|
||||
|
||||
#payment-modal a {
|
||||
color: #2196F3;
|
||||
}
|
||||
|
||||
#payment-modal hr {
|
||||
border: 1px solid lightgrey;
|
||||
}
|
||||
|
||||
#payment-modal span.price {
|
||||
float: right;
|
||||
color: grey;
|
||||
}
|
||||
#payment-modal .bottom-panel{
|
||||
text-align: center;
|
||||
}
|
||||
#payment-modal .smart-credit-pkg{
|
||||
width: 250px !important;
|
||||
margin-top: -20px !important;
|
||||
margin-left: 15px !important;
|
||||
padding-top: 0 !important;
|
||||
padding-right: 0 !important;
|
||||
}
|
||||
#payment-modal .top-text{
|
||||
text-align: left;
|
||||
font-weight: bold;
|
||||
padding-bottom: 15px;
|
||||
margin-left: 15px;
|
||||
color: darkblue;
|
||||
}
|
||||
/* Responsive layout - when the screen is less than 800px wide, make the two columns stack on top of each other instead of next to each other (also change the direction - make the "cart" column go on top) */
|
||||
@media (max-width: 800px) {
|
||||
#payment-modal .row {
|
||||
flex-direction: column-reverse;
|
||||
}
|
||||
#payment-modal .col-25 {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
#payment-modal .main{
|
||||
margin: 15px !important;
|
||||
}
|
||||
|
||||
#payment-modal .container{
|
||||
border-radius: 0;
|
||||
}
|
||||
#payment-modal .text-center-sm{
|
||||
text-align: center !important;
|
||||
}
|
||||
#payment-modal .bottom-panel{
|
||||
text-align: center !important;
|
||||
}
|
||||
#payment-modal .smart-credit-pkg{
|
||||
width: 95% !important;
|
||||
margin-top: -20px !important;
|
||||
padding-top: 0 !important;
|
||||
padding-right: 0 !important;
|
||||
}
|
||||
#payment-modal .top-text{
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
padding-bottom: 15px;
|
||||
color: darkblue;
|
||||
}
|
||||
#payment-modal .header-panel{
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
@media (max-width: 700px) {
|
||||
#payment-modal .row {
|
||||
display: flow-root;
|
||||
flex-wrap: wrap;
|
||||
margin: 0 -16px;
|
||||
}
|
||||
}
|
||||
@media (min-width: 400px) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
#payment-modal .center{
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
#payment-modal .text-center {
|
||||
text-align: center !important;
|
||||
}
|
||||
|
||||
#payment-modal .btn2 {
|
||||
background-color: #FF440A !important;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
font-weight: 800;
|
||||
font-size: 1em;
|
||||
text-transform: uppercase;
|
||||
color: #fff;
|
||||
border-radius: 7px;
|
||||
margin: 20px;
|
||||
padding: 10px 100px;
|
||||
background-size: 200% auto;
|
||||
border: none;
|
||||
color: white;
|
||||
box-shadow: 0 4px 6px rgb(50 50 93 / 11%), 0 1px 3px rgb(0 0 0 / 8%);
|
||||
background-image: linear-gradient(to right, #FF440A 0%, #dc3d0c 50%, #9e2d0a 100%);
|
||||
background-image: -webkit-linear-gradient(to right, #FF440A 0%, #dc3d0c 50%, #9e2d0a 100%);
|
||||
background-image: -o-linear-gradient(to right, #FF440A 0%, #dc3d0c 50%, #9e2d0a 100%);
|
||||
transition: 0.35s;
|
||||
-webkit-transition: 0.35s;
|
||||
}
|
||||
548
resources/css/register.css
vendored
Normal file
548
resources/css/register.css
vendored
Normal file
@@ -0,0 +1,548 @@
|
||||
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@200&display=swap');
|
||||
|
||||
*{
|
||||
padding:0;
|
||||
margin:0;
|
||||
}
|
||||
.container{
|
||||
min-height:100vh;
|
||||
display:flex;
|
||||
justify-content:center;
|
||||
align-items:center;
|
||||
background-color:#eee;
|
||||
}
|
||||
.container .card{
|
||||
height:500px;
|
||||
width:1100px;
|
||||
background-color:#fff;
|
||||
position:relative;
|
||||
box-shadow:0 15px 30px rgba(0,0,0,0.1);
|
||||
font-family: 'Poppins', sans-serif;
|
||||
border-radius:20px;
|
||||
}
|
||||
.container .card .form{
|
||||
width:100%;
|
||||
height:100%;
|
||||
|
||||
display:flex;
|
||||
}
|
||||
.container .card .left-side{
|
||||
width:35%;
|
||||
background-image: -webkit-linear-gradient(-90deg, #54c7dc 0%, #4361c2 100%);
|
||||
height:100%;
|
||||
border-top-left-radius:20px;
|
||||
border-bottom-left-radius:20px;
|
||||
padding:20px 30px;
|
||||
box-sizing:border-box;
|
||||
|
||||
}
|
||||
/*left-side-start*/
|
||||
.left-heading{
|
||||
color:#fff;
|
||||
|
||||
}
|
||||
.steps-content{
|
||||
margin-top:30px;
|
||||
color:#fff;
|
||||
}
|
||||
.steps-content p{
|
||||
font-size:12px;
|
||||
margin-top:15px;
|
||||
}
|
||||
.progress-bar{
|
||||
list-style:none;
|
||||
/*color:#fff;*/
|
||||
margin-top:30px;
|
||||
font-size:13px;
|
||||
font-weight:700;
|
||||
counter-reset:container 0;
|
||||
}
|
||||
.progress-bar li{
|
||||
position:relative;
|
||||
margin-left:40px;
|
||||
margin-top:50px;
|
||||
counter-increment:container 1;
|
||||
color:#4f6581;
|
||||
}
|
||||
.progress-bar li::before{
|
||||
content:counter(container);
|
||||
line-height:25px;
|
||||
text-align:center;
|
||||
position:absolute;
|
||||
height:25px;
|
||||
width:25px;
|
||||
border:1px solid #4f6581;
|
||||
border-radius:50%;
|
||||
left:-40px;
|
||||
top:-5px;
|
||||
z-index:10;
|
||||
background-color:#4A8ACD;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
.progress-bar li::after{
|
||||
content: '';
|
||||
position: absolute;
|
||||
height: 90px;
|
||||
width: 2px;
|
||||
background-color: #4f6581;
|
||||
z-index: 1;
|
||||
left: -27px;
|
||||
top: -70px;
|
||||
}
|
||||
|
||||
|
||||
.progress-bar li.active::after{
|
||||
background-color: #fff;
|
||||
|
||||
}
|
||||
|
||||
.progress-bar li:first-child:after{
|
||||
display:none;
|
||||
}
|
||||
|
||||
/*.progress-bar li:last-child:after{*/
|
||||
/* display:none; */
|
||||
/*}*/
|
||||
.progress-bar li.active::before{
|
||||
color:#fff;
|
||||
border:1px solid #fff;
|
||||
}
|
||||
.progress-bar li.active{
|
||||
color:#fff;
|
||||
}
|
||||
.d-none{
|
||||
display:none;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*left-side-end*/
|
||||
.container .card .right-side{
|
||||
width:65%;
|
||||
background-color:#fff;
|
||||
height:100%;
|
||||
border-radius:20px;
|
||||
}
|
||||
/*right-side-start*/
|
||||
.main{
|
||||
display:none;
|
||||
}
|
||||
.active{
|
||||
display:block;
|
||||
}
|
||||
.main{
|
||||
padding:40px;
|
||||
}
|
||||
.main small{
|
||||
display:flex;
|
||||
justify-content:center;
|
||||
align-items:center;
|
||||
margin-top:2px;
|
||||
height:30px;
|
||||
width:30px;
|
||||
background-color:#ccc;
|
||||
border-radius:50%;
|
||||
color:yellow;
|
||||
font-size:19px;
|
||||
}
|
||||
.text{
|
||||
margin-top:20px;
|
||||
}
|
||||
.congrats{
|
||||
text-align:center;
|
||||
color: #0b0b0b;
|
||||
}
|
||||
.text p{
|
||||
margin-top:10px;
|
||||
font-size:13px;
|
||||
font-weight:700;
|
||||
color:#cbced4;
|
||||
}
|
||||
.input-text{
|
||||
margin:30px 0;
|
||||
display:flex;
|
||||
gap:20px;
|
||||
}
|
||||
|
||||
.input-text .input-div{
|
||||
width:100%;
|
||||
position:relative;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
input[type="text"],input[type="password"]{
|
||||
width:100%;
|
||||
height:40px;
|
||||
border:none;
|
||||
outline:0;
|
||||
border-radius:5px;
|
||||
border:1px solid #cbced4;
|
||||
gap:20px;
|
||||
box-sizing:border-box;
|
||||
padding:0px 10px;
|
||||
}
|
||||
select{
|
||||
width:100%;
|
||||
height:40px;
|
||||
border:none;
|
||||
outline:0;
|
||||
border-radius:5px;
|
||||
border:1px solid #cbced4;
|
||||
gap:20px;
|
||||
box-sizing:border-box;
|
||||
padding:0px 10px;
|
||||
}
|
||||
.input-text .input-div span{
|
||||
position:absolute;
|
||||
top:10px;
|
||||
left:10px;
|
||||
font-size:12px;
|
||||
transition:all 0.5s;
|
||||
}
|
||||
.input-div input:focus ~ span,.input-div input:valid ~ span {
|
||||
top:-15px;
|
||||
left:6px;
|
||||
font-size:10px;
|
||||
font-weight:600;
|
||||
}
|
||||
|
||||
.input-div span{
|
||||
top:-15px;
|
||||
left:6px;
|
||||
font-size:10px;
|
||||
}
|
||||
.buttons button{
|
||||
height:40px;
|
||||
width:100px;
|
||||
border:none;
|
||||
border-radius:5px;
|
||||
background-color:#0075ff;
|
||||
font-size:12px;
|
||||
color:#fff;
|
||||
cursor:pointer;
|
||||
}
|
||||
.button_space{
|
||||
display:flex;
|
||||
gap:20px;
|
||||
|
||||
}
|
||||
.button_space button:nth-child(1){
|
||||
background-color:#fff;
|
||||
color:#000;
|
||||
border:1px solid#000;
|
||||
}
|
||||
.user_card{
|
||||
margin-top:20px;
|
||||
margin-bottom:40px;
|
||||
height:200px;
|
||||
width:100%;
|
||||
border:1px solid #c7d3d9;
|
||||
border-radius:10px;
|
||||
display:flex;
|
||||
overflow:hidden;
|
||||
position:relative;
|
||||
box-sizing:border-box;
|
||||
}
|
||||
.user_card span{
|
||||
height:80px;
|
||||
width:100%;
|
||||
background-color:#dfeeff;
|
||||
}
|
||||
.circle{
|
||||
position:absolute;
|
||||
top:40px;
|
||||
left:60px;
|
||||
}
|
||||
.circle span{
|
||||
height:70px;
|
||||
width:70px;
|
||||
background-color:#fff;
|
||||
display:flex;
|
||||
justify-content:center;
|
||||
align-items:center;
|
||||
border:2px solid #fff;
|
||||
border-radius:50%;
|
||||
}
|
||||
.circle span img{
|
||||
width:100%;
|
||||
height:100%;
|
||||
border-radius:50%;
|
||||
object-fit:cover;
|
||||
}
|
||||
.social{
|
||||
display:flex;
|
||||
position:absolute;
|
||||
top:100px;
|
||||
right:10px;
|
||||
}
|
||||
.social span{
|
||||
height:30px;
|
||||
width:30px;
|
||||
border-radius:7px;
|
||||
background-color:#fff;
|
||||
border:1px solid #cbd6dc;
|
||||
display:flex;
|
||||
justify-content:center;
|
||||
align-items:center;
|
||||
margin-left:10px;
|
||||
color:#cbd6dc;
|
||||
|
||||
}
|
||||
.social span i{
|
||||
cursor:pointer;
|
||||
}
|
||||
.heart{
|
||||
color:red !important;
|
||||
}
|
||||
.share{
|
||||
color:red !important;
|
||||
}
|
||||
.user_name{
|
||||
position:absolute;
|
||||
top:110px;
|
||||
margin:10px;
|
||||
padding:0 30px;
|
||||
display:flex;
|
||||
flex-direction:column;
|
||||
width:100%;
|
||||
|
||||
}
|
||||
.user_name h3{
|
||||
color:#4c5b68;
|
||||
}
|
||||
.detail{
|
||||
/*margin-top:10px;*/
|
||||
display:flex;
|
||||
justify-content:space-between;
|
||||
margin-right:50px;
|
||||
}
|
||||
.detail p{
|
||||
font-size:12px;
|
||||
font-weight:700;
|
||||
|
||||
}
|
||||
.detail p a{
|
||||
text-decoration:none;
|
||||
color:blue;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.checkmark__circle {
|
||||
stroke-dasharray: 166;
|
||||
stroke-dashoffset: 166;
|
||||
stroke-width: 2;
|
||||
stroke-miterlimit: 10;
|
||||
stroke: #7ac142;
|
||||
fill: none;
|
||||
animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
|
||||
}
|
||||
|
||||
.checkmark {
|
||||
width: 56px;
|
||||
height: 56px;
|
||||
border-radius: 50%;
|
||||
display: block;
|
||||
stroke-width: 2;
|
||||
stroke: #fff;
|
||||
stroke-miterlimit: 10;
|
||||
margin: 10% auto;
|
||||
box-shadow: inset 0px 0px 0px #7ac142;
|
||||
animation: fill .4s ease-in-out .4s forwards, scale .3s ease-in-out .9s both;
|
||||
}
|
||||
|
||||
.checkmark__check {
|
||||
transform-origin: 50% 50%;
|
||||
stroke-dasharray: 48;
|
||||
stroke-dashoffset: 48;
|
||||
animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards;
|
||||
}
|
||||
|
||||
@keyframes stroke {
|
||||
100% {
|
||||
stroke-dashoffset: 0;
|
||||
}
|
||||
}
|
||||
@keyframes scale {
|
||||
0%, 100% {
|
||||
transform: none;
|
||||
}
|
||||
50% {
|
||||
transform: scale3d(1.1, 1.1, 1);
|
||||
}
|
||||
}
|
||||
@keyframes fill {
|
||||
100% {
|
||||
box-shadow: inset 0px 0px 0px 30px #7ac142;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.warning{
|
||||
border:1px solid red !important;
|
||||
}
|
||||
|
||||
|
||||
/*right-side-end*/
|
||||
@media (max-width:750px) {
|
||||
.container{
|
||||
height:scroll;
|
||||
|
||||
|
||||
}
|
||||
.container .card {
|
||||
max-width: 350px;
|
||||
height:auto !important;
|
||||
margin:30px 0;
|
||||
}
|
||||
.container .card .right-side {
|
||||
width:100%;
|
||||
|
||||
}
|
||||
.input-text{
|
||||
display:block;
|
||||
}
|
||||
|
||||
.input-text .input-div{
|
||||
margin-top:20px;
|
||||
|
||||
}
|
||||
|
||||
.container .card .left-side {
|
||||
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.error{
|
||||
color: red;
|
||||
font-weight: bold;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.field-validation-error{
|
||||
top: 50px;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
color: red;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.field-validation-error span{
|
||||
left: 0 !important;
|
||||
}
|
||||
|
||||
.next_button{
|
||||
background-color: #FF440A !important;
|
||||
color: white;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
button:disabled{
|
||||
opacity: .5;
|
||||
}
|
||||
|
||||
.top-area{
|
||||
display: flex;
|
||||
}
|
||||
.link-area{
|
||||
width: 100%;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.link-area a{
|
||||
color: #82aee2;
|
||||
text-decoration: none;
|
||||
background-color: transparent;
|
||||
font-family: "Lato",-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
|
||||
font-size: 1rem;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
input:read-only{
|
||||
background: lightgrey;
|
||||
}
|
||||
|
||||
/* my custom css*/
|
||||
.container .card .form {
|
||||
background-image: -webkit-linear-gradient(-90deg, #54c7dc 0%, #4361c2 100%);
|
||||
height: 100%;
|
||||
border-radius: 20px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.container .card{
|
||||
height: auto;
|
||||
margin: 15px;
|
||||
}
|
||||
|
||||
.container .card .right-side {
|
||||
width: 65%;
|
||||
background-color: #fff;
|
||||
height: auto;
|
||||
border-radius: 20px;
|
||||
border-top-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
|
||||
.container .card .left-side{
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.edit-text{
|
||||
text-align: right;
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
}
|
||||
.label-text{
|
||||
text-align: left;
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
margin-left: 5px;
|
||||
}
|
||||
.radio-text{
|
||||
text-align: left;
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
|
||||
/* my custom css*/
|
||||
970
resources/css/smartcredit.css
vendored
Normal file
970
resources/css/smartcredit.css
vendored
Normal file
@@ -0,0 +1,970 @@
|
||||
|
||||
.smart-credit-pkg .sign-up-nav, .smart-credit-pkg .login-nav {
|
||||
display: none
|
||||
}
|
||||
|
||||
.smart-credit-pkg .page-steps {
|
||||
background-color: #f7f8fb
|
||||
}
|
||||
|
||||
.smart-credit-pkg .page-steps .smart-credit-pkg .header__name {
|
||||
font-size: 24px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .main {
|
||||
border-radius: 3px;
|
||||
height: calc(100vh - 177px);
|
||||
max-width: 80%;
|
||||
margin: 0 auto
|
||||
}
|
||||
|
||||
.smart-credit-pkg .main--auto {
|
||||
height: auto;
|
||||
justify-content: center
|
||||
}
|
||||
|
||||
.smart-credit-pkg .main__content {
|
||||
border: 2px solid #f2f2f2;
|
||||
background-color: #fff
|
||||
}
|
||||
|
||||
.smart-credit-pkg .main__aside {
|
||||
background-image: linear-gradient(to bottom, #b8d7f3, #82aee2)
|
||||
}
|
||||
|
||||
.smart-credit-pkg .main__aside + .smart-credit-pkg .main__content {
|
||||
border-left: none
|
||||
}
|
||||
|
||||
@media (max-width: 1199.98px) {
|
||||
.smart-credit-pkg .registration-steps .smart-credit-pkg .nav-steps li + li {
|
||||
margin-left: 50px
|
||||
}
|
||||
|
||||
p {
|
||||
color: #4a4a4a;
|
||||
line-height: 32px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .terms-of-list p {
|
||||
line-height: initial
|
||||
}
|
||||
}
|
||||
|
||||
.smart-credit-pkg .login-text {
|
||||
padding: 20px;
|
||||
text-align: center;
|
||||
color: #fff
|
||||
}
|
||||
|
||||
.smart-credit-pkg .login-text h3 {
|
||||
font-weight: 300;
|
||||
line-height: 1.5
|
||||
}
|
||||
|
||||
.smart-credit-pkg .login-text p {
|
||||
color: #fff;
|
||||
font-size: 16px;
|
||||
margin-top: 15px;
|
||||
font-weight: bold;
|
||||
line-height: 2
|
||||
}
|
||||
|
||||
.smart-credit-pkg .login-text p.smart-credit-pkg .extra-bold {
|
||||
font-size: 35px;
|
||||
margin-top: 15px;
|
||||
font-weight: bold;
|
||||
line-height: 2
|
||||
}
|
||||
|
||||
.smart-credit-pkg .login-text .smart-credit-pkg .btn-link {
|
||||
font-size: 16px;
|
||||
padding: 0;
|
||||
border-radius: 0;
|
||||
color: #fff;
|
||||
border-bottom: 1px solid #fff
|
||||
}
|
||||
|
||||
.smart-credit-pkg .form-element--login {
|
||||
width: 70%;
|
||||
margin: 0 auto
|
||||
}
|
||||
|
||||
.smart-credit-pkg .form-element--login h2 {
|
||||
color: #82aee2;
|
||||
font-weight: 300
|
||||
}
|
||||
|
||||
.smart-credit-pkg .form-element--login a {
|
||||
cursor: pointer
|
||||
}
|
||||
|
||||
.smart-credit-pkg .action-link a {
|
||||
cursor: pointer
|
||||
}
|
||||
|
||||
@media (max-width: 991.98px) {
|
||||
.smart-credit-pkg .main {
|
||||
max-width: 100%
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 767.98px) {
|
||||
.smart-credit-pkg .LoginText--box.smart-credit-pkg .d-flex {
|
||||
display: block !important
|
||||
}
|
||||
|
||||
.smart-credit-pkg .login-text {
|
||||
margin-top: 20px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .page-steps .smart-credit-pkg .navigation {
|
||||
display: block
|
||||
}
|
||||
|
||||
.smart-credit-pkg .main {
|
||||
height: auto;
|
||||
flex-direction: column-reverse
|
||||
}
|
||||
|
||||
.smart-credit-pkg .main__content, .smart-credit-pkg .main__aside {
|
||||
max-width: 100%
|
||||
}
|
||||
|
||||
.smart-credit-pkg .main__content {
|
||||
border-right: none;
|
||||
padding: 0 30px;
|
||||
border-left: none
|
||||
}
|
||||
|
||||
.smart-credit-pkg .main__content .smart-credit-pkg .tab-content {
|
||||
padding-top: .5rem !important;
|
||||
padding-bottom: 1rem !important
|
||||
}
|
||||
|
||||
.smart-credit-pkg .registration-steps .smart-credit-pkg .nav-steps .smart-credit-pkg .nav-link {
|
||||
font-size: 12px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .login-text, .smart-credit-pkg .action-link {
|
||||
text-align: center
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 575.98px) {
|
||||
.smart-credit-pkg .steps .smart-credit-pkg .container {
|
||||
padding-left: 0;
|
||||
padding-right: 0
|
||||
}
|
||||
|
||||
.smart-credit-pkg .form-element {
|
||||
width: 100%
|
||||
}
|
||||
}
|
||||
|
||||
.smart-credit-pkg .registration-steps {
|
||||
padding-top: 50px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .registration-steps .smart-credit-pkg .nav {
|
||||
margin: 50px -16px 20px;
|
||||
width: auto
|
||||
}
|
||||
|
||||
.smart-credit-pkg .registration-steps .smart-credit-pkg .nav-steps .smart-credit-pkg .nav-link {
|
||||
color: #82aee2;
|
||||
font-weight: 300;
|
||||
cursor: context-menu
|
||||
}
|
||||
|
||||
.smart-credit-pkg .registration-steps .smart-credit-pkg .nav-steps .smart-credit-pkg .nav-link::before {
|
||||
height: 12px;
|
||||
width: 12px;
|
||||
background-color: #c2c2c2;
|
||||
border-color: #c2c2c2
|
||||
}
|
||||
|
||||
.smart-credit-pkg .registration-steps .smart-credit-pkg .nav-steps .smart-credit-pkg .nav-link.smart-credit-pkg .active {
|
||||
font-weight: bold
|
||||
}
|
||||
|
||||
.smart-credit-pkg .registration-steps .smart-credit-pkg .nav-steps .smart-credit-pkg .nav-link.smart-credit-pkg .active::before {
|
||||
height: 15px;
|
||||
width: 15px;
|
||||
background: #f2f2f2;
|
||||
border-color: #82aee2
|
||||
}
|
||||
|
||||
.smart-credit-pkg .confirm-name i {
|
||||
color: #82aee2
|
||||
}
|
||||
|
||||
@media (max-width: 767.98px) {
|
||||
.smart-credit-pkg .registration-steps {
|
||||
padding-top: 0
|
||||
}
|
||||
|
||||
.smart-credit-pkg .mt-sm--2 {
|
||||
margin-top: 16px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .registration-steps .smart-credit-pkg .nav {
|
||||
margin: 50px -30px 20px
|
||||
}
|
||||
}
|
||||
|
||||
.smart-credit-pkg .main--credit {
|
||||
max-width: 100%;
|
||||
height: auto
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card {
|
||||
border-radius: 4px;
|
||||
border: solid 1px #f2f2f2;
|
||||
background-color: #fff;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: auto;
|
||||
position: relative
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card--short {
|
||||
height: 85%
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card--info {
|
||||
border-top: 5px solid #3379d0
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card--best, .smart-credit-pkg .report-card--gray {
|
||||
background: #f2f2f2
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card--best .smart-credit-pkg .best-value {
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: -38px;
|
||||
left: -20px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card--danger {
|
||||
border-top: 5px solid #c03941
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card__header {
|
||||
text-align: center;
|
||||
border-bottom: 1px solid #82aee2
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card__header h5 {
|
||||
font-weight: 700;
|
||||
font-size: 18px;
|
||||
line-height: 26px;
|
||||
color: #3379d0;
|
||||
font-family: "Open Sans", sans-serif
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card__header h5 span {
|
||||
font-size: 21px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card__header h5 sup {
|
||||
margin: 0 2px;
|
||||
top: -10px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card__price {
|
||||
text-align: center;
|
||||
border-bottom: 1px solid #82aee2
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card__price h4 {
|
||||
color: #82aee2;
|
||||
font-size: 24px !important
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card__price span {
|
||||
text-transform: uppercase;
|
||||
font-size: 11px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card .provider-logo {
|
||||
width: 55%;
|
||||
vertical-align: middle;
|
||||
border-style: none;
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card__logo {
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: 10px;
|
||||
margin-bottom: 5px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card__logo span {
|
||||
padding: 0 10px;
|
||||
color: #3379d0
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card__logo strong {
|
||||
font-family: "open sans";
|
||||
font-size: 18px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card .smart-credit-pkg .provider-logo-small {
|
||||
width: 110px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card__logo::before, .smart-credit-pkg .report-card__logo::after {
|
||||
content: "";
|
||||
flex: 1;
|
||||
height: 2px;
|
||||
background: #82aee2
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card__text {
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card__text p {
|
||||
font-size: 13px;
|
||||
margin: 0
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card__action {
|
||||
text-align: center;
|
||||
margin-top: auto
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card__action .smart-credit-pkg .btn {
|
||||
border-width: 2px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .points {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0
|
||||
}
|
||||
|
||||
.smart-credit-pkg .points > li {
|
||||
font-size: 14px;
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center
|
||||
}
|
||||
|
||||
.smart-credit-pkg .points > li i {
|
||||
color: #82aee2;
|
||||
margin-right: 5px;
|
||||
font-size: 16px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .points > li + li {
|
||||
margin-top: 15px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .best-value {
|
||||
display: none
|
||||
}
|
||||
|
||||
.smart-credit-pkg .best-value img {
|
||||
width: 142px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .coming-soon {
|
||||
position: absolute;
|
||||
top: -38px;
|
||||
right: -20px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .coming-soon img {
|
||||
width: 142px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .coming-soon-btn {
|
||||
border: 2px solid #c2c2c2;
|
||||
color: #c2c2c2
|
||||
}
|
||||
|
||||
.smart-credit-pkg .coming-soon-btn:hover {
|
||||
background: #c2c2c2;
|
||||
color: #fff;
|
||||
border: 2px solid #c2c2c2
|
||||
}
|
||||
|
||||
.smart-credit-pkg .unavailable-btn {
|
||||
border: 2px solid #c2c2c2;
|
||||
color: #c2c2c2;
|
||||
word-spacing: 8px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .unavailable-btn:hover {
|
||||
background: #c2c2c2;
|
||||
color: #fff;
|
||||
border: 2px solid #c2c2c2
|
||||
}
|
||||
|
||||
.smart-credit-pkg .tab-content__header {
|
||||
max-width: 80%;
|
||||
margin: 0 auto
|
||||
}
|
||||
|
||||
.smart-credit-pkg .tab-content__header h4 {
|
||||
font-size: 22px;
|
||||
font-weight: bold
|
||||
}
|
||||
|
||||
.smart-credit-pkg .tab-content__report h4 {
|
||||
font-size: 22px;
|
||||
font-weight: bold
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-list {
|
||||
justify-content: center
|
||||
}
|
||||
|
||||
@media (max-width: 767.98px) {
|
||||
.smart-credit-pkg .tab-content__header {
|
||||
max-width: 100%
|
||||
}
|
||||
|
||||
.smart-credit-pkg .tab-content__report {
|
||||
padding-top: 10px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .tab-content__header h4 {
|
||||
font-size: 22px;
|
||||
line-height: 36px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .tab-content__header p br {
|
||||
display: none
|
||||
}
|
||||
|
||||
.smart-credit-pkg .tab-content__report > h4 {
|
||||
margin-top: 50px;
|
||||
font-size: 22px;
|
||||
line-height: 32px;
|
||||
text-align: left !important
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-list {
|
||||
padding: 0 !important
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-list .smart-credit-pkg .col-md-4 + .smart-credit-pkg .col-md-4 {
|
||||
margin-top: 50px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card__text p {
|
||||
line-height: 22px
|
||||
}
|
||||
}
|
||||
|
||||
.smart-credit-pkg .tab-content--report {
|
||||
position: relative
|
||||
}
|
||||
|
||||
.smart-credit-pkg .tab-content--report .smart-credit-pkg .tab-content__header .smart-credit-pkg .btn {
|
||||
position: absolute;
|
||||
left: 34px;
|
||||
top: 25px;
|
||||
font-size: 16px;
|
||||
padding-left: 0
|
||||
}
|
||||
|
||||
.smart-credit-pkg .tab-content--report .smart-credit-pkg .tab-content__header h2 {
|
||||
color: #3379d0;
|
||||
font-weight: bold;
|
||||
font-family: "Open Sans", sans-serif
|
||||
}
|
||||
|
||||
.smart-credit-pkg .tab-content--report .smart-credit-pkg .tab-content__header h2 span {
|
||||
font-size: 32px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .tab-content--report .smart-credit-pkg .tab-content__header h2 sup {
|
||||
font-size: 16px;
|
||||
top: -20px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .tab-content--report .smart-credit-pkg .tab-content__header p {
|
||||
font-size: 21px;
|
||||
font-weight: bold;
|
||||
margin: 0 auto
|
||||
}
|
||||
|
||||
.smart-credit-pkg .tab-content--report .smart-credit-pkg .tab-content__header p span {
|
||||
font-size: 21px;
|
||||
font-weight: bold;
|
||||
font-style: italic;
|
||||
margin-right: 5px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .form-options .smart-credit-pkg .form-group > label {
|
||||
font-size: 18px;
|
||||
color: #9b9b9b;
|
||||
text-transform: none;
|
||||
margin-bottom: 25px;
|
||||
font-weight: normal
|
||||
}
|
||||
|
||||
.smart-credit-pkg .form-options .smart-credit-pkg .form-group + .smart-credit-pkg .form-group {
|
||||
margin-top: 40px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .form-options .smart-credit-pkg .custom-radio {
|
||||
padding: 0
|
||||
}
|
||||
|
||||
.smart-credit-pkg .form-options .smart-credit-pkg .custom-radio input[type=radio]:checked + label {
|
||||
border-color: #82aee2;
|
||||
box-shadow: inset -1px 0 0 1px #82aee2
|
||||
}
|
||||
|
||||
.smart-credit-pkg .form-options .smart-credit-pkg .custom-control-label {
|
||||
padding: 16px 20px;
|
||||
display: block;
|
||||
border: 1px solid #e1e1e1;
|
||||
border-radius: 4px;
|
||||
border-left: 4px solid #82aee2;
|
||||
cursor: pointer;
|
||||
color: #4a4a4a;
|
||||
font-size: 16px;
|
||||
font-weight: 700
|
||||
}
|
||||
|
||||
.smart-credit-pkg .form-options .smart-credit-pkg .custom-control-label::before, .smart-credit-pkg .form-options .smart-credit-pkg .custom-control-label::after {
|
||||
display: none
|
||||
}
|
||||
|
||||
.smart-credit-pkg .form-options .smart-credit-pkg .custom-control-label:hover {
|
||||
box-shadow: inset -1px 0 0 1px #82aee2;
|
||||
border-color: #82aee2
|
||||
}
|
||||
|
||||
@media (max-width: 1199.98px) {
|
||||
.smart-credit-pkg .form-options .smart-credit-pkg .form-group > label {
|
||||
margin-bottom: 18px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .form-options .smart-credit-pkg .form-group + .smart-credit-pkg .form-group {
|
||||
margin-top: 25px
|
||||
}
|
||||
}
|
||||
|
||||
.smart-credit-pkg .form-element label {
|
||||
color: #82aee2
|
||||
}
|
||||
|
||||
.smart-credit-pkg .form-element--personal .smart-credit-pkg .form-group label {
|
||||
color: #9b9b9b
|
||||
}
|
||||
|
||||
.smart-credit-pkg .smart-credit-account-modal .smart-credit-pkg .modal-dialog {
|
||||
max-width: 420px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .smart-credit-account-modal .smart-credit-pkg .modal-header {
|
||||
display: none
|
||||
}
|
||||
|
||||
.smart-credit-pkg .success-icon {
|
||||
margin-top: 30px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .success-icon i {
|
||||
color: #82aee2;
|
||||
font-size: 40px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .modal-success__title {
|
||||
color: #545454;
|
||||
margin: 20px 0 30px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .modal-success__text {
|
||||
color: #4a4a4a;
|
||||
width: 80%;
|
||||
margin: auto
|
||||
}
|
||||
|
||||
.smart-credit-pkg .smart-credit-account-modal .smart-credit-pkg .btn {
|
||||
font-weight: 100
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-success {
|
||||
width: 60%;
|
||||
margin: 0 auto;
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-success p {
|
||||
font-size: 20px;
|
||||
color: #545454
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-info a, .smart-credit-pkg .credit-info span {
|
||||
font-size: 14px;
|
||||
line-height: 24px;
|
||||
font-weight: 300;
|
||||
color: #82aee2
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-text {
|
||||
list-style: none;
|
||||
width: 70%;
|
||||
margin: 0 auto 20px;
|
||||
padding: 0;
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-text li {
|
||||
position: relative;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
color: #4a4a4a
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-text li::before {
|
||||
content: "";
|
||||
background: #82aee2;
|
||||
width: 6px;
|
||||
height: 6px;
|
||||
border-radius: 50%;
|
||||
margin-right: 10px;
|
||||
margin-top: 10px;
|
||||
padding-left: 6px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-text li + li {
|
||||
margin-top: 15px
|
||||
}
|
||||
|
||||
@media (max-width: 1199.98px) {
|
||||
.smart-credit-pkg .credit-success {
|
||||
width: 80%
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 991.98px) {
|
||||
.smart-credit-pkg .credit-success {
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-success .smart-credit-pkg .text {
|
||||
width: 100%
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 767.98px) {
|
||||
.smart-credit-pkg .credit-success .smart-credit-pkg .text {
|
||||
text-align: left;
|
||||
display: block
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-success .smart-credit-pkg .btn {
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-text {
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-info {
|
||||
text-align: left
|
||||
}
|
||||
|
||||
.smart-credit-pkg .success-credit .smart-credit-pkg .tab-content--report .smart-credit-pkg .tab-content__header {
|
||||
margin-bottom: 0
|
||||
}
|
||||
|
||||
.smart-credit-pkg .success-credit .smart-credit-pkg .btn {
|
||||
margin-bottom: 20px
|
||||
}
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-error .smart-credit-pkg .alert-danger {
|
||||
background: #dc8180;
|
||||
padding: 8px 20px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-error .smart-credit-pkg .alert-danger p {
|
||||
color: #fff;
|
||||
font-size: 16px;
|
||||
font-weight: 100;
|
||||
line-height: 32px;
|
||||
letter-spacing:.04px;
|
||||
text-align: left
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-error .smart-credit-pkg .title {
|
||||
width: 50%;
|
||||
margin: 20px auto;
|
||||
font-size: 21px;
|
||||
line-height: 32px;
|
||||
letter-spacing:.06px;
|
||||
text-align: center;
|
||||
font-weight: bold
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-error .smart-credit-pkg .report-card__price {
|
||||
border: none
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-error .smart-credit-pkg .report-card__price span {
|
||||
display: none
|
||||
}
|
||||
|
||||
.smart-credit-pkg .smart-credit-account label {
|
||||
color: #82aee2 !important;
|
||||
font-weight: bold
|
||||
}
|
||||
|
||||
@media (max-width: 991.98px) {
|
||||
.smart-credit-pkg .credit-error .smart-credit-pkg .title {
|
||||
width: 100%
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 767.98px) {
|
||||
.smart-credit-pkg .smart-credit-error .smart-credit-pkg .tab-content--report .smart-credit-pkg .tab-content__header {
|
||||
margin-bottom: 10px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-error .smart-credit-pkg .report-row {
|
||||
margin-top: 40px !important
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-error .smart-credit-pkg .report-row__aside {
|
||||
margin-top: 30px
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 575.98px) {
|
||||
.smart-credit-pkg .credit-error .smart-credit-pkg .alert-danger {
|
||||
margin: 0 -30px;
|
||||
padding: 10px 30px
|
||||
}
|
||||
}
|
||||
|
||||
.smart-credit-pkg .smart-credit .smart-credit-pkg .tab-content--report .smart-credit-pkg .tab-content__header p {
|
||||
width: 90%
|
||||
}
|
||||
|
||||
.smart-credit-pkg .smart-credit .smart-credit-pkg .report-row {
|
||||
width: 60%;
|
||||
margin: 0 auto
|
||||
}
|
||||
|
||||
.smart-credit-pkg .smart-credit .smart-credit-pkg .btn {
|
||||
font-weight: 100
|
||||
}
|
||||
|
||||
.smart-credit-pkg .smart-credit .smart-credit-pkg .tab-content--report .smart-credit-pkg .tab-content__header .smart-credit-pkg .btn {
|
||||
top: 25px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .inactive-btn {
|
||||
color: #be4948 !important;
|
||||
border-color: #be4948;
|
||||
opacity: 1 !important
|
||||
}
|
||||
|
||||
.smart-credit-pkg .inactive-btn:hover {
|
||||
background: #be4948;
|
||||
border-color: #be4948;
|
||||
color: #fff
|
||||
}
|
||||
|
||||
@media (max-width: 991.98px) {
|
||||
.smart-credit-pkg .smart-credit .smart-credit-pkg .report-row {
|
||||
width: 75%
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 767.98px) {
|
||||
.smart-credit-pkg .smart-credit .smart-credit-pkg .tab-content--report .smart-credit-pkg .tab-content__header p {
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.smart-credit-pkg .smart-credit .smart-credit-pkg .report-row {
|
||||
width: 100%;
|
||||
margin: 35px auto 0 !important
|
||||
}
|
||||
|
||||
.smart-credit-pkg .smart-credit .smart-credit-pkg .form-title {
|
||||
text-align: left
|
||||
}
|
||||
}
|
||||
|
||||
.smart-credit-pkg .smart-credit .smart-credit-pkg .form-element p {
|
||||
font-size: 16px;
|
||||
color: #4a4a4a;
|
||||
line-height: 32px;
|
||||
letter-spacing:.04px;
|
||||
margin-bottom: 0
|
||||
}
|
||||
|
||||
.smart-credit-pkg .smart-credit .smart-credit-pkg .form-element p a {
|
||||
font-size: 16px;
|
||||
color: #4a4a4a;
|
||||
line-height: 32px;
|
||||
letter-spacing:.04px;
|
||||
text-decoration: none
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-contact .smart-credit-pkg .tab-content--report .smart-credit-pkg .tab-content__header p {
|
||||
width: 80%;
|
||||
color: #4a4a4a
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-contact .smart-credit-pkg .tab-content--report .smart-credit-pkg .tab-content__header .smart-credit-pkg .btn {
|
||||
top: 25px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-contact .smart-credit-pkg .form-title {
|
||||
margin-bottom: 15px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-contact .smart-credit-pkg .form-element p {
|
||||
font-size: 16px;
|
||||
color: #4a4a4a;
|
||||
line-height: 32px;
|
||||
letter-spacing:.04px;
|
||||
margin-bottom: 0
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-contact .smart-credit-pkg .form-element p a {
|
||||
font-size: 16px;
|
||||
color: #4a4a4a;
|
||||
line-height: 32px;
|
||||
letter-spacing:.04px;
|
||||
text-decoration: none
|
||||
}
|
||||
|
||||
.smart-credit-pkg .credit-contact .smart-credit-pkg .report-card__logo, .smart-credit-pkg .credit-contact .smart-credit-pkg .report-card__price {
|
||||
display: none
|
||||
}
|
||||
|
||||
@media (max-width: 991.98px) {
|
||||
.smart-credit-pkg .credit-contact .smart-credit-pkg .tab-content__header {
|
||||
max-width: 100%
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 767.98px) {
|
||||
.smart-credit-pkg .credit-contact .smart-credit-pkg .tab-content--report .smart-credit-pkg .tab-content__header p {
|
||||
width: 100%
|
||||
}
|
||||
}
|
||||
|
||||
.smart-credit-pkg .smart-credit-page .smart-credit-pkg .form-element .smart-credit-pkg .btn.smart-credit-pkg .btn-link {
|
||||
font-size: 16px;
|
||||
text-decoration: underline !important;
|
||||
display: block;
|
||||
text-align: center;
|
||||
margin-top: 15px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .readonly {
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
padding: 0 0 15px;
|
||||
border: none !important;
|
||||
border-bottom: 1px solid #f2f2f2 !important;
|
||||
box-shadow: none;
|
||||
border-radius: 0 !important;
|
||||
height: 30px;
|
||||
background: #fff !important
|
||||
}
|
||||
|
||||
.smart-credit-pkg .terms-of-list {
|
||||
border: 2px solid #f2f2f2;
|
||||
padding: 10px;
|
||||
font-size: 14px;
|
||||
list-style: none;
|
||||
height: 180px;
|
||||
overflow-y: auto
|
||||
}
|
||||
|
||||
.smart-credit-pkg .terms-of-list li + li {
|
||||
margin-top: 10px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .terms-of-list::-webkit-scrollbar-thumb {
|
||||
border-radius: 10px;
|
||||
background-color: #82aee2
|
||||
}
|
||||
|
||||
.smart-credit-pkg .terms-of-list::-webkit-scrollbar-track {
|
||||
border-radius: 10px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .terms-of-list::-webkit-scrollbar {
|
||||
width: 6px
|
||||
}
|
||||
|
||||
.smart-credit-pkg .text-wrap-indent {
|
||||
padding-left: 3em;
|
||||
text-indent: -3em;
|
||||
display: inline-block
|
||||
}
|
||||
|
||||
.smart-credit-pkg .smartcredit-color {
|
||||
}
|
||||
|
||||
.smart-credit-pkg .creditarmor-color {
|
||||
color: #ce1f00
|
||||
}
|
||||
|
||||
.smart-credit-pkg .report-card .provider-logo {
|
||||
width: 55%;
|
||||
}
|
||||
|
||||
.smart-credit-pkg .p-3 {
|
||||
padding: 1rem!important;
|
||||
}
|
||||
|
||||
.smart-credit-pkg .pb-2, .smart-credit-pkg .py-2 {
|
||||
padding-bottom: 0.5rem!important;
|
||||
}
|
||||
|
||||
.smart-credit-pkg .p-2 {
|
||||
padding: 0.5rem!important;
|
||||
}
|
||||
|
||||
.smart-credit-pkg .pt-3, .smart-credit-pkg .py-3 {
|
||||
padding-top: 1rem!important;
|
||||
}
|
||||
.smart-credit-pkg .pb-2, .smart-credit-pkg .py-2 {
|
||||
padding-bottom: 0.5rem!important;
|
||||
}
|
||||
|
||||
.smart-credit-pkg .pb-2, .smart-credit-pkg .py-2 {
|
||||
padding-bottom: 0.5rem!important;
|
||||
}
|
||||
.smart-credit-pkg .pt-2, .smart-credit-pkg .py-2 {
|
||||
padding-top: 0.5rem!important;
|
||||
}
|
||||
|
||||
.smart-credit-logo {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.smart-credit-logo img {
|
||||
width: 27%;
|
||||
margin-bottom: -12px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.smart-credit-pkg {
|
||||
width: 25%;
|
||||
padding-top: 3%;
|
||||
padding-right: 40px;
|
||||
font-family: "Lato", -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
||||
}
|
||||
|
||||
|
||||
3592
resources/css/spinner.css
vendored
Normal file
3592
resources/css/spinner.css
vendored
Normal file
File diff suppressed because one or more lines are too long
11
resources/js/Api/auth.js
vendored
Normal file
11
resources/js/Api/auth.js
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
import axiosClient from './../config/axios';
|
||||
|
||||
export default {
|
||||
login(user) {
|
||||
return axiosClient.post('/login', {
|
||||
email: user.email,
|
||||
password: user.password,
|
||||
lang: 'en'
|
||||
})
|
||||
}
|
||||
}
|
||||
39
resources/js/Api/register.js
vendored
Normal file
39
resources/js/Api/register.js
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
import axiosClient from '@/config/axios';
|
||||
|
||||
export default {
|
||||
createAccount(account) {
|
||||
return axiosClient.post('/create/account', account)
|
||||
},
|
||||
addProfile(data) {
|
||||
return axiosClient.post(`/add/profile`, data)
|
||||
},
|
||||
getUserInfo(){
|
||||
return axiosClient.get(`get-user-info`);
|
||||
},
|
||||
importCreditReportByEmail(data){
|
||||
return axiosClient.post(`import/credit-report`,data);
|
||||
},
|
||||
makePayment(data){
|
||||
return axiosClient.post(`make/payment`,data);
|
||||
},
|
||||
makePayments(data){
|
||||
return axiosClient.post(`make/payments`,data);
|
||||
},
|
||||
getSecurityQuestion(){
|
||||
return axiosClient.get(`get/security_question`);
|
||||
},
|
||||
customerCreateAndUpdate(data){
|
||||
return axiosClient.post(`create/customer`,data);
|
||||
},
|
||||
verifyProfile(data){
|
||||
return axiosClient.post(`customer/profile-verify`,data);
|
||||
},
|
||||
getIdentityQuestion(){
|
||||
return axiosClient.get(`get/identity_question`);
|
||||
},
|
||||
postIdentityQuestion(data){
|
||||
return axiosClient.post(`post/identity_question`,data);
|
||||
},
|
||||
|
||||
}
|
||||
|
||||
77
resources/js/Validation/useFormValidation.js
vendored
Normal file
77
resources/js/Validation/useFormValidation.js
vendored
Normal file
@@ -0,0 +1,77 @@
|
||||
import { reactive } from "@vue/reactivity";
|
||||
import useValidators from './validators'
|
||||
|
||||
|
||||
const errors = reactive({});
|
||||
const errorMessage = reactive({});
|
||||
|
||||
|
||||
export default function useFormValidation() {
|
||||
|
||||
|
||||
const { isEmpty, minLength, isEmail, isNum,isInt,maxLength } = useValidators();
|
||||
|
||||
const validateNameField = (fieldName, fieldValue) => {
|
||||
errors[fieldName] = !fieldValue ? isEmpty(fieldName, fieldValue) : minLength(fieldName, fieldValue, 4)
|
||||
}
|
||||
|
||||
const validateEmailField = (fieldName, fieldValue) => {
|
||||
errors[fieldName] = !fieldValue ? isEmpty(fieldName, fieldValue) : isEmail(fieldName, fieldValue)
|
||||
}
|
||||
|
||||
const validatePhoneField = (fieldName, fieldValue) => {
|
||||
errors[fieldName] = !fieldValue ? isEmpty(fieldName, fieldValue) : isNum(fieldName, fieldValue)
|
||||
}
|
||||
|
||||
const validatePasswordField = (fieldName, fieldValue) => {
|
||||
errors[fieldName] = !fieldValue ? isEmpty(fieldName, fieldValue) : minLength(fieldName, fieldValue, 8)
|
||||
}
|
||||
|
||||
const validate = (rules,messages,fieldName, fieldValue) => {
|
||||
let container = {}
|
||||
container["required"] = isEmpty(fieldName,fieldValue)
|
||||
container["email"] = !fieldValue ? isEmpty(fieldName, fieldValue) : isEmail(fieldName, fieldValue)
|
||||
container["password"] = !fieldValue ? isEmpty(fieldName, fieldValue) : minLength(fieldName, fieldValue,6)
|
||||
container["integer"] = !fieldValue ? isEmpty(fieldName, fieldValue) : isInt(fieldName, fieldValue)
|
||||
|
||||
for (let i in rules){
|
||||
errors[fieldName] = "";
|
||||
let value = rules[i];
|
||||
if(container[value]){
|
||||
errors[fieldName] = container[value];
|
||||
break;
|
||||
}else {
|
||||
|
||||
let splited = value.split(':')
|
||||
if (splited.length == 2) {
|
||||
container[value] = dyanamicValidation(splited, fieldValue, fieldName)
|
||||
if(container[value]){
|
||||
errors[fieldName] = container[value];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
const dyanamicValidation = (splited,fieldValue,fieldName) => {
|
||||
let result = "";
|
||||
switch (splited[0]){
|
||||
case "min":
|
||||
result = !fieldValue ? isEmpty(fieldName, fieldValue) : minLength(fieldName, fieldValue,splited[1])
|
||||
break;
|
||||
case "max":
|
||||
result = !fieldValue ? isEmpty(fieldName, fieldValue) : maxLength(fieldName, fieldValue,splited[1])
|
||||
break;
|
||||
default:
|
||||
break
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
return { errors,validate}
|
||||
}
|
||||
18
resources/js/Validation/useSubmitButtonState.js
vendored
Normal file
18
resources/js/Validation/useSubmitButtonState.js
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
import { computed } from "vue";
|
||||
|
||||
export default function useSubmitButtonState(user, errors) {
|
||||
|
||||
const isButtonDisabled = computed(() => {
|
||||
let disabled = true;
|
||||
for (let prop in user) {
|
||||
if (!user[prop] || errors[prop]) {
|
||||
disabled = true;
|
||||
break;
|
||||
}
|
||||
disabled = false;
|
||||
}
|
||||
return disabled;
|
||||
});
|
||||
|
||||
return { isButtonDisabled }
|
||||
}
|
||||
32
resources/js/Validation/validators.js
vendored
Normal file
32
resources/js/Validation/validators.js
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
|
||||
export default function useValidators() {
|
||||
|
||||
const isEmpty = (fieldName, fieldValue) => {
|
||||
return !fieldValue ? `The ${fieldName} is required`:"";
|
||||
}
|
||||
|
||||
const minLength = (fieldName, fieldValue, min) => {
|
||||
return fieldValue.length < min ? `The ${fieldName} field must be at least ${min} characters long` : "";
|
||||
}
|
||||
|
||||
const maxLength = (fieldName, fieldValue, max) => {
|
||||
return fieldValue.length > max ? `The ${fieldName} cannot be greater than ${max} characters long` : "";
|
||||
}
|
||||
|
||||
const isEmail = (fieldName, fieldValue) => {
|
||||
let re = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
|
||||
return !re.test(fieldValue) ? "The input is not a valid " + fieldName + " address" : "";
|
||||
}
|
||||
|
||||
const isNum = (fieldName, fieldValue) => {
|
||||
let isNum = /^\d+$/.test(fieldValue);
|
||||
return !isNum ? "The " + fieldName + " field only have numbers" : "";
|
||||
}
|
||||
|
||||
const isInt = (fieldName, fieldValue) => {
|
||||
let test = /^\d+$/.test(fieldValue);
|
||||
return !test ? "The " + fieldName + " must be integer" : "";
|
||||
}
|
||||
|
||||
return { isEmpty, minLength, isEmail, isNum,isInt,maxLength}
|
||||
}
|
||||
53
resources/js/app.js
vendored
Normal file
53
resources/js/app.js
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
require('./bootstrap');
|
||||
import { createApp } from 'vue'
|
||||
import App from "./components/App";
|
||||
import '../css/loader.css'
|
||||
import '../css/spinner.css'
|
||||
import '../css/register.css'
|
||||
import '../css/payment.css'
|
||||
|
||||
import VueSweetalert2 from 'vue-sweetalert2';
|
||||
import 'sweetalert2/dist/sweetalert2.min.css';
|
||||
import store from "./store";
|
||||
// routes
|
||||
import router from "./router";
|
||||
|
||||
import {setSecurityKey} from "./helper";
|
||||
|
||||
// Global component
|
||||
import AddProfile from "./components/partials/AddProfile";
|
||||
import Step from "./components/partials/step";
|
||||
import CreateAccount from "./components/partials/CreateAccount";
|
||||
import ChoosePackage from "./components/partials/ChoosePackage";
|
||||
import ValidationError from "./components/partials/ValidationError";
|
||||
import TextInput from './components/Form/TextInput';
|
||||
import SelectInput from './components/Form/SelectInput';
|
||||
import TopArea from './components/partials/TopArea';
|
||||
|
||||
|
||||
const app = createApp(App);
|
||||
|
||||
app.use(store)
|
||||
app.use(router)
|
||||
app.use(VueSweetalert2);
|
||||
//app.use(DisableAutocomplete);
|
||||
|
||||
const base_url = API_BASE_URL
|
||||
app.config.globalProperties.$base_url = base_url
|
||||
app.config.globalProperties.success_code = 100
|
||||
//app.config.globalProperties.$loader = `${base_url}/img/ajax-loader.gif`;
|
||||
app.config.globalProperties.$loader = `https://i.stack.imgur.com/FhHRx.gif`;
|
||||
|
||||
app.component('AddProfile',AddProfile);
|
||||
app.component('Step',Step);
|
||||
app.component('CreateAccount',CreateAccount);
|
||||
app.component('ChoosePackage',ChoosePackage);
|
||||
app.component('ValidationError',ValidationError);
|
||||
app.component('TextInput',TextInput);
|
||||
app.component('SelectInput',SelectInput);
|
||||
app.component('TopArea',TopArea);
|
||||
|
||||
app.mount('#app');
|
||||
|
||||
setSecurityKey(SECURITY_KEY)
|
||||
|
||||
28
resources/js/bootstrap.js
vendored
Normal file
28
resources/js/bootstrap.js
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
window._ = require('lodash');
|
||||
|
||||
/**
|
||||
* We'll load the axios HTTP library which allows us to easily issue requests
|
||||
* to our Laravel back-end. This library automatically handles sending the
|
||||
* CSRF token as a header based on the value of the "XSRF" token cookie.
|
||||
*/
|
||||
|
||||
window.axios = require('axios');
|
||||
|
||||
window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
|
||||
|
||||
/**
|
||||
* Echo exposes an expressive API for subscribing to channels and listening
|
||||
* for events that are broadcast by Laravel. Echo and event broadcasting
|
||||
* allows your team to easily build robust real-time web applications.
|
||||
*/
|
||||
|
||||
// import Echo from 'laravel-echo';
|
||||
|
||||
// window.Pusher = require('pusher-js');
|
||||
|
||||
// window.Echo = new Echo({
|
||||
// broadcaster: 'pusher',
|
||||
// key: process.env.MIX_PUSHER_APP_KEY,
|
||||
// cluster: process.env.MIX_PUSHER_APP_CLUSTER,
|
||||
// forceTLS: true
|
||||
// });
|
||||
27
resources/js/components/App.vue
Normal file
27
resources/js/components/App.vue
Normal file
@@ -0,0 +1,27 @@
|
||||
<template>
|
||||
<div>
|
||||
<div id="spinner" v-show="$store.getters['auth/getLoaderStatus']">
|
||||
<div id="loading">
|
||||
<span class="timer-loader">Loading…</span>
|
||||
</div>
|
||||
</div>
|
||||
<router-view/>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import {onMounted} from 'vue';
|
||||
import {unsetStep} from "../helper";
|
||||
|
||||
export default {
|
||||
setup() {
|
||||
onMounted(()=>{
|
||||
unsetStep();
|
||||
localStorage.clear();
|
||||
})
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
43
resources/js/components/Form/SelectInput.vue
Normal file
43
resources/js/components/Form/SelectInput.vue
Normal file
@@ -0,0 +1,43 @@
|
||||
<template>
|
||||
<div class="input-div">
|
||||
<select
|
||||
:class="className"
|
||||
@input="$emit('update:modelValue', $event.target.value)"
|
||||
v-model="input"
|
||||
@change="validateInput"
|
||||
>
|
||||
<option v-if="empty" value="" disabled>{{empty}}</option>
|
||||
<option :key="item.id" v-for="item in items" :value="item.id">{{item.value}}</option>
|
||||
</select>
|
||||
<ValidationError :msg="errors[name]"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { ref } from "vue";
|
||||
import useFormValidation from "@/Validation/useFormValidation";
|
||||
export default {
|
||||
props:{
|
||||
className:String|Object,
|
||||
placeholder:String,
|
||||
rules:Array,
|
||||
items:Array,
|
||||
empty:String
|
||||
|
||||
},
|
||||
setup(props) {
|
||||
let input = ref("");
|
||||
const name = props.placeholder
|
||||
const { validate, errors} = useFormValidation();
|
||||
const validateInput = () => {
|
||||
validate(props.rules,{},name, input.value);
|
||||
};
|
||||
|
||||
if(props.errormsg){
|
||||
errors[name] = props.errormsg
|
||||
}
|
||||
console.log("errors[name]",errors);
|
||||
return { input,name, errors, validateInput };
|
||||
},
|
||||
};
|
||||
</script>
|
||||
47
resources/js/components/Form/TextInput.vue
Normal file
47
resources/js/components/Form/TextInput.vue
Normal file
@@ -0,0 +1,47 @@
|
||||
<template>
|
||||
<div class="input-div">
|
||||
<input
|
||||
autocomplete="off"
|
||||
:class="className"
|
||||
:placeholder="placeholder"
|
||||
:type="type"
|
||||
@input="$emit('update:modelValue', $event.target.value)"
|
||||
v-model="input"
|
||||
@keyup="validateInput"
|
||||
@blur="validateInput"
|
||||
/>
|
||||
<ValidationError :backend="backend" :msg="messages"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {reactive, ref} from "vue";
|
||||
import useFormValidation from "@/Validation/useFormValidation";
|
||||
export default {
|
||||
props:{
|
||||
className:String|Object,
|
||||
placeholder:String,
|
||||
type:String,
|
||||
rules:Array,
|
||||
backend:String,
|
||||
errors:Array
|
||||
},
|
||||
setup(props) {
|
||||
let input = ref("");
|
||||
let messages = ref([])
|
||||
const name = props.placeholder
|
||||
|
||||
//const { validate, errors} = useFormValidation();
|
||||
|
||||
const validateInput = () => {
|
||||
messages.value = []
|
||||
if(props.errors[0]) {
|
||||
messages.value.push(props.errors[0])
|
||||
}
|
||||
}
|
||||
//console.log('ccc',messages)
|
||||
return { input,name,messages,validateInput };
|
||||
}
|
||||
|
||||
};
|
||||
</script>
|
||||
513
resources/js/components/partials/AddProfile.vue
Normal file
513
resources/js/components/partials/AddProfile.vue
Normal file
@@ -0,0 +1,513 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
<div class="card">
|
||||
<div class="form">
|
||||
<div class="left-side">
|
||||
<div class="left-heading">
|
||||
<h3>{{appName}}</h3>
|
||||
</div>
|
||||
<Step step="2"/>
|
||||
</div>
|
||||
<div class="right-side">
|
||||
<form @submit.prevent="makePayment" autocomplete="off"
|
||||
class="form-element was-validated form-element--login" method="post"
|
||||
novalidate="novalidate">
|
||||
<div class="main active">
|
||||
<TopArea :is_show_login="false"/>
|
||||
<div class="text">
|
||||
<h2> {{company_Name}}
|
||||
<span v-if="reportProvider==='3'"> Partnered with {{reportProviders.labels[reportProvider]}}</span>
|
||||
<span v-if="reportProvider==='1'"> Powerful Software System </span>
|
||||
</h2>
|
||||
<p>Let's start with some basic info.</p>
|
||||
</div>
|
||||
<SmartCreditLogo :package_id="formData.package_id" />
|
||||
<!-- <SmartCreditLogo :package_id="formData.package_id" v-if="reportProvider==='3'"/>-->
|
||||
<!-- <IdentityIqLogo :package_id="formData.package_id" v-if="reportProvider==='1'"/>-->
|
||||
<div class="text" v-if="isButtonDisabled">
|
||||
<p style="color:red;text-align:center">All fields are required</p>
|
||||
</div>
|
||||
<div class="text" v-if="message">
|
||||
<p style="color:red;text-align:center">{{ message[0] }}</p>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<div class="input-div">
|
||||
<p class="edit-text">
|
||||
<a href="#" @click.prevent="toggle('first_name')">Edit</a>
|
||||
</p>
|
||||
<input
|
||||
ref="first_name"
|
||||
autocomplete="off"
|
||||
:class="{'warning':v$.formData.first_name.$errors.length}"
|
||||
placeholder="First Name"
|
||||
type="text"
|
||||
v-model="formData.first_name"
|
||||
:readonly="disabled == 1"
|
||||
/>
|
||||
<ValidationError :backend="errors.first_name"
|
||||
:msg="v$.formData.first_name.$errors"/>
|
||||
</div>
|
||||
<div class="input-div">
|
||||
<p class="edit-text">
|
||||
<a href="#" @click.prevent="toggle('last_name')">Edit</a>
|
||||
</p>
|
||||
<input
|
||||
ref="last_name"
|
||||
autocomplete="off"
|
||||
:class="{'warning':v$.formData.last_name.$errors.length}"
|
||||
placeholder="Last Name"
|
||||
type="text"
|
||||
v-model="v$.formData.last_name.$model"
|
||||
:readonly="disabled == 1"
|
||||
/>
|
||||
<ValidationError :backend="errors.last_name" :msg="v$.formData.last_name.$errors"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<div class="input-div">
|
||||
<p class="edit-text">
|
||||
<a href="#" @click.prevent="toggle('email')">Edit</a>
|
||||
</p>
|
||||
<input
|
||||
ref="email"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.email}"
|
||||
placeholder="Email"
|
||||
type="text"
|
||||
v-model="v$.formData.email.$model"
|
||||
:readonly="disabled == 1"
|
||||
/>
|
||||
<ValidationError :backend="errors.email" :msg="v$.formData.email.$errors"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<div class="input-div">
|
||||
<p class="edit-text">
|
||||
<a href="#" @click.prevent="toggle('password')">Edit</a>
|
||||
</p>
|
||||
<input
|
||||
ref="password"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.password}"
|
||||
placeholder="Password"
|
||||
type="password"
|
||||
v-model="v$.formData.password.$model"
|
||||
:readonly="disabled == 1"
|
||||
/>
|
||||
<ValidationError :backend="errors.password" :msg="v$.formData.password.$errors"/>
|
||||
</div>
|
||||
<div class="input-div" style="margin-top: 20px">
|
||||
<input
|
||||
ref="phone"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.phone}"
|
||||
placeholder="Phone, e,g. 954-604-4220"
|
||||
type="text"
|
||||
v-model="v$.formData.phone.$model"
|
||||
/>
|
||||
<ValidationError :backend="errors.phone" :msg="v$.formData.phone.$errors"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<div class="input-div">
|
||||
<input
|
||||
ref="full_ssn"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.full_ssn}"
|
||||
placeholder="Last 4 digit of SSN"
|
||||
type="text"
|
||||
@keyup.prevent="ssnCompleted($event)"
|
||||
v-model="v$.formData.full_ssn.$model"
|
||||
:maxlength="min"
|
||||
/>
|
||||
<ValidationError :backend="errors.full_ssn" :msg="v$.formData.full_ssn.$errors"/>
|
||||
</div>
|
||||
<div class="input-div">
|
||||
<input
|
||||
ref="full_ssn"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.birth_date}"
|
||||
placeholder="Birth Date e.g, mm/dd/yyyy"
|
||||
type="text"
|
||||
v-model="v$.formData.birth_date.$model"
|
||||
@keyup.prevent="birthDateCompleted($event)"
|
||||
:maxlength="10"
|
||||
/>
|
||||
<ValidationError :backend="errors.birth_date" :msg="v$.formData.birth_date.$errors"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<div class="input-div">
|
||||
<input
|
||||
ref="street_no"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.street_no}"
|
||||
placeholder="Street No."
|
||||
type="text"
|
||||
v-model="v$.formData.street_no.$model"
|
||||
/>
|
||||
<ValidationError :backend="errors.street_no" :msg="v$.formData.street_no.$errors"/>
|
||||
</div>
|
||||
<div class="input-div">
|
||||
<input
|
||||
ref="street_name"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.street_name}"
|
||||
placeholder="Street Name"
|
||||
type="text"
|
||||
v-model="v$.formData.street_name.$model"
|
||||
|
||||
/>
|
||||
<ValidationError :backend="errors.street_name"
|
||||
:msg="v$.formData.street_name.$errors"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<div class="input-div">
|
||||
<input
|
||||
ref="city"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.city}"
|
||||
placeholder="City"
|
||||
type="text"
|
||||
v-model="v$.formData.city.$model"
|
||||
/>
|
||||
<ValidationError :backend="errors.city" :msg="v$.formData.city.$errors"/>
|
||||
</div>
|
||||
<div class="input-div">
|
||||
<select ref="state" v-model="v$.formData.state.$model" >
|
||||
<option value="">Please select state</option>
|
||||
<option :key="item.id" v-for="item in stateList" :value="item.id">
|
||||
{{ item.value }}
|
||||
</option>
|
||||
</select>
|
||||
<ValidationError :backend="errors.state" :msg="v$.formData.state.$errors"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<div class="input-div">
|
||||
|
||||
<input
|
||||
ref="zip_code"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.zip_code}"
|
||||
placeholder="Zip Code"
|
||||
type="text"
|
||||
v-model="v$.formData.zip_code.$model"
|
||||
|
||||
/>
|
||||
<ValidationError :backend="errors.zip_code" :msg="v$.formData.zip_code.$errors"/>
|
||||
</div>
|
||||
<div class="input-div">
|
||||
<input
|
||||
ref="ssn"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.ssn}"
|
||||
placeholder="Last 4 digit of SSN"
|
||||
type="text"
|
||||
v-model="v$.formData.ssn.$model"
|
||||
:maxlength="4"
|
||||
@keyup.prevent="ssnCompleted($event)"
|
||||
/>
|
||||
<ValidationError :backend="errors.ssn" :msg="v$.formData.ssn.$errors"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-text" >
|
||||
<div class="input-div buttons" style="text-align: left">
|
||||
<button type="button" value="Back" class="back_button" @click.prevent="backToProfile" >
|
||||
Back
|
||||
</button>
|
||||
</div>
|
||||
<div class="input-div buttons" style="text-align: left">
|
||||
<button :disabled="v$.formData.$invalid" type="submit" value="Next" class="next_button" >
|
||||
Next Step
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<SmartCreditPkg :package_id="formData.package_id" v-if="reportProvider === '3'" />
|
||||
|
||||
<IdentityIQPkg :package_id="formData.package_id" v-if="reportProvider === '1'" />
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<PaymentModal @close="closeModal" :data="prepareformData" v-if="isModalVisible" />
|
||||
|
||||
<modal :questionAnswer="questionList" v-if="isQuestionModalVisible && reportProvider === '3' " />
|
||||
</div>
|
||||
<Footer/>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import useVuelidate from '@vuelidate/core'
|
||||
import {required, email, integer,minLength} from '@vuelidate/validators'
|
||||
import register from "./../../Api/register";
|
||||
import {
|
||||
getFormData,
|
||||
setCustomerToken,
|
||||
setFormData,
|
||||
setReferenceNumber,
|
||||
setStep,
|
||||
setTrackingToken,
|
||||
getLocalStorage,
|
||||
setLocalStorage,
|
||||
unsetLocalStorage
|
||||
} from "../../helper";
|
||||
import router from "../../router";
|
||||
import state from "../../helper/state";
|
||||
import pkg from "../../helper/package";
|
||||
import SmartCreditLogo from "./SmartCreditLogo";
|
||||
import SmartCreditPkg from "./SmartCreditPkg";
|
||||
import modal from "./modal";
|
||||
import PaymentModal from "./PaymentModal.vue";
|
||||
import store from "../../store";
|
||||
import Footer from "./Footer.vue";
|
||||
import IdentityIQPkg from "./IdentityIQPkg";
|
||||
import reportProviders from "../../helper/report_provider"
|
||||
import IdentityIqLogo from "./IdentityIqLogo.vue";
|
||||
|
||||
export default {
|
||||
components: {IdentityIqLogo, SmartCreditPkg, SmartCreditLogo,PaymentModal,modal,Footer,IdentityIQPkg },
|
||||
setup() {
|
||||
return {v$: useVuelidate()}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
reportProvider: REPORT_PROVIDER,
|
||||
prepareformData:{},
|
||||
formData: {
|
||||
full_name:"",
|
||||
first_name: "",
|
||||
last_name: "",
|
||||
email: "",
|
||||
password: "",
|
||||
street_no: "",
|
||||
street_name: "",
|
||||
city: "",
|
||||
ssn: "",
|
||||
state: "",
|
||||
zip_code: "",
|
||||
phone: "",
|
||||
full_ssn:"",
|
||||
package_id: 0,
|
||||
birth_date:"",
|
||||
amount:0,
|
||||
question_id:"",
|
||||
answer:"",
|
||||
address:"",
|
||||
card_number:"",
|
||||
expiry:"",
|
||||
cvv_no:"",
|
||||
is_authorized:false,
|
||||
is_free:IS_FREE,
|
||||
},
|
||||
stateList: state,
|
||||
errors:{},
|
||||
message: [
|
||||
"All fields are required"
|
||||
],
|
||||
isButtonDisabled:false,
|
||||
disabled: 1,
|
||||
package: pkg,
|
||||
reportProviders:reportProviders,
|
||||
value: null,
|
||||
roleOptions:[],
|
||||
isOpen: false,
|
||||
min:4,
|
||||
isModalVisible: false,
|
||||
isQuestionModalVisible:false,
|
||||
questionList:null,
|
||||
appName : APP_NAME,
|
||||
company_Name:COMPANY_NAME
|
||||
}
|
||||
},
|
||||
async mounted() {
|
||||
const userData = JSON.parse(getLocalStorage('formData')) || [];
|
||||
|
||||
this.formData.first_name = userData.first_name;
|
||||
this.formData.last_name = userData.last_name;
|
||||
this.formData.email = userData.email;
|
||||
this.formData.password = userData.password;
|
||||
this.formData.package_id = userData.package_id;
|
||||
this.formData.amount = userData.amount;
|
||||
this.formData.street_no= userData.street_no;
|
||||
this.formData.street_name=userData.street_name;
|
||||
this.formData.city=userData.city;
|
||||
this.formData.ssn=userData.ssn;
|
||||
this.formData.full_ssn= userData.full_ssn;
|
||||
this.formData.state=userData.state??'';
|
||||
this.formData.zip_code=userData.zip_code;
|
||||
this.formData.phone=userData.phone;
|
||||
this.formData.package_id=2;
|
||||
this.formData.birth_date=userData.birth_date;
|
||||
this.formData.amount = pkg.prices[this.formData.package_id];
|
||||
},
|
||||
methods: {
|
||||
async makePayment() {
|
||||
|
||||
if(this.formData.is_free === "1") {
|
||||
const data = await register.customerCreateAndUpdate(this.formData);
|
||||
if (data.status_code == "100") {
|
||||
unsetLocalStorage('formData');
|
||||
setStep(6);
|
||||
router.push({name: "success"});
|
||||
}else{
|
||||
this.message = [data.message];
|
||||
this.errors = data.data
|
||||
}
|
||||
|
||||
}else {
|
||||
|
||||
const data = await register.verifyProfile(this.formData);
|
||||
if (data.status_code == "100") {
|
||||
|
||||
this.formData.full_name = this.formData.first_name + ' ' + this.formData.last_name;
|
||||
this.formData.address = this.formData.street_no + ' ' + this.formData.street_name;
|
||||
this.prepareformData = this.formData;
|
||||
setLocalStorage('formData', JSON.stringify(this.formData));
|
||||
this.errors = {};
|
||||
this.showModal();
|
||||
|
||||
}else{
|
||||
this.message = [data.message];
|
||||
this.errors = data.data
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
},
|
||||
toggle: function (refId) {
|
||||
let attribute = "readonly"
|
||||
if (refId === "state") {
|
||||
attribute = "disabled"
|
||||
}
|
||||
this.$refs[refId].toggleAttribute(attribute)
|
||||
},
|
||||
backToProfile:function (){
|
||||
setStep(1);
|
||||
router.push({name: 'create-account'});
|
||||
},
|
||||
checkTermsAndService(e){
|
||||
if(e.target.checked){
|
||||
this.formData.is_authorized=e.target.checked;
|
||||
}
|
||||
else {
|
||||
this.formData.is_authorized=null;
|
||||
}
|
||||
},
|
||||
ssnCompleted(e) {
|
||||
// if(this.formData.full_ssn.length === 3 || this.formData.full_ssn.length === 6) {
|
||||
// this.formData.full_ssn += '-';
|
||||
// }
|
||||
// if(this.formData.full_ssn.length === 11){
|
||||
// this.formData.ssn = this.formData.full_ssn.substring( 7, 11 );
|
||||
// }
|
||||
|
||||
if(this.formData.full_ssn.length === 4){
|
||||
this.formData.ssn = this.formData.full_ssn;
|
||||
}
|
||||
},
|
||||
birthDateCompleted(e) {
|
||||
if(this.formData.birth_date.length===2 || this.formData.birth_date.length===5){
|
||||
this.formData.birth_date+='/';
|
||||
}
|
||||
},
|
||||
showModal() {
|
||||
this.isModalVisible = true;
|
||||
},
|
||||
closeModal(data) {
|
||||
this.isModalVisible = false;
|
||||
if(typeof(data.order_id) !== "undefined") {
|
||||
this.showQuestionModal(data);
|
||||
}
|
||||
|
||||
},
|
||||
showQuestionModal(data)
|
||||
{
|
||||
this.questionList = data;
|
||||
this.isQuestionModalVisible = true;
|
||||
},
|
||||
closeQuestionModal()
|
||||
{
|
||||
this.isQuestionModalVisible = false;
|
||||
}
|
||||
},
|
||||
validations() {
|
||||
return {
|
||||
formData: {
|
||||
first_name: {required},
|
||||
last_name: {required},
|
||||
email: {required, email},
|
||||
password: {required},
|
||||
street_no: {required},
|
||||
street_name: {required},
|
||||
city: {required},
|
||||
ssn: {required,minLength:minLength(4)},
|
||||
state: {required},
|
||||
zip_code: {required},
|
||||
phone: {required},
|
||||
full_ssn: {required,minLength:minLength(this.min)},
|
||||
birth_date: {required},
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.container .card {
|
||||
width: 1300px;
|
||||
}
|
||||
|
||||
.input-text {
|
||||
margin: 15px 0;
|
||||
display: flex;
|
||||
gap: 20px;
|
||||
}
|
||||
|
||||
.container .card .form {
|
||||
background-image: unset;
|
||||
}
|
||||
|
||||
.container .card .left-side {
|
||||
width: 25%;
|
||||
background-image: -webkit-linear-gradient(-90deg, #54c7dc 0%, #4361c2 100%);
|
||||
}
|
||||
|
||||
.container .card .right-side {
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
@media (max-width: 750px) {
|
||||
.container .card .right-side {
|
||||
width: 100%;
|
||||
border-bottom-left-radius: 20px !important;
|
||||
border-top-right-radius: 0px !important;
|
||||
}
|
||||
.container .card .left-side {
|
||||
display: block;
|
||||
width: 100%;
|
||||
border-top-left-radius: 20px !important;
|
||||
border-top-right-radius: 20px !important;
|
||||
border-bottom-left-radius: 0px !important;
|
||||
border-bottom-right-radius: 0px !important;
|
||||
}
|
||||
.container .card .form {
|
||||
display: block;
|
||||
}
|
||||
.smart-credit-pkg {
|
||||
width: 100%;
|
||||
padding-top: 1%;
|
||||
padding-right: 0px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
</style>
|
||||
152
resources/js/components/partials/ChoosePackage.vue
Normal file
152
resources/js/components/partials/ChoosePackage.vue
Normal file
@@ -0,0 +1,152 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
<div class="card">
|
||||
<div class="form">
|
||||
<div class="left-side">
|
||||
<div class="left-heading">
|
||||
<h3>Creditzombies</h3>
|
||||
</div>
|
||||
<Step step="3"/>
|
||||
</div>
|
||||
<div class="right-side">
|
||||
<div class="main active" style="padding: 30px 40px 0px 20px">
|
||||
<TopArea/>
|
||||
</div>
|
||||
<div class="row" style="padding:10px 20px">
|
||||
<div class="col-xs-12 col-sm-12 col-md-4 col-lg-4">
|
||||
<div @click="getPackage(1)" class="listing listing-radius listing-primary package-1" :class="{'listing-highlight':is_highlight1}">
|
||||
<div class="shape">
|
||||
<div class="shape-text">Best offer</div>
|
||||
</div>
|
||||
<div class="listing-content">
|
||||
<h3 class="lead text-white text-bold">SmartCredit</h3>
|
||||
<p class="text-white text-bold">${{ package.prices[1] }} (Basic)</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-12 col-md-4 col-lg-4">
|
||||
<div @mouseover="toggleClassForPackage" @click="getPackage(2)" class="listing listing-radius listing-success">
|
||||
<div class="shape">
|
||||
<div class="shape-text">50%</div>
|
||||
</div>
|
||||
<div class="listing-content">
|
||||
<h3 class="lead text-success text-bold">SmartCredit</h3>
|
||||
<p class="text-success text-bold">${{ package.prices[2] }} (Premium)</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-12 col-md-4 col-lg-4">
|
||||
<div @mouseover="toggleClassForPackage" @click="getPackage(3)" class="listing listing-danger listing-radius">
|
||||
<div class="shape">
|
||||
<div class="shape-text">hot</div>
|
||||
</div>
|
||||
<div class="listing-content">
|
||||
<h3 class="lead text-danger text-bold">Identity IQ</h3>
|
||||
<p class="text-danger text-bold">Unavailable at this time
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
<script>
|
||||
import pkg from "../../helper/package";
|
||||
import {setAmount, setPackageId, setStep} from "../../helper";
|
||||
import router from "../../router";
|
||||
|
||||
export default {
|
||||
setup() {
|
||||
},
|
||||
data(){
|
||||
return {
|
||||
package:pkg,
|
||||
is_highlight1:true
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
toggleClassForPackage(){
|
||||
this.is_highlight1 = false
|
||||
},
|
||||
conditionalAlert(message,package_id){
|
||||
this.$swal({
|
||||
title: 'Warning',
|
||||
text: message,
|
||||
icon: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: 'Yes'
|
||||
}).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
setStep(5);
|
||||
setPackageId(package_id)
|
||||
setAmount(this.package.prices[package_id])
|
||||
router.push({name: 'make-payment'})
|
||||
}
|
||||
});
|
||||
},
|
||||
getPackage(package_id) {
|
||||
if(package_id == 3){
|
||||
this.$swal(
|
||||
"Currently this package is not available",
|
||||
"",
|
||||
"warning"
|
||||
)
|
||||
}else {
|
||||
this.conditionalAlert("Are you sure want to take the $"+this.package.prices[package_id]+ ' ('+this.package.labels[package_id]+") package?", package_id);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
@import '../../../css/credit_report.css';
|
||||
|
||||
.container .card {
|
||||
height: 600px;
|
||||
}
|
||||
|
||||
.listing{
|
||||
font-family: "Lato", -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
||||
}
|
||||
.text-white{
|
||||
color: white;
|
||||
}
|
||||
.package-1{
|
||||
background-color: #FF440A;
|
||||
}
|
||||
|
||||
.listing-highlight{
|
||||
-webkit-transform: scale(1.1);
|
||||
transition: all 0.4s ease-in-out;
|
||||
}
|
||||
.package-1 .shape {
|
||||
border-style: solid;
|
||||
border-width: 0 100px 55px 0;
|
||||
float: right;
|
||||
height: 0;
|
||||
width: 0;
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
|
||||
.package-1 .shape-text {
|
||||
color: #FF440A;
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
position: relative;
|
||||
right: -45px;
|
||||
top: -2px;
|
||||
white-space: nowrap;
|
||||
transform: rotate(28deg);
|
||||
}
|
||||
|
||||
.package-1.listing-primary .shape{
|
||||
border-color: transparent #fff transparent transparent;
|
||||
}
|
||||
</style>
|
||||
240
resources/js/components/partials/CreateAccount.vue
Normal file
240
resources/js/components/partials/CreateAccount.vue
Normal file
@@ -0,0 +1,240 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
<div class="card">
|
||||
<div class="form">
|
||||
<div class="left-side">
|
||||
<div class="left-heading">
|
||||
<h3>{{appName}}</h3>
|
||||
</div>
|
||||
<Step step="1"/>
|
||||
</div>
|
||||
<div class="right-side">
|
||||
<form @submit.prevent="createAccount" autocomplete="off" class="form-element was-validated form-element--login" method="post" id="createAccountForm"
|
||||
novalidate="novalidate">
|
||||
<div class="main active">
|
||||
<TopArea/>
|
||||
<div class="text">
|
||||
<h2>Creating your account only takes a few seconds.</h2>
|
||||
<p>Let's start with some basic info.</p>
|
||||
</div>
|
||||
<div class="text" v-if="isButtonDisabled">
|
||||
<p class="error-text">All fields are required</p>
|
||||
</div>
|
||||
<div class="text" v-else-if="errorMsg.message">
|
||||
<p class="error-text">{{errorMsg.message[0]}}</p>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<input
|
||||
type="text"
|
||||
placeholder="First Name"
|
||||
name="first_name"
|
||||
:backend="errors.first_name"
|
||||
:errors="v$.formData.first_name.$errors"
|
||||
v-model="formData.first_name"
|
||||
:rules="['required']"
|
||||
:className="{'warning':errors.first_name}"
|
||||
/>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="Last Name"
|
||||
name="last_name"
|
||||
:backend="errors.last_name"
|
||||
v-model="formData.last_name"
|
||||
:errors="v$.formData.last_name.$errors"
|
||||
:rules="['required']"
|
||||
:className="{'warning':errors.last_name}"
|
||||
/>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<input
|
||||
type="text"
|
||||
placeholder="Email"
|
||||
v-model="formData.email"
|
||||
:errors="v$.formData.email.$errors"
|
||||
:rules="['required','email']"
|
||||
:className="{'warning':errors.email}"
|
||||
/>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<input
|
||||
type="password"
|
||||
placeholder="Password"
|
||||
:backend="errors.password"
|
||||
v-model="formData.password"
|
||||
:errors="v$.formData.password.$errors"
|
||||
:rules="['required','password']"
|
||||
:className="{'warning':errors.password}"
|
||||
/>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<VueRecaptcha
|
||||
:sitekey="siteKey"
|
||||
:load-recaptcha-script="true"
|
||||
@verify="handleSuccess"
|
||||
@error="handleError"
|
||||
/>
|
||||
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<input type="checkbox" v-model="formData.is_click_acknowledge" @change.prevent="checkClickAcknowledge($event)">
|
||||
<span style="font-weight:bold;color:purple;font-size: 12px;margin-top:5px">
|
||||
By clicking on the "Next " button on the left, I acknowledge that I have read the Service Agreement, <a href="/terms-of-service" target="_blank">Terms of Use</a> and <a href="/terms-of-service" target="_blank">Privacy Policy</a> , and that I agree to their terms.
|
||||
</span>
|
||||
</div>
|
||||
<div class="buttons">
|
||||
<button :disabled="v$.formData.$invalid" type="submit" value="Next" class="next_button">Next Step</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<Footer/>
|
||||
</template>
|
||||
<script>
|
||||
import register from "@/Api/register";
|
||||
import {
|
||||
setStep,
|
||||
setUserEmail,
|
||||
setUserId,
|
||||
setSecurityKey,
|
||||
setPackageId,
|
||||
setAmount,
|
||||
setUserLastName,
|
||||
getPackageId,
|
||||
setUserFirstName,
|
||||
setUserPassword,
|
||||
getUserFirstName,
|
||||
getUserLastName,
|
||||
getUserPassword,
|
||||
getUserEmail,
|
||||
getUserId, getLocalStorage,setLocalStorage
|
||||
} from "../../helper";
|
||||
import router from "../../router";
|
||||
import { VueRecaptcha } from 'vue-recaptcha';
|
||||
import useVuelidate from '@vuelidate/core'
|
||||
import { required, email } from '@vuelidate/validators'
|
||||
import { GOOGLE_CAPTCHA_SITEKEY } from "../../config/constants";
|
||||
import pkg from "../../helper/package";
|
||||
import Footer from "./Footer.vue";
|
||||
|
||||
export default {
|
||||
components: {VueRecaptcha,Footer},
|
||||
setup() {
|
||||
return {v$: useVuelidate()};
|
||||
},
|
||||
data(){
|
||||
return {
|
||||
formData:{
|
||||
first_name: "",
|
||||
last_name: "",
|
||||
email: "",
|
||||
password: "",
|
||||
captcha:"",
|
||||
is_click_acknowledge:null,
|
||||
is_free:IS_FREE,
|
||||
},
|
||||
siteKey:GOOGLE_CAPTCHA_SITEKEY,
|
||||
message:"",
|
||||
errors:{},
|
||||
errorMsg:{},
|
||||
isButtonDisabled:true,
|
||||
package:pkg,
|
||||
appName : APP_NAME
|
||||
}
|
||||
},
|
||||
async mounted() {
|
||||
const userData = JSON.parse(getLocalStorage('formData'))|| [];
|
||||
this.formData.first_name = userData.first_name;
|
||||
this.formData.last_name = userData.last_name;
|
||||
this.formData.email = userData.email;
|
||||
this.formData.password = userData.password
|
||||
},
|
||||
|
||||
methods:{
|
||||
|
||||
handleSuccess(response){
|
||||
if(response) {
|
||||
this.formData.captcha = response;
|
||||
}
|
||||
},
|
||||
handleError(){
|
||||
this.formData.captcha = "";
|
||||
},
|
||||
async createAccount(){
|
||||
this.formData.is_free = IS_FREE;
|
||||
const result = await register.createAccount(this.formData);
|
||||
this.errors = {};
|
||||
this.errorMsg = {};
|
||||
if (result.status_code == 100) {
|
||||
setLocalStorage('formData', JSON.stringify(this.formData));
|
||||
setStep(2);
|
||||
router.push({name: 'add-profile'});
|
||||
} else {
|
||||
this.errors = result.data
|
||||
|
||||
if(result.status_code == 400)
|
||||
{
|
||||
this.errorMsg.message = [result.message];
|
||||
}else {
|
||||
if (this.errors?.email) {
|
||||
this.errorMsg.message = this.errors?.email;
|
||||
}else if (this.errors?.password) {
|
||||
this.errorMsg.message = this.errors?.password;
|
||||
} else {
|
||||
this.errorMsg.message = this.errors?.captcha;
|
||||
}
|
||||
}
|
||||
if (this.errorMsg.message){
|
||||
this.isButtonDisabled = false
|
||||
}
|
||||
}
|
||||
},
|
||||
checkClickAcknowledge(e){
|
||||
if(e.target.checked){
|
||||
this.formData.is_click_acknowledge=e.target.checked;
|
||||
}
|
||||
else {
|
||||
this.formData.is_click_acknowledge=null;
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
validations () {
|
||||
this.errors = {};
|
||||
return {
|
||||
formData: {
|
||||
first_name: {required},
|
||||
last_name: {required},
|
||||
email:{required,email},
|
||||
password:{required},
|
||||
is_click_acknowledge:{required}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
@media (max-width: 750px) {
|
||||
.container .card .right-side {
|
||||
width: 100%;
|
||||
border-radius: 0 !important;
|
||||
}
|
||||
.container .card .left-side {
|
||||
display: block;
|
||||
width: 100%;
|
||||
border-radius: 0 !important;
|
||||
}
|
||||
.container .card .form {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
.error-text {
|
||||
color: red;
|
||||
text-align: center
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
213
resources/js/components/partials/CreateCreditReportAccount.vue
Normal file
213
resources/js/components/partials/CreateCreditReportAccount.vue
Normal file
@@ -0,0 +1,213 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
<div class="card">
|
||||
<div class="form">
|
||||
<div class="left-side">
|
||||
<div class="left-heading">
|
||||
<h3>Creditzombies</h3>
|
||||
</div>
|
||||
<Step step="3"/>
|
||||
</div>
|
||||
<div class="right-side">
|
||||
<form @submit.prevent autocomplete="off" class="form-element was-validated form-element--login" method="post"
|
||||
novalidate="novalidate">
|
||||
<div class="main active">
|
||||
<TopArea/>
|
||||
<div class="text">
|
||||
<h2>Please input your smart credit email and password</h2>
|
||||
<p>Let's start with some basic info.</p>
|
||||
</div>
|
||||
<div class="text" v-if="isButtonDisabled">
|
||||
<p style="color:red;text-align:center">All fields are required</p>
|
||||
</div>
|
||||
<div class="text" v-if="errorMsg.message">
|
||||
<p style="color:red;text-align:center">{{errorMsg.message[0]}}</p>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<div class="input-div">
|
||||
<p class="edit-text">
|
||||
<a href="#" @click.prevent="editable('fname')">Edit</a>
|
||||
</p>
|
||||
<input
|
||||
:readonly="inputReadOnly.fname"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.first_name}"
|
||||
placeholder="First Name"
|
||||
type="text"
|
||||
v-model="formData.first_name"
|
||||
@keyup="validateInput"
|
||||
@blur="validateInput"
|
||||
/>
|
||||
<ValidationError :msg="errors.first_name"/>
|
||||
</div>
|
||||
<div class="input-div">
|
||||
<p class="edit-text">
|
||||
<a href="#" @click.prevent="editable('lname')">Edit</a>
|
||||
</p>
|
||||
<input
|
||||
:readonly="inputReadOnly.lname"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.last_name}"
|
||||
placeholder="Last Name"
|
||||
type="text"
|
||||
v-model="formData.last_name"
|
||||
@keyup="validateInput"
|
||||
@blur="validateInput"
|
||||
/>
|
||||
<ValidationError :msg="errors.last_name"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<div class="input-div">
|
||||
<p class="edit-text">
|
||||
<a href="#" @click.prevent="editable('email')">Edit</a>
|
||||
</p>
|
||||
<input
|
||||
:readonly="inputReadOnly.email"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.email}"
|
||||
placeholder="Email"
|
||||
type="text"
|
||||
v-model="formData.email"
|
||||
@keyup="validateInput"
|
||||
@blur="validateInput"
|
||||
/>
|
||||
<ValidationError :msg="errors.email"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<div class="input-div">
|
||||
<input
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.password}"
|
||||
placeholder="Password"
|
||||
type="password"
|
||||
v-model="formData.password"
|
||||
@keyup="validateInput"
|
||||
@blur="validateInput"
|
||||
/>
|
||||
<ValidationError :msg="errors.password"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="buttons" style="text-align: center">
|
||||
<button :disabled="isButtonDisabled" @click="importCreditReport" type="button" value="Next" class="next_button">Import Credit Report</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import useFormValidation from "@/Validation/useFormValidation";
|
||||
import useSubmitButtonState from "@/Validation/useSubmitButtonState";
|
||||
import register from "@/Api/register";
|
||||
import {inject, onMounted, reactive, ref} from "vue";
|
||||
import state from "../../helper/state";
|
||||
import {getPackageId, getUserEmail, getUserId, setStep} from "../../helper";
|
||||
import router from "../../router";
|
||||
|
||||
export default {
|
||||
setup() {
|
||||
|
||||
const swal = inject('$swal');
|
||||
let formData = ref({
|
||||
"first_name": "",
|
||||
"last_name": "",
|
||||
"email": "",
|
||||
"password": ""
|
||||
})
|
||||
|
||||
let inputReadOnly = ref({
|
||||
"fname":true,
|
||||
"lname":true,
|
||||
"email":true
|
||||
})
|
||||
const stateList = state;
|
||||
|
||||
const errorMsg = reactive({
|
||||
"message":""
|
||||
})
|
||||
let success = {}
|
||||
|
||||
let {errors} = useFormValidation();
|
||||
// let {isButtonDisabled} = useSubmitButtonState(formData, errors);
|
||||
let isButtonDisabled = ref(true)
|
||||
const validateInput = () =>{
|
||||
let f = formData.value;
|
||||
let count = 0;
|
||||
isButtonDisabled.value = true
|
||||
if(f.first_name){
|
||||
count++
|
||||
}
|
||||
|
||||
if(f.last_name){
|
||||
count++
|
||||
}
|
||||
|
||||
if(f.email){
|
||||
count++
|
||||
}
|
||||
|
||||
if(f.password){
|
||||
count++
|
||||
}
|
||||
|
||||
if(count == 4){
|
||||
isButtonDisabled.value = false
|
||||
}
|
||||
|
||||
}
|
||||
const editable = (value) =>{
|
||||
inputReadOnly.value[value] = !inputReadOnly.value[value]
|
||||
}
|
||||
const importCreditReport = async () => {
|
||||
if(isButtonDisabled){
|
||||
const params = {
|
||||
"email":formData.value.email,
|
||||
"password":formData.value.password,
|
||||
"package_id":getPackageId(),
|
||||
"user_id":getUserId()
|
||||
}
|
||||
const response = await register.importCreditReportByEmail(params)
|
||||
if(response.status_code == 100){
|
||||
router.push({name:"success"})
|
||||
}else{
|
||||
swal(
|
||||
response.message,
|
||||
"",
|
||||
"warning"
|
||||
)
|
||||
}
|
||||
console.log('response',response)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
console.log('errors',errors,isButtonDisabled)
|
||||
|
||||
onMounted(async ()=>{
|
||||
let email = getUserEmail()
|
||||
const userInfo = await register.getUserInfo()
|
||||
if(userInfo.status_code == 100){
|
||||
formData.value = userInfo.data
|
||||
}
|
||||
})
|
||||
console.log('count',isButtonDisabled)
|
||||
console.log('userInfo',formData)
|
||||
return {validateInput,editable,inputReadOnly, formData,errors,importCreditReport, isButtonDisabled,stateList,errorMsg };
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
.next_button{
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
.container .card {
|
||||
height: 550px;
|
||||
}
|
||||
</style>
|
||||
35
resources/js/components/partials/Footer.vue
Normal file
35
resources/js/components/partials/Footer.vue
Normal file
@@ -0,0 +1,35 @@
|
||||
<template>
|
||||
<div class="panel panel-default" style="text-align: center;padding: 10px">
|
||||
<strong>
|
||||
Secure SSL Area | This website is protected by secure portal © 2025 Clickletters LLC/M2C Academy LLC. All rights reserved.
|
||||
</strong>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
<script>
|
||||
import useVuelidate from "@vuelidate/core";
|
||||
|
||||
export default {
|
||||
|
||||
name: 'Footer',
|
||||
setup() {
|
||||
return {v$: useVuelidate()};
|
||||
},
|
||||
|
||||
data() {
|
||||
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
|
||||
methods: {
|
||||
|
||||
},
|
||||
|
||||
validations() {
|
||||
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
93
resources/js/components/partials/IdentityIQPkg.vue
Normal file
93
resources/js/components/partials/IdentityIQPkg.vue
Normal file
@@ -0,0 +1,93 @@
|
||||
<template>
|
||||
<div class="smart-credit-pkg">
|
||||
<div class="link-area">
|
||||
<a href='#' @click="goToLogin">
|
||||
Already a member? Log In
|
||||
</a>
|
||||
|
||||
</div>
|
||||
<div style="margin-top: 40%;" class="report-card p-3 report-card--best report-card__aside mt-5 report-card--info">
|
||||
<div class="report-card__header pb-3">
|
||||
<h5>
|
||||
<strong>
|
||||
<img :src="`${img_url}`" alt="SmartCredit" class="provider-logo">
|
||||
{{package.labels[package_id]}}
|
||||
</strong>
|
||||
</h5>
|
||||
</div>
|
||||
<div class="report-card__price p-2" >
|
||||
|
||||
<h4 v-if="is_free !== '1'"> ${{package.prices[package_id]}}/mo </h4>
|
||||
<h3 v-if="is_free === '1'" style="color: red"> Free Limited Time </h3>
|
||||
<span> Cancel Anytime </span>
|
||||
|
||||
</div>
|
||||
<div class="report-card__points py-2 pt-3">
|
||||
<ul class="points">
|
||||
<li>
|
||||
<i class="fas fa-check-circle"></i>
|
||||
<strong> Unlimited {{company_Name}} Challenges/Letter Attacks </strong>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="report-card__points py-2">
|
||||
<ul class="points" >
|
||||
<li v-for="subitem in reportProviders.IdentityIQPoints"><i class="fas fa-check-circle"></i> {{subitem}}</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="report-card__text py-2">
|
||||
<p>
|
||||
Includes Full 6 Wave attacks,
|
||||
that will allow you to effectively and efficiently
|
||||
challenge all inaccurate negative items
|
||||
with a click of a button in 45 seconds or less.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="report-card__action">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div v-if="is_free === '1'" style="margin-top: 100px">-->
|
||||
<!-- <img :src="`${freesignup_img_url}`" alt="SmartCredit" class="provider-logo" style="width: 350px;height: 600px">-->
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import pkg from "../../helper/package";
|
||||
import reportProviders from "../../helper/report_provider";
|
||||
import {unsetStep} from "../../helper";
|
||||
|
||||
export default {
|
||||
props:{
|
||||
package_id:{
|
||||
required:true
|
||||
},
|
||||
},
|
||||
data(){
|
||||
return {
|
||||
is_free: IS_FREE,
|
||||
package:pkg,
|
||||
app_base_url: APP_URL,
|
||||
reportProviders : reportProviders,
|
||||
img_url : APP_URL+'/images/'+APP_NAME+'_logo.png',
|
||||
company_Name:COMPANY_NAME,
|
||||
freesignup_img_url:APP_URL+'/images/'+'freesignup.png'
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async goToLogin() {
|
||||
unsetStep();
|
||||
localStorage.clear();
|
||||
window.location.href = `${this.app_base_url}/login`;
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
|
||||
@import url("./../../../css/smartcredit.css");
|
||||
|
||||
</style>
|
||||
24
resources/js/components/partials/IdentityIqLogo.vue
Normal file
24
resources/js/components/partials/IdentityIqLogo.vue
Normal file
@@ -0,0 +1,24 @@
|
||||
<template>
|
||||
<div class="smart-credit-logo">
|
||||
<img :src="`${img_url}`" class="provider-logo" alt="">
|
||||
<strong> {{ package.labels[package_id] }}</strong>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import pkg from "../../helper/package";
|
||||
export default {
|
||||
props:{
|
||||
package_id:{
|
||||
required:true
|
||||
}
|
||||
},
|
||||
data(){
|
||||
return {
|
||||
package:pkg,
|
||||
image_base_url: APP_URL,
|
||||
img_url : APP_URL+'/images/'+APP_NAME+'_logo.png',
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
471
resources/js/components/partials/MakePayment.vue
Normal file
471
resources/js/components/partials/MakePayment.vue
Normal file
@@ -0,0 +1,471 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
<div class="card">
|
||||
<div class="form">
|
||||
<div class="left-side">
|
||||
<div class="left-heading">
|
||||
<h3>Creditzombies</h3>
|
||||
</div>
|
||||
<Step step="3"/>
|
||||
</div>
|
||||
<div class="right-side">
|
||||
<form @submit.prevent="makePayment" autocomplete="off"
|
||||
class="form-element was-validated form-element--login" method="post"
|
||||
novalidate="novalidate">
|
||||
<div class="main active">
|
||||
<TopArea :is_show_login="false"/>
|
||||
<div class="text">
|
||||
<h2> Credit Zombies Partnered with SmartCredit</h2>
|
||||
<p>Let's start with some basic info.</p>
|
||||
</div>
|
||||
<SmartCreditLogo :package_id="formData.package_id" />
|
||||
<div class="text" style="margin-top: 10px" v-if="isButtonDisabled">
|
||||
<p style="color:red;text-align:center">All fields are required</p>
|
||||
</div>
|
||||
<div class="text" v-if="message">
|
||||
<p style="color:red;text-align:center">{{ message[0] }}</p>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<div class="input-div">
|
||||
<input
|
||||
ref="first_name"
|
||||
autocomplete="off"
|
||||
:class="{'warning':v$.formData.first_name.$errors.length}"
|
||||
placeholder="First Name"
|
||||
type="text"
|
||||
v-model="formData.first_name"
|
||||
:readonly="disabled == 1"
|
||||
/>
|
||||
<ValidationError :backend="errors.first_name"
|
||||
:msg="v$.formData.first_name.$errors"/>
|
||||
</div>
|
||||
<div class="input-div">
|
||||
<input
|
||||
ref="last_name"
|
||||
autocomplete="off"
|
||||
:class="{'warning':v$.formData.last_name.$errors.length}"
|
||||
placeholder="Last Name"
|
||||
type="text"
|
||||
v-model="v$.formData.last_name.$model"
|
||||
:readonly="disabled == 1"
|
||||
/>
|
||||
<ValidationError :backend="errors.last_name" :msg="v$.formData.last_name.$errors"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<div class="input-div">
|
||||
<input
|
||||
ref="email"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.email}"
|
||||
placeholder="Email"
|
||||
type="text"
|
||||
v-model="v$.formData.email.$model"
|
||||
:readonly="disabled == 1"
|
||||
/>
|
||||
<ValidationError :backend="errors.email" :msg="v$.formData.email.$errors"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<div class="input-div">
|
||||
<input
|
||||
ref="password"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.password}"
|
||||
placeholder="Password"
|
||||
type="password"
|
||||
v-model="v$.formData.password.$model"
|
||||
:readonly="disabled == 1"
|
||||
/>
|
||||
<ValidationError :backend="errors.password" :msg="v$.formData.password.$errors"/>
|
||||
</div>
|
||||
<div class="input-div" >
|
||||
<input
|
||||
ref="phone"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.phone}"
|
||||
placeholder="Phone, e,g. 954-604-4220"
|
||||
type="text"
|
||||
v-model="v$.formData.phone.$model"
|
||||
:readonly="disabled == 1"
|
||||
/>
|
||||
<ValidationError :backend="errors.phone" :msg="v$.formData.phone.$errors"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<div class="input-div">
|
||||
<input
|
||||
ref="full_ssn"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.full_ssn}"
|
||||
placeholder="Full SSN e.g, 555-55-5555"
|
||||
type="text"
|
||||
@keyup.prevent="ssnCompleted($event)"
|
||||
v-model="v$.formData.full_ssn.$model"
|
||||
:maxlength="min"
|
||||
:readonly="disabled == 1"
|
||||
/>
|
||||
<ValidationError :backend="errors.full_ssn" :msg="v$.formData.full_ssn.$errors"/>
|
||||
</div>
|
||||
<div class="input-div">
|
||||
<input
|
||||
ref="birth_date"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.birth_date}"
|
||||
placeholder="Birth Date e.g, mm/dd/yyyy"
|
||||
type="text"
|
||||
v-model="v$.formData.birth_date.$model"
|
||||
@keyup.prevent="birthDateCompleted($event)"
|
||||
:maxlength="10"
|
||||
:readonly="disabled == 1"
|
||||
/>
|
||||
<ValidationError :backend="errors.birth_date" :msg="v$.formData.birth_date.$errors"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<div class="input-div">
|
||||
<input
|
||||
ref="street_no"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.street_no}"
|
||||
placeholder="Street No."
|
||||
type="text"
|
||||
v-model="v$.formData.street_no.$model"
|
||||
:readonly="disabled == 1"
|
||||
/>
|
||||
<ValidationError :backend="errors.street_no" :msg="v$.formData.street_no.$errors"/>
|
||||
</div>
|
||||
<div class="input-div">
|
||||
<input
|
||||
ref="street_name"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.street_name}"
|
||||
placeholder="Street Name"
|
||||
type="text"
|
||||
v-model="v$.formData.street_name.$model"
|
||||
:readonly="disabled == 1"
|
||||
|
||||
/>
|
||||
<ValidationError :backend="errors.street_name"
|
||||
:msg="v$.formData.street_name.$errors"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<div class="input-div">
|
||||
<input
|
||||
ref="city"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.city}"
|
||||
placeholder="City"
|
||||
type="text"
|
||||
v-model="v$.formData.city.$model"
|
||||
:readonly="disabled == 1"
|
||||
/>
|
||||
<ValidationError :backend="errors.city" :msg="v$.formData.city.$errors"/>
|
||||
</div>
|
||||
<div class="input-div">
|
||||
<select ref="state" v-model="v$.formData.state.$model" :aria-readonly="disabled">
|
||||
<option value="">Please select state</option>
|
||||
<option :key="item.id" v-for="item in stateList" :value="item.id">
|
||||
{{ item.value }}
|
||||
</option>
|
||||
</select>
|
||||
<ValidationError :backend="errors.state" :msg="v$.formData.state.$errors"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<div class="input-div">
|
||||
<input
|
||||
ref="zip_code"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.zip_code}"
|
||||
placeholder="Zip Code"
|
||||
type="text"
|
||||
v-model="v$.formData.zip_code.$model"
|
||||
:readonly="disabled == 1"
|
||||
/>
|
||||
<ValidationError :backend="errors.zip_code" :msg="v$.formData.zip_code.$errors"/>
|
||||
</div>
|
||||
<div class="input-div">
|
||||
<input
|
||||
ref="ssn"
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.ssn}"
|
||||
placeholder="SSN"
|
||||
type="text"
|
||||
v-model="v$.formData.ssn.$model"
|
||||
:maxlength="4"
|
||||
@keyup.prevent="ssnCompleted($event)"
|
||||
:readonly="disabled == 1"
|
||||
/>
|
||||
<ValidationError :backend="errors.ssn" :msg="v$.formData.ssn.$errors"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="text">
|
||||
<p>Provide Card Information</p>
|
||||
</div>
|
||||
<div class="input-text">
|
||||
<div class="input-div">
|
||||
<input
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.card_number}"
|
||||
placeholder="Card Number"
|
||||
type="text"
|
||||
v-model="v$.formData.card_number.$model"
|
||||
/>
|
||||
<ValidationError :backend="errors.card_number"
|
||||
:msg="v$.formData.card_number.$errors"/>
|
||||
</div>
|
||||
<div class="input-div">
|
||||
<input
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.expiry}"
|
||||
placeholder="Expiry e.g mm/yy"
|
||||
type="text"
|
||||
v-model="v$.formData.expiry.$model"
|
||||
@keyup.prevent="cardExpiryCompleted($event)"
|
||||
:maxlength="5"
|
||||
/>
|
||||
<ValidationError :backend="errors.expiry" :msg="v$.formData.expiry.$errors"/>
|
||||
</div>
|
||||
<div class="input-div">
|
||||
<input
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.amount}"
|
||||
placeholder="Amount"
|
||||
type="text"
|
||||
v-model="v$.formData.amount.$model"
|
||||
disabled="disabled"
|
||||
/>
|
||||
<ValidationError :backend="errors.amount" :msg="v$.formData.amount.$errors"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-text" style="gap:5px">
|
||||
<input type="checkbox" v-model="formData.is_authorized" @change.prevent="checkTermsAndService($event)">
|
||||
<span style="font-weight:bold;color:purple;font-size: 12px;margin-top:15px">
|
||||
Yes I have read the <a href="/terms-of-service" target="_blank">SmartCredit terms of services</a> for this purchase and I totally Agree and Authorize this Charge of ${{ formData.amount }}</span>
|
||||
</div>
|
||||
<div class="input-text" >
|
||||
<div class="input-div buttons" style="text-align: center">
|
||||
<button :disabled="v$.formData.$invalid" ref="purchase-btn" type="submit" value="Next" class="next_button" >
|
||||
Purchase
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<SmartCreditPkg :package_id="formData.package_id"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import useVuelidate from '@vuelidate/core'
|
||||
import {required, email, integer,minLength} from '@vuelidate/validators'
|
||||
import register from "./../../Api/register";
|
||||
import {
|
||||
getFormData, getLocalStorage,
|
||||
getPackageId, getUserQuestionAnswer,
|
||||
setStep,
|
||||
setUserId, unsetFormData, unsetUserQuestionAnswer,unsetLocalStorage
|
||||
} from "../../helper";
|
||||
import router from "../../router";
|
||||
import state from "../../helper/state";
|
||||
import pkg from "../../helper/package";
|
||||
import SmartCreditLogo from "./SmartCreditLogo";
|
||||
import SmartCreditPkg from "./SmartCreditPkg";
|
||||
export default {
|
||||
components: {SmartCreditPkg, SmartCreditLogo },
|
||||
setup() {
|
||||
return {v$: useVuelidate()}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
is_disable:true,
|
||||
formData: {
|
||||
first_name: "",
|
||||
last_name: "",
|
||||
email: "",
|
||||
password: "",
|
||||
street_no: "",
|
||||
street_name: "",
|
||||
city: "",
|
||||
ssn: "",
|
||||
state: "",
|
||||
zip_code: "",
|
||||
phone: "",
|
||||
card_number: "",
|
||||
full_ssn:"",
|
||||
expiry: "",
|
||||
amount: "",
|
||||
package_id: 0,
|
||||
birth_date:"",
|
||||
is_authorized: null,
|
||||
// questionList:[]
|
||||
|
||||
},
|
||||
stateList: state,
|
||||
errors: {},
|
||||
message: [
|
||||
"All fields are required"
|
||||
],
|
||||
disabled: 1,
|
||||
package: pkg,
|
||||
value: null,
|
||||
roleOptions:[],
|
||||
isOpen: false,
|
||||
min:11
|
||||
}
|
||||
},
|
||||
async mounted() {
|
||||
const userData = JSON.parse(getLocalStorage('formData')) || [];
|
||||
this.formData.first_name = userData.first_name;
|
||||
this.formData.last_name = userData.last_name;
|
||||
this.formData.email = userData.email;
|
||||
this.formData.password = userData.password;
|
||||
this.formData.package_id = userData.package_id;
|
||||
this.formData.amount = userData.amount;
|
||||
this.formData.street_no= userData.street_no;
|
||||
this.formData.street_name=userData.street_name;
|
||||
this.formData.city=userData.city;
|
||||
this.formData.ssn=userData.ssn;
|
||||
this.formData.full_ssn=userData.full_ssn;
|
||||
this.formData.state=userData.state;
|
||||
this.formData.zip_code=userData.zip_code;
|
||||
this.formData.phone=userData.phone;
|
||||
this.formData.package_id=userData.package_id;
|
||||
this.formData.birth_date=userData.birth_date;
|
||||
|
||||
this.$refs['state'].toggleAttribute("disabled")
|
||||
|
||||
|
||||
},
|
||||
methods: {
|
||||
async makePayment() {
|
||||
this.$refs['purchase-btn'].toggleAttribute("disabled")
|
||||
this.errors = {};
|
||||
const data = await register.makePayment(this.formData);
|
||||
if (data.status_code == "100") {
|
||||
unsetLocalStorage('formData');
|
||||
setUserId(data.data.id);
|
||||
setStep(6);
|
||||
router.push({name: "success"});
|
||||
} else {
|
||||
this.message[0] = data.message;
|
||||
}
|
||||
},
|
||||
toggle: function (refId) {
|
||||
let attribute = "readonly"
|
||||
if (refId === "state") {
|
||||
attribute = "disabled"
|
||||
}
|
||||
this.$refs[refId].toggleAttribute(attribute)
|
||||
},
|
||||
backToProfile:function (){
|
||||
setStep(2);
|
||||
router.push({name: 'add-profile'});
|
||||
},
|
||||
checkTermsAndService(e){
|
||||
if(e.target.checked){
|
||||
this.formData.is_authorized=e.target.checked;
|
||||
}
|
||||
else {
|
||||
this.formData.is_authorized=null;
|
||||
}
|
||||
},
|
||||
ssnCompleted(e) {
|
||||
if(this.formData.full_ssn.length === 3 || this.formData.full_ssn.length === 6) {
|
||||
this.formData.full_ssn += '-';
|
||||
}
|
||||
if(this.formData.full_ssn.length === 11){
|
||||
this.formData.ssn = this.formData.full_ssn.substring( 7, 11 );
|
||||
}
|
||||
},
|
||||
birthDateCompleted(e) {
|
||||
if(this.formData.birth_date.length===2 ||this.formData.birth_date.length===5){
|
||||
this.formData.birth_date+='/';
|
||||
}
|
||||
},
|
||||
cardExpiryCompleted(e){
|
||||
if(this.formData.expiry.length===2){
|
||||
this.formData.expiry+='/';
|
||||
}
|
||||
}
|
||||
},
|
||||
validations() {
|
||||
return {
|
||||
formData: {
|
||||
first_name: {required}, // Matches this.firstName
|
||||
last_name: {required},
|
||||
email: {required, email},
|
||||
password: {required},
|
||||
card_number: {required},
|
||||
street_no: {required},
|
||||
street_name: {required},
|
||||
city: {required},
|
||||
ssn: {required,minLength:minLength(4)},
|
||||
state: {required},
|
||||
zip_code: {required},
|
||||
phone: {required},
|
||||
expiry: {required},
|
||||
amount: {required},
|
||||
full_ssn: {required,minLength:minLength(this.min)},
|
||||
birth_date: {required},
|
||||
is_authorized:{required}
|
||||
// questionList: {required}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.container .card {
|
||||
width: 1300px;
|
||||
}
|
||||
|
||||
.input-text {
|
||||
margin: 15px 0;
|
||||
display: flex;
|
||||
gap: 20px;
|
||||
}
|
||||
|
||||
.container .card .form {
|
||||
background-image: unset;
|
||||
}
|
||||
|
||||
.container .card .left-side {
|
||||
width: 25%;
|
||||
background-image: -webkit-linear-gradient(-90deg, #54c7dc 0%, #4361c2 100%);
|
||||
}
|
||||
|
||||
.container .card .right-side {
|
||||
width: 50%;
|
||||
}
|
||||
@media (max-width: 750px) {
|
||||
.container .card .right-side {
|
||||
width: 100%;
|
||||
border-bottom-left-radius: 20px !important;
|
||||
border-top-right-radius: 0px !important;
|
||||
}
|
||||
.container .card .left-side {
|
||||
display: block;
|
||||
width: 100%;
|
||||
border-top-left-radius: 20px !important;
|
||||
border-top-right-radius: 20px !important;
|
||||
border-bottom-left-radius: 0px !important;
|
||||
border-bottom-right-radius: 0px !important;
|
||||
}
|
||||
.container .card .form {
|
||||
display: block;
|
||||
}
|
||||
.smart-credit-pkg {
|
||||
width: 100%;
|
||||
padding-top: 1%;
|
||||
padding-right: 0px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
432
resources/js/components/partials/PaymentModal.vue
Normal file
432
resources/js/components/partials/PaymentModal.vue
Normal file
@@ -0,0 +1,432 @@
|
||||
<template>
|
||||
<div class="modal-backdrop" id="payment-modal-view">
|
||||
<div class="modal">
|
||||
<section class="modal-body" >
|
||||
<slot name="body">
|
||||
<form @submit.prevent="paymentFormSubmit" autocomplete="off"
|
||||
class="form-element was-validated form-element--login" method="post"
|
||||
novalidate="novalidate">
|
||||
<div class="row body" id="payment-modal">
|
||||
<div class="center">
|
||||
|
||||
<div class="payment-container">
|
||||
<div class="row">
|
||||
<div class="col-50 text" style="text-align: center;" v-if="message">
|
||||
<p style="color:red;text-align:center;margin-top: -20px">{{ message[0] }}</p>
|
||||
</div>
|
||||
<button type="button" class="close" style="width: 20px;height: 20px;"
|
||||
@click.prevent="closePaymentModal"> X
|
||||
</button>
|
||||
</div>
|
||||
<div class="row header-panel">
|
||||
<ScPartnerCzLogo/>
|
||||
</div>
|
||||
<div class="row">
|
||||
<p class="top-text">$24.97/mo Cancel Anytime</p>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-50">
|
||||
<h3 class="text-center-sm" style="padding-bottom: 10px;">Billing Information</h3>
|
||||
<label for="fname" class="text-center-sm">Customer Information</label>
|
||||
<label for="fname"><i class="fa fa-user"></i> Full Name</label>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="Full Name"
|
||||
name="firstname"
|
||||
:backend="errors.full_name"
|
||||
v-model="data.full_name"
|
||||
:rules="['required']"
|
||||
disabled
|
||||
:class="{'warning':errors.full_name}"
|
||||
/>
|
||||
<!-- <label class="text-warning" v-text="errors.full_name"></label>-->
|
||||
<!-- <ValidationError :backend="errors.full_name" :msg="v$.formData.full_name.$errors"/>-->
|
||||
<!-- <input type="text" id="fname" name="firstname" placeholder="John M. Doe">-->
|
||||
<label for="email"><i class="fa fa-envelope"></i> Email</label>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="john@example.com"
|
||||
name="email"
|
||||
:backend="errors.email"
|
||||
v-model="data.email"
|
||||
:rules="['required']"
|
||||
disabled
|
||||
:class="{'warning':errors.email}"
|
||||
/>
|
||||
<div v-if="errors.email" class="invalid-feedback">
|
||||
{{errors.email[0]}}
|
||||
</div>
|
||||
|
||||
<label for="city"><i class="fa fa-institution"></i> City</label>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="New York"
|
||||
name="city"
|
||||
:backend="errors.city"
|
||||
v-model="data.city"
|
||||
:rules="['required']"
|
||||
disabled
|
||||
:class="{'warning':errors.city}"
|
||||
/>
|
||||
<div class="row">
|
||||
<div class="col-50">
|
||||
<label for="state">State</label>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="NY"
|
||||
name="state"
|
||||
:backend="errors.state"
|
||||
v-model="data.state"
|
||||
:rules="['required']"
|
||||
disabled
|
||||
:class="{'warning':errors.state}"
|
||||
/>
|
||||
|
||||
<!-- <label class="text-warning" v-text="errors.state"></label>-->
|
||||
<!-- <ValidationError :backend="errors.state" :msg="v$.formData.state.$errors"/>-->
|
||||
<!-- <input type="text" id="state" name="state" placeholder="NY">-->
|
||||
</div>
|
||||
<div class="col-50">
|
||||
<label for="zip">Zip</label>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="10001"
|
||||
name="zip_code"
|
||||
:backend="errors.zip_code"
|
||||
v-model="data.zip_code"
|
||||
:rules="['required']"
|
||||
disabled
|
||||
:class="{'warning':errors.zip_code}"
|
||||
/>
|
||||
<!-- <ValidationError :backend="errors.state" :msg="v$.data.state.$errors"/>-->
|
||||
<!-- <input type="text" id="zip" name="zip" placeholder="10001">-->
|
||||
</div>
|
||||
</div>
|
||||
<!-- <label class="text-warning" v-text="errors.city"></label>-->
|
||||
<!-- <ValidationError :backend="errors.city" :msg="v$.formData.city.$errors"/>-->
|
||||
<!-- <input type="text" id="city" name="city" placeholder="New York">-->
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-50">
|
||||
<h3 class="text-center-sm" style="margin-bottom: 10px;">Payment</h3>
|
||||
<label for="fname" class="text-center-sm">Accepted Cards</label>
|
||||
<div class="text-center-sm" style="margin-bottom: 10px">
|
||||
<img :src="`${app_base_url}/img/card.png`"
|
||||
alt="card" class="provider-logo" style="height: 40px">
|
||||
</div>
|
||||
<label for="ccnum">Credit card number</label>
|
||||
<input
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.card_number}"
|
||||
|
||||
placeholder="e.g, 4111111111111111"
|
||||
type="text"
|
||||
v-model="data.card_number"
|
||||
/>
|
||||
<!-- <label class="text-warning" v-text="errors.card_number"></label>-->
|
||||
<div class="row">
|
||||
<div class="col-50">
|
||||
<label for="expyear">Expiry</label>
|
||||
<input
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.expiry}"
|
||||
placeholder="e.g, DD/YY"
|
||||
type="text"
|
||||
v-model="data.expiry"
|
||||
@keyup.prevent="cardExpiryCompleted($event)"
|
||||
:maxlength="5"
|
||||
/>
|
||||
</div>
|
||||
<div class="col-50">
|
||||
<label for="cvv">CVV</label>
|
||||
<input
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.cvv_no}"
|
||||
placeholder="e.g, 352"
|
||||
type="text"
|
||||
v-model="data.cvv_no"
|
||||
/>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-50">
|
||||
<label for="expmonth">Amount</label>
|
||||
<input
|
||||
autocomplete="off"
|
||||
:class="{'warning':errors.amount}"
|
||||
placeholder="amount"
|
||||
type="text"
|
||||
disabled
|
||||
v-model="data.amount"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-50">
|
||||
<p class="aggrement">
|
||||
<label class="terms-service-text">
|
||||
<input v-model="data.is_authorized" type="checkbox" @change.prevent="checkTermsAndService($event)" />
|
||||
Yes I have read the <a href="/terms-of-service" target="_blank"> <span v-if="reportProvider === '3'">SmartCredit</span> <span v-if="reportProvider === '1'">{{ company_Name }}</span> terms of services</a> for this purchase and I totally Agree and Authorize this Charge of ${{ data.amount }}
|
||||
</label>
|
||||
<span style="color:red;font-size: 12px" v-if="message">{{ message[1] }}</span>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-50 text bottom-panel">
|
||||
<button type="submit" value="Pay" class="btn btn2" style="width:unset;">Pay</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-50">
|
||||
<div class="col-50 bottom-panel">
|
||||
<img :src="`${app_base_url}/img/sequrity.png`"
|
||||
alt="security" class="provider-logo" style="height: 100px">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</slot>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
<script>
|
||||
import useVuelidate from '@vuelidate/core'
|
||||
import {required, email, integer,minLength} from '@vuelidate/validators'
|
||||
import router from "../../router";
|
||||
import register from "../../Api/register";
|
||||
import pkg from "../../helper/package";
|
||||
import {
|
||||
getFormData,
|
||||
setCustomerToken,
|
||||
setFormData,
|
||||
setReferenceNumber,
|
||||
setStep,
|
||||
setTrackingToken,
|
||||
getLocalStorage,
|
||||
setLocalStorage,
|
||||
unsetLocalStorage
|
||||
} from "../../helper";
|
||||
import SmartCreditPkgView from "./SmartCreditPkgView.vue";
|
||||
import ScPartnerCzLogo from "./sc_partner_cz_logo.vue";
|
||||
|
||||
import store from "../../store";
|
||||
export default {
|
||||
components: {SmartCreditPkgView,ScPartnerCzLogo },
|
||||
name: 'PaymentModal.vue',
|
||||
setup() {
|
||||
return {v$: useVuelidate()}
|
||||
},
|
||||
props: {
|
||||
data: {
|
||||
type: Object,
|
||||
default:{},
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
formData: {
|
||||
full_name:"",
|
||||
first_name: "",
|
||||
last_name: "",
|
||||
email: "",
|
||||
password: "",
|
||||
street_no: "",
|
||||
street_name: "",
|
||||
city: "",
|
||||
ssn: "",
|
||||
state: "",
|
||||
zip_code: "",
|
||||
phone: "",
|
||||
full_ssn:"",
|
||||
package_id: 0,
|
||||
birth_date:"",
|
||||
amount:0,
|
||||
card_number:"",
|
||||
expiry:"",
|
||||
cvv_no:"",
|
||||
address:"",
|
||||
is_authorized:null,
|
||||
is_free:5
|
||||
},
|
||||
errors:{},
|
||||
message: [""],
|
||||
isButtonDisabled:false,
|
||||
disabled: 1,
|
||||
package: pkg,
|
||||
value: null,
|
||||
roleOptions:[],
|
||||
min:4,
|
||||
app_base_url: APP_URL,
|
||||
reportProvider: REPORT_PROVIDER,
|
||||
company_Name:COMPANY_NAME
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
|
||||
methods: {
|
||||
|
||||
closePaymentModal(data){
|
||||
this.$emit('close',data);
|
||||
},
|
||||
async paymentFormSubmit() {
|
||||
this.formData = this.$props.data;
|
||||
this.v$.$validate();
|
||||
this.errors = {};
|
||||
this.formValidation();
|
||||
if(!this.v$.$invalid && this.formData.is_authorized) {
|
||||
setLocalStorage('formData', JSON.stringify(this.$props.data));
|
||||
const data = await register.customerCreateAndUpdate(this.$props.data);
|
||||
if (data.status_code == "100") {
|
||||
|
||||
if (this.reportProvider === '3') {
|
||||
|
||||
setTrackingToken(data.data.tracking_token);
|
||||
setCustomerToken(data.data.customer_token);
|
||||
setReferenceNumber(data.data.customer_token);
|
||||
setReferenceNumber(data.data.questionAnswer.idVerificationCriteria.referenceNumber);
|
||||
this.closePaymentModal(data.data.questionAnswer);
|
||||
|
||||
}else if(this.reportProvider === '1'){
|
||||
|
||||
unsetLocalStorage('formData');
|
||||
setStep(6);
|
||||
router.push({name: "success"});
|
||||
|
||||
}
|
||||
|
||||
} else {
|
||||
this.message[0] = data.message;
|
||||
this.errors = data.data;
|
||||
//this.closePaymentModal(true)
|
||||
//this.$swal(data.message);
|
||||
}
|
||||
}
|
||||
},
|
||||
showModal() {
|
||||
this.isQuestionModalVisible = true;
|
||||
},
|
||||
cardExpiryCompleted(e){
|
||||
if(this.$props.data.expiry.length===2){
|
||||
this.$props.data.expiry+='/';
|
||||
}
|
||||
},
|
||||
formValidation(){
|
||||
for (let i in this.v$.$errors){
|
||||
let key = this.v$.$errors[i].$property;
|
||||
let msg = this.v$.$errors[i].$message
|
||||
|
||||
if(key && msg){
|
||||
this.errors[key] = msg;
|
||||
}
|
||||
}
|
||||
if(!this.formData.is_authorized)
|
||||
{
|
||||
this.message[1]= 'You have to agree the terms and privacy condition.';
|
||||
|
||||
}
|
||||
},
|
||||
checkTermsAndService(e){
|
||||
if(e.target.checked){
|
||||
this.$props.data.is_authorized = e.target.checked;
|
||||
this.$props.data.is_free = 2;
|
||||
this.message[1]=null;
|
||||
}
|
||||
else {
|
||||
this.$props.data.is_authorized = null;
|
||||
}
|
||||
},
|
||||
},
|
||||
validations() {
|
||||
return {
|
||||
formData: {
|
||||
first_name: {required}, // Matches this.firstName
|
||||
last_name: {required},
|
||||
email: {required, email},
|
||||
password: {required},
|
||||
card_number: {required},
|
||||
street_no: {required},
|
||||
street_name: {required},
|
||||
city: {required},
|
||||
ssn: {required,minLength:minLength(4)},
|
||||
state: {required},
|
||||
zip_code: {required},
|
||||
phone: {required},
|
||||
amount: {required},
|
||||
full_ssn: {required,minLength:minLength(this.min)},
|
||||
birth_date: {required},
|
||||
expiry:{required},
|
||||
cvv_no:{required},
|
||||
address:{required},
|
||||
full_name:{required}
|
||||
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
|
||||
#payment-modal .smart-credit-pkg .p-3 {
|
||||
padding: 0px !important;
|
||||
}
|
||||
#payment-modal .smart-credit-pkg .p-2 {
|
||||
padding: 0px !important;
|
||||
}
|
||||
#payment-modal .terms-service-text{
|
||||
font-weight:bold;
|
||||
color:purple;
|
||||
font-size: 12px;
|
||||
margin-bottom: 5px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
#payment-modal-view .warning{
|
||||
border: 1px solid red
|
||||
}
|
||||
#payment-modal-view .text-warning{
|
||||
color: red;
|
||||
}
|
||||
|
||||
.aggrement p {
|
||||
margin: 20px;
|
||||
background-color: #eee;
|
||||
font-family: Arial,"Helvetica Neue",Helvetica,sans-serif;
|
||||
}
|
||||
.aggrement input {
|
||||
margin:0 0px 0 0;
|
||||
vertical-align: middle;
|
||||
position: relative;
|
||||
top: -1px;
|
||||
}
|
||||
|
||||
.invalid-feedback {
|
||||
width: 100%;
|
||||
margin-top: -20px;
|
||||
font-size: .875em;
|
||||
color: #dc3545;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
24
resources/js/components/partials/SmartCreditLogo.vue
Normal file
24
resources/js/components/partials/SmartCreditLogo.vue
Normal file
@@ -0,0 +1,24 @@
|
||||
<template>
|
||||
<div class="smart-credit-logo">
|
||||
<img :src="`${img_url}`" class="provider-logo" alt="">
|
||||
<strong>{{ package.labels[package_id] }}</strong>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import pkg from "../../helper/package";
|
||||
export default {
|
||||
props:{
|
||||
package_id:{
|
||||
required:true
|
||||
}
|
||||
},
|
||||
data(){
|
||||
return {
|
||||
package:pkg,
|
||||
image_base_url: APP_URL,
|
||||
img_url : APP_URL+'/images/'+APP_NAME+'_logo.png',
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
74
resources/js/components/partials/SmartCreditPkg.vue
Normal file
74
resources/js/components/partials/SmartCreditPkg.vue
Normal file
@@ -0,0 +1,74 @@
|
||||
<template>
|
||||
<div class="smart-credit-pkg">
|
||||
<div class="link-area">
|
||||
<a :href="`${app_base_url}/login`">
|
||||
Already a member? Log In
|
||||
</a>
|
||||
</div>
|
||||
<div style="margin-top: 65%;" class="report-card p-3 report-card--best report-card__aside mt-5 report-card--info">
|
||||
<div class="report-card__header pb-3">
|
||||
<h5>
|
||||
<!-- :src="`${app_base_url}/img/smartcredit_logo.png`"-->
|
||||
<strong> <img
|
||||
:src="`${img_url}`"
|
||||
alt="SmartCredit" class="provider-logo"> {{package.labels[package_id]}}</strong>
|
||||
</h5>
|
||||
</div>
|
||||
<div class="report-card__price p-2">
|
||||
<h4>${{package.prices[package_id]}}/mo</h4> <span>Cancel Anytime</span>
|
||||
</div>
|
||||
<div class="report-card__points py-2 pt-3">
|
||||
<ul class="points">
|
||||
<!-- <li><i class="fas fa-check-circle"></i> <strong>Unlimited Creditzombies-->
|
||||
<!-- Challenges</strong></li>-->
|
||||
<li><i class="fas fa-check-circle"></i> <strong>Monthly 3 Bureau Reports &
|
||||
Scores</strong></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="report-card__points py-2 ">
|
||||
<ul class="points">
|
||||
<li><i class="fas fa-check-circle"></i> Identity Theft Insurance ($1m)</li>
|
||||
<li><i class="fas fa-check-circle"></i> Credit Monitoring & Alerts (TU)</li>
|
||||
<li><i class="fas fa-check-circle"></i> ScoreTracker</li>
|
||||
<li><i class="fas fa-check-circle"></i> ScoreBuilder</li>
|
||||
<li><i class="fas fa-check-circle"></i> ScoreBoost</li>
|
||||
<li><i class="fas fa-check-circle"></i> Money Manager</li>
|
||||
<li><i class="fas fa-check-circle"></i> Smart Credit Report</li>
|
||||
<li><i class="fas fa-check-circle"></i> PrivacyMaster</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="report-card__text py-2">
|
||||
<p>Includes SmartCredit Money Manager with <strong>{{package.updateLimit[package_id]}}</strong> Transunion Report
|
||||
& Score updates in SmartCredit.</p>
|
||||
</div>
|
||||
<div class="report-card__action">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import pkg from "../../helper/package";
|
||||
export default {
|
||||
props:{
|
||||
package_id:{
|
||||
required:true
|
||||
}
|
||||
},
|
||||
data(){
|
||||
return {
|
||||
package:pkg,
|
||||
app_base_url: APP_URL,
|
||||
img_url : APP_URL+'/images/'+APP_NAME+'_logo.png',
|
||||
company_Name:COMPANY_NAME
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
|
||||
@import url("./../../../css/smartcredit.css");
|
||||
|
||||
</style>
|
||||
39
resources/js/components/partials/SmartCreditPkgView.vue
Normal file
39
resources/js/components/partials/SmartCreditPkgView.vue
Normal file
@@ -0,0 +1,39 @@
|
||||
<template>
|
||||
<div class="smart-credit-pkg">
|
||||
<div class="report-card p-3 report-card--best report-card__aside mt-5 report-card--info">
|
||||
<div class="report-card__header pb-3">
|
||||
<h5>
|
||||
<strong>
|
||||
<img :src="`${app_base_url}/img/smartcredit_logo.png`"
|
||||
alt="SmartCredit" class="provider-logo"> {{package.labels[package_id]}}
|
||||
</strong>
|
||||
</h5>
|
||||
</div>
|
||||
<div class="report-card__price p-2">
|
||||
<h4>${{package.prices[package_id]}}/mo</h4> <span>Cancel Anytime</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import pkg from "../../helper/package";
|
||||
export default {
|
||||
props:{
|
||||
package_id:{
|
||||
required:true
|
||||
}
|
||||
},
|
||||
data(){
|
||||
return {
|
||||
package:pkg,
|
||||
app_base_url: APP_URL,
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
|
||||
@import url("./../../../css/smartcredit.css");
|
||||
|
||||
</style>
|
||||
133
resources/js/components/partials/Success.vue
Normal file
133
resources/js/components/partials/Success.vue
Normal file
@@ -0,0 +1,133 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
<div class="card">
|
||||
<div class="form">
|
||||
<div class="left-side">
|
||||
<div class="left-heading">
|
||||
<h3>{{ company_Name }}</h3>
|
||||
</div>
|
||||
<div class="steps-content">
|
||||
<h3>Step <span class="step-number">3</span></h3>
|
||||
<p class="step-number-content active">Enter your personal information to get closer to
|
||||
companies.</p>
|
||||
<p class="step-number-content d-none">Get to know better by adding your diploma,certificate and
|
||||
education life.</p>
|
||||
<p class="step-number-content d-none">Help companies get to know you better by telling then about
|
||||
your past experiences.</p>
|
||||
<p class="step-number-content d-none">Add your profile picture and let companies find youy
|
||||
fast.</p>
|
||||
</div>
|
||||
<ul class="progress-bar">
|
||||
<li class="active">Create Account</li>
|
||||
<li class="active">Add Profile</li>
|
||||
<li class="active">Credit Report</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="right-side">
|
||||
<div class="main active">
|
||||
<svg class="checkmark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 52 52">
|
||||
<circle class="checkmark__circle" cx="26" cy="26" r="25" fill="none"/>
|
||||
<path class="checkmark__check" fill="none" d="M14.1 27.2l7.1 7.2 16.7-16.8"/>
|
||||
</svg>
|
||||
|
||||
<div class="text congrats" v-if="is_free !== '1'">
|
||||
<h2 style="color:purple">Congratulations!</h2>
|
||||
<p style="color:purple">Your purchase for ${{ package.prices[package_id] }}({{ package.labels[package_id] }}) went though. </p>
|
||||
<p style="color:purple">This is a reoccurring payment that you authorized.</p>
|
||||
<p style="color:purple">Important you will see a charge form <span style="font-size: large !important;"> Clickletters LLC </span> </p>
|
||||
<p style="color:purple">on your bank statement each month or until you cancel.</p>
|
||||
</div>
|
||||
<div class="text congrats" v-if="is_free === '1'">
|
||||
<h2 style="color:purple">Congratulations!</h2>
|
||||
</div>
|
||||
|
||||
<div class="input-text">
|
||||
|
||||
<div class="input-div buttons" style="text-align: center" >
|
||||
<button @click.prevent="makePayment" type="submit" value="Next" class="next_button">
|
||||
Get Started
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<Footer/>
|
||||
</template>
|
||||
<script>
|
||||
import pkg from "../../helper/package";
|
||||
import {onMounted} from 'vue';
|
||||
import {
|
||||
unsetStep,
|
||||
getPackageId,
|
||||
getUserId
|
||||
} from "../../helper";
|
||||
import register from "../../Api/register";
|
||||
import router from "../../router";
|
||||
import Footer from "./Footer.vue";
|
||||
|
||||
export default {
|
||||
components: {Footer},
|
||||
setup() {
|
||||
onMounted(()=>{
|
||||
unsetStep()
|
||||
})
|
||||
return {APP_URL};
|
||||
},
|
||||
data(){
|
||||
return {
|
||||
is_free: IS_FREE,
|
||||
package_id:0,
|
||||
package:pkg,
|
||||
app_base_url: APP_URL,
|
||||
company_Name:COMPANY_NAME
|
||||
}
|
||||
},
|
||||
async mounted() {
|
||||
this.package_id = getPackageId();
|
||||
},
|
||||
created() {
|
||||
this.fbEvents();
|
||||
},
|
||||
methods:{
|
||||
fbEvents(){
|
||||
window.fbq('init', '450475028484130');
|
||||
window.fbq('track', 'PageView');
|
||||
window.fbq('track', 'Purchase');
|
||||
},
|
||||
async makePayment() {
|
||||
localStorage.removeItem('formData');
|
||||
window.location.href = `${this.app_base_url}/login`;
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
<style scoped>
|
||||
@import '../../../css/credit_report.css';
|
||||
.container .card {
|
||||
height: 550px;
|
||||
}
|
||||
@media (max-width: 750px) {
|
||||
.container .card .right-side {
|
||||
width: 100%;
|
||||
border-bottom-left-radius: 20px !important;
|
||||
border-top-right-radius: 0px !important;
|
||||
}
|
||||
.container .card .left-side {
|
||||
display: block;
|
||||
width: 100%;
|
||||
border-top-left-radius: 20px !important;
|
||||
border-top-right-radius: 20px !important;
|
||||
border-bottom-left-radius: 0px !important;
|
||||
border-bottom-right-radius: 0px !important;
|
||||
}
|
||||
.container .card .form {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
45
resources/js/components/partials/TopArea.vue
Normal file
45
resources/js/components/partials/TopArea.vue
Normal file
@@ -0,0 +1,45 @@
|
||||
<template>
|
||||
<div class="top-area">
|
||||
<div class="img-area">
|
||||
<img class="login-logo" :src="`${img_url}`" alt="">
|
||||
</div>
|
||||
<div v-if="is_show_login" class="link-area">
|
||||
<a href="#" @click="cookiesClear">
|
||||
Already a member? Log In
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {unsetStep, unsetLocalStorage} from "../../helper";
|
||||
|
||||
export default {
|
||||
props:{
|
||||
is_show_login:{
|
||||
default:true
|
||||
}
|
||||
},
|
||||
data(){
|
||||
return {
|
||||
APP_URL : APP_URL,
|
||||
img_url : APP_URL+'/images/'+APP_NAME+'_logo.png',
|
||||
is_show_login:this.$props.is_show_login
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
cookiesClear(){
|
||||
unsetLocalStorage('formData');
|
||||
unsetLocalStorage('userQuestionAnswer');
|
||||
unsetStep();
|
||||
window.location.href = `${APP_URL}/login`;
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
.login-logo {
|
||||
width: 150px;
|
||||
height: auto;
|
||||
}
|
||||
</style>
|
||||
25
resources/js/components/partials/ValidationError.vue
Normal file
25
resources/js/components/partials/ValidationError.vue
Normal file
@@ -0,0 +1,25 @@
|
||||
<template>
|
||||
<div v-for="error of msg" :key="error.$uid" class="field-validation-error">
|
||||
<span>
|
||||
{{ error.$message }}
|
||||
</span>
|
||||
</div>
|
||||
<div v-if="backend" class="field-validation-error">
|
||||
<span>
|
||||
{{ backend[0] }}
|
||||
</span>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
name: 'Error',
|
||||
props: {
|
||||
msg: Array|String,
|
||||
backend:Array
|
||||
},
|
||||
mounted() {
|
||||
// console.log(this.props.msg)
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
266
resources/js/components/partials/modal.vue
Normal file
266
resources/js/components/partials/modal.vue
Normal file
@@ -0,0 +1,266 @@
|
||||
|
||||
<template>
|
||||
<div class="modal-backdrop">
|
||||
<div class="modal" >
|
||||
<header class="modal-header">
|
||||
<slot name="header">
|
||||
Complete The Identity Question
|
||||
</slot>
|
||||
<!-- <button type="button" class="btn-close" @click="close" > x </button>-->
|
||||
</header>
|
||||
|
||||
<section class="modal-body">
|
||||
<div class="text" style="margin-top: 10px" v-if="isButtonDisabled">
|
||||
<p style="color:red;text-align:center">All fields are required</p>
|
||||
</div>
|
||||
<div class="text" v-if="message">
|
||||
<p style="color:red;text-align:center">{{ message[0] }}</p>
|
||||
</div>
|
||||
<slot name="body">
|
||||
<fieldset class="fieldset-body">
|
||||
<legend class="label-text">Complete The Identity Questions Below<br></legend>
|
||||
<div v-for="(item,key) in questionAnswer.idVerificationCriteria">
|
||||
<div class="input-text" v-if="getQuestionCounter(key) > 0">
|
||||
<div class="input-div">
|
||||
<label class="label-text" > {{item.displayName}} </label>
|
||||
<div class="radio-text" v-for="subitem in item.choiceList.choice">
|
||||
<div class="radio">
|
||||
<label>
|
||||
<input type="radio" @change="radioButtonEvent($event,getQuestionCounter(key))" v-model="answers['answer'+getQuestionCounter(key)]" :value="{id: subitem.key, name: subitem.display}">
|
||||
{{subitem.display}}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</slot>
|
||||
</section>
|
||||
|
||||
<footer class="modal-footer">
|
||||
<!-- <div class="input-div buttons" style="text-align: left">-->
|
||||
<!-- <button type="button" value="Back" class="back_button" @click="close">-->
|
||||
<!-- Skip-->
|
||||
<!-- </button>-->
|
||||
<!-- </div>-->
|
||||
<div class="input-div buttons" style="text-align: right">
|
||||
<button :disabled="isNotValid" type="submit" value="Next" class="next_button" @click="submitQuestion" >
|
||||
Submit
|
||||
</button>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import useVuelidate from '@vuelidate/core'
|
||||
import {required} from "@vuelidate/validators";
|
||||
import {
|
||||
getCustomerToken,
|
||||
setStep,
|
||||
getTrackingToken,
|
||||
getReferenceNumber,
|
||||
unsetTrackingToken,
|
||||
unsetCustomerToken,
|
||||
unsetReferenceNumber, setUserQuestionAnswer, getLocalStorage, setLocalStorage, unsetLocalStorage
|
||||
} from "../../helper";
|
||||
import router from "../../router";
|
||||
import register from "../../Api/register";
|
||||
|
||||
export default {
|
||||
name: 'modal.vue',
|
||||
setup() {
|
||||
|
||||
return {v$: useVuelidate()}
|
||||
},
|
||||
data() {
|
||||
let finalFormData = {};
|
||||
let qa = this.questionAnswer.idVerificationCriteria;
|
||||
finalFormData['email'] = "";
|
||||
finalFormData['customerToken'] = "";
|
||||
finalFormData['trackingToken'] = "";
|
||||
finalFormData['referenceNumber'] = "";
|
||||
let totalQuestion = 0;
|
||||
let qa_assoc = {};
|
||||
for (let q in qa){
|
||||
if(this.getQuestionCounter(q) > 0) {
|
||||
// qa_assoc[q] = qa[q].displayName;
|
||||
qa_assoc[`answer${this.getQuestionCounter(q)}`] = {
|
||||
'question':qa[q].displayName,
|
||||
'answer':""
|
||||
};
|
||||
totalQuestion++;
|
||||
}
|
||||
}
|
||||
finalFormData['security_question_answer'] = qa_assoc;
|
||||
console.log('qa', 'key ', finalFormData)
|
||||
return {
|
||||
formData: finalFormData,
|
||||
answers:{},
|
||||
totalQuestion:totalQuestion,
|
||||
isNotValid:true,
|
||||
message: [
|
||||
"All fields are required"
|
||||
],
|
||||
}
|
||||
},
|
||||
props: {
|
||||
questionAnswer: {
|
||||
type: Object,
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
|
||||
|
||||
},
|
||||
|
||||
methods: {
|
||||
// close() {
|
||||
// this.$emit('close');
|
||||
// },
|
||||
radioButtonEvent(event,counter){
|
||||
this.isNotValid = true;
|
||||
if(this.totalQuestion == Object.keys(this.answers).length){
|
||||
console.log('correct')
|
||||
this.isNotValid = false;
|
||||
}
|
||||
},
|
||||
getQuestionCounter(key){
|
||||
let result = "";
|
||||
|
||||
if(key){
|
||||
result = key.replace('question','')
|
||||
}
|
||||
|
||||
return result > 0 ? result : 0;
|
||||
},
|
||||
async submitQuestion (){
|
||||
if(!this.isNotValid) {
|
||||
const userData = JSON.parse(getLocalStorage('formData')) || [];
|
||||
this.formData.email = userData.email;
|
||||
this.formData.customerToken = getCustomerToken();
|
||||
this.formData.trackingToken = getTrackingToken();
|
||||
this.formData.referenceNumber = getReferenceNumber();
|
||||
let security_question_answer = this.formData.security_question_answer
|
||||
for(let ans in this.answers){
|
||||
security_question_answer[ans].answer = this.answers[ans];
|
||||
}
|
||||
|
||||
this.formData.security_question_answer = security_question_answer;
|
||||
}
|
||||
/*console.log('dddd',this.formData);
|
||||
return false*/
|
||||
// this.formData.questionAnswer = this.questionAnswer;
|
||||
const data = await register.postIdentityQuestion(this.formData);
|
||||
if (data.status_code == "100") {
|
||||
unsetCustomerToken();
|
||||
unsetTrackingToken();
|
||||
unsetReferenceNumber();
|
||||
unsetLocalStorage('formData');
|
||||
setStep(6);
|
||||
router.push({name: "success"});
|
||||
// setLocalStorage('userQuestionAnswer', JSON.stringify(this.formData));
|
||||
// setStep(5);
|
||||
// router.push({name: "make-payment"});
|
||||
}else {
|
||||
this.message[0] = data.message;
|
||||
}
|
||||
|
||||
},
|
||||
},
|
||||
validations() {
|
||||
return {
|
||||
formData: {
|
||||
question1:{required},
|
||||
question2:{required},
|
||||
question3:{required},
|
||||
answer1:{required},
|
||||
answer2:{required},
|
||||
answer3:{required},
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
.modal-backdrop {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.modal {
|
||||
width: 650px;
|
||||
background: #FFFFFF;
|
||||
box-shadow: 2px 2px 20px 1px;
|
||||
overflow-x: auto;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
border-radius: 20px;
|
||||
}
|
||||
|
||||
.modal-header,
|
||||
.modal-footer {
|
||||
padding: 15px;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.modal-header {
|
||||
position: relative;
|
||||
border-bottom: 1px solid #eeeeee;
|
||||
color: #4AAE9B;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.modal-footer {
|
||||
border-top: 1px solid #eeeeee;
|
||||
flex-direction: column;
|
||||
justify-content: flex-end;
|
||||
margin: 0px 20px;
|
||||
}
|
||||
|
||||
.modal-body {
|
||||
position: relative;
|
||||
padding: 0px 10px 10px 10px;
|
||||
}
|
||||
|
||||
.btn-close {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
border: none;
|
||||
font-size: 20px;
|
||||
padding: 10px;
|
||||
cursor: pointer;
|
||||
font-weight: bold;
|
||||
color: #4AAE9B;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.btn-green {
|
||||
color: white;
|
||||
background: #4AAE9B;
|
||||
border: 1px solid #4AAE9B;
|
||||
border-radius: 2px;
|
||||
}
|
||||
.fieldset-body{
|
||||
height:400px;
|
||||
overflow: auto;
|
||||
padding: 0px 20px;
|
||||
border-radius: 10px;
|
||||
margin: 0px 20px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
|
||||
138
resources/js/components/partials/sc_partner_cz_logo.vue
Normal file
138
resources/js/components/partials/sc_partner_cz_logo.vue
Normal file
@@ -0,0 +1,138 @@
|
||||
<template>
|
||||
<ul class="sc-partner-cz-logo brand-list list-inline">
|
||||
<li class="brand-parent" v-if="reportProvider === '3'" >
|
||||
<a class="brand-link" href="https://www.smartcredit.com">
|
||||
<img :src="`${img_url}`" alt="SmartCredit" class="brand-logo">
|
||||
</a>
|
||||
</li>
|
||||
<li class="hidden-xs" v-if="reportProvider === '3'" ><div class="separator"></div></li>
|
||||
<li class="partner-text hidden-xs" v-if="reportProvider === '3'" ><p>Partnered<br>with</p></li>
|
||||
<li class="brand-parent cobrand-parent hidden-xs">
|
||||
<a class="brand-link" data-trigger="focus" tabindex="0" data-original-title="" title="">
|
||||
<img src="https://cdn.consumerdirect.com/live/cobrand/11885/logo-uwq6q8hx.png" alt="" class="brand-logo" data-pagespeed-url-hash="4237170943" data-pagespeed-onload="pagespeed.CriticalImages.checkImageForCriticality(this);" onload="var elem=this;if (this==window) elem=document.body;elem.setAttribute('data-pagespeed-loaded', 1)" data-pagespeed-loaded="1">
|
||||
</a>
|
||||
</li>
|
||||
<li class="partner-text hidden-xs" v-if="reportProvider === '1'" ><p> Powerful Software System </p></li>
|
||||
</ul>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "sc_partner_cz_logo",
|
||||
data(){
|
||||
return {
|
||||
reportProvider: REPORT_PROVIDER,
|
||||
image_base_url: APP_URL,
|
||||
img_url : APP_URL+'/images/'+APP_NAME+'_logo.png',
|
||||
company_Name:COMPANY_NAME
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
@media (min-width: 768px) {
|
||||
.sc-partner-cz-logo .brand-list {
|
||||
margin-left: -10px;
|
||||
}
|
||||
|
||||
.sc-partner-cz-logo .separator {
|
||||
border-right: 1px solid #ccc;
|
||||
display: inline-block;
|
||||
height: 36px;
|
||||
margin: 10px 0;
|
||||
}
|
||||
}
|
||||
|
||||
.sc-partner-cz-logo{
|
||||
display: inherit;
|
||||
list-style: none;
|
||||
margin:0 auto;
|
||||
}
|
||||
|
||||
.sc-partner-cz-logo .brand-list {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.sc-partner-cz-logo .list-inline {
|
||||
padding-left: 0;
|
||||
list-style: none;
|
||||
margin-left: -5px;
|
||||
}
|
||||
|
||||
.sc-partner-cz-logo .brand-parent {
|
||||
height: 56px;
|
||||
position: relative;
|
||||
width: 187px;
|
||||
transform-style: preserve-3d;
|
||||
}
|
||||
|
||||
.sc-partner-cz-logo .brand-link {
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
-webkit-transform: translate(0, -50%);
|
||||
-ms-transform: translate(0, -50%);
|
||||
-o-transform: translate(0, -50%);
|
||||
transform: translate(0, -50%);
|
||||
}
|
||||
|
||||
.sc-partner-cz-logo .brand-logo {
|
||||
display: inline;
|
||||
height: auto;
|
||||
width: 167px;
|
||||
}
|
||||
|
||||
.sc-partner-cz-logo.brand-list li {
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
.sc-partner-cz-logo.brand-list .partner-text {
|
||||
padding-right: 0;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.sc-partner-cz-logo.brand-list .cobrand-parent {
|
||||
padding-left: 0;
|
||||
}
|
||||
.sc-partner-cz-logo.brand-list li {
|
||||
padding: 0 10px;
|
||||
}
|
||||
.sc-partner-cz-logo .brand-parent {
|
||||
height: 56px;
|
||||
position: relative;
|
||||
width: 187px;
|
||||
transform-style: preserve-3d;
|
||||
}
|
||||
.sc-partner-cz-logo.list-inline > li {
|
||||
padding-right: 5px;
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
.sc-partner-cz-logo.brand-list .partner-text {
|
||||
padding-right: 0;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.sc-partner-cz-logo .partner-text p {
|
||||
font-family: "Open Sans", "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
|
||||
font-size: 65% !important;
|
||||
font-style: italic !important;
|
||||
line-height: 10px !important;
|
||||
margin-bottom: 0 !important;
|
||||
padding: 17px 0 !important;
|
||||
padding-right: 10px !important;
|
||||
text-align: left !important;
|
||||
}
|
||||
|
||||
.sc-partner-cz-logo.list-inline > li {
|
||||
display: inline-block;
|
||||
padding-right: 5px;
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
.sc-partner-cz-logo .separator {
|
||||
border-bottom: 1px solid #E9E9E9;
|
||||
}
|
||||
</style>
|
||||
28
resources/js/components/partials/step.vue
Normal file
28
resources/js/components/partials/step.vue
Normal file
@@ -0,0 +1,28 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="steps-content">
|
||||
<h3>Step <span v-if="step > 0" class="step-number">{{step}}</span></h3>
|
||||
<p class="step-number-content active">Enter your personal information to get closer to
|
||||
companies.</p>
|
||||
<p class="step-number-content d-none">Get to know better by adding your diploma,certificate and
|
||||
education life.</p>
|
||||
<p class="step-number-content d-none">Help companies get to know you better by telling then about
|
||||
your past experiences.</p>
|
||||
<p class="step-number-content d-none">Add your profile piccture and let companies find youy
|
||||
fast.</p>
|
||||
</div>
|
||||
<ul class="progress-bar">
|
||||
<li :class="{'active':!step || step >= 1}">Create Account</li>
|
||||
<li :class="{'active':step >= 2}">Add Profile</li>
|
||||
<li :class="{'active':step >= 3}">Credit Report</li>
|
||||
</ul>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
name: 'Step',
|
||||
props: {
|
||||
step: String
|
||||
}
|
||||
}
|
||||
</script>
|
||||
85
resources/js/config/axios.js
vendored
Normal file
85
resources/js/config/axios.js
vendored
Normal file
@@ -0,0 +1,85 @@
|
||||
import axios from "axios"
|
||||
import router from "../router";
|
||||
import store from "../store";
|
||||
import {getSecurityKey} from "../helper";
|
||||
|
||||
|
||||
const axiosClient = axios.create({
|
||||
baseURL: API_BASE_URL
|
||||
});
|
||||
|
||||
const actionScope = `loading`;
|
||||
|
||||
let requestsPending = 0;
|
||||
|
||||
const req = {
|
||||
pending: () => {
|
||||
requestsPending++;
|
||||
store.dispatch('auth/setLoader', true)
|
||||
},
|
||||
done: () => {
|
||||
requestsPending--;
|
||||
store.dispatch('auth/setLoader', false)
|
||||
}
|
||||
};
|
||||
axiosClient.interceptors.request.use(function (config) {
|
||||
req.pending();
|
||||
|
||||
const security_key = getSecurityKey();
|
||||
|
||||
if(security_key) {
|
||||
config.headers['security-key'] = security_key;
|
||||
}
|
||||
/* const token = getToken();
|
||||
|
||||
config.headers.Authorization = 'Bearer ' + token;
|
||||
config.headers['Content-Type'] = 'application/json';
|
||||
config.headers['Accept'] = 'application/json';
|
||||
config.headers['Permission-Version'] = store.getters['auth/user']?.permission_version;*/
|
||||
console.log('resquest.success', config);
|
||||
//console.log('request loader_status', store.getters['auth/getLoaderStatus']);
|
||||
|
||||
return config;
|
||||
|
||||
}, function (error) {
|
||||
req.done();
|
||||
console.log('resquest.error', error);
|
||||
return Promise.reject(error);
|
||||
});
|
||||
|
||||
axiosClient.interceptors.response.use(
|
||||
response => {
|
||||
req.done();
|
||||
console.log('response.success', response);
|
||||
console.log('response loader_status', store.getters['auth/getLoaderStatus']);
|
||||
|
||||
return response.data;
|
||||
},
|
||||
async error => {
|
||||
req.done();
|
||||
console.log('resquest.error', error);
|
||||
|
||||
var originalRequest = error.config;
|
||||
|
||||
/*if (error.response.status == 500) {
|
||||
router.push({ name: 'error-500' })
|
||||
} else if (error.response.status == 401 && !originalRequest._retry) {
|
||||
|
||||
|
||||
if (getRefreshToken()) {
|
||||
const response = await store.dispatch('auth/authenticateWithRefreshToken')
|
||||
if (isApiSuccess(response)) {
|
||||
originalRequest._retry = true;
|
||||
return axiosClient(originalRequest);
|
||||
}
|
||||
}
|
||||
|
||||
store.dispatch('auth/logout')
|
||||
router.push({ name: 'error-401' })
|
||||
}*/
|
||||
|
||||
return Promise.reject(error);
|
||||
}
|
||||
);
|
||||
|
||||
export default axiosClient
|
||||
1
resources/js/config/constants.js
vendored
Normal file
1
resources/js/config/constants.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export const GOOGLE_CAPTCHA_SITEKEY = "6Lei2nQhAAAAAChSi_OiYy63AxlI_vJKm0b-LyN3"
|
||||
368
resources/js/helper/index.js
vendored
Normal file
368
resources/js/helper/index.js
vendored
Normal file
@@ -0,0 +1,368 @@
|
||||
import Cookies from 'js-cookie'
|
||||
import state from "./state";
|
||||
|
||||
export const setCookie = (key,value) =>{
|
||||
Cookies.set(key, value);
|
||||
}
|
||||
export const getCookie = (key) =>{
|
||||
return Cookies.get(key);
|
||||
}
|
||||
export const unsetCookie = (key) =>{
|
||||
return Cookies.remove(key);
|
||||
}
|
||||
export const setLocalStorage = (key,value) =>{
|
||||
localStorage.setItem(key, value);
|
||||
}
|
||||
export const getLocalStorage = (key) =>{
|
||||
return localStorage.getItem(key);
|
||||
}
|
||||
export const unsetLocalStorage = (key) =>{
|
||||
return localStorage.removeItem(key);
|
||||
}
|
||||
|
||||
|
||||
export const getAmount = ()=> {
|
||||
return Cookies.get('amount');
|
||||
}
|
||||
|
||||
export const setAmount = (amount)=> {
|
||||
Cookies.set('amount', amount);
|
||||
}
|
||||
|
||||
export const getSecurityKey = ()=> {
|
||||
return getCookie('security_key'); //Cookies.get('security_key');
|
||||
}
|
||||
|
||||
export const setSecurityKey = (key)=> {
|
||||
setCookie('security_key',key);
|
||||
//Cookies.set('security_key', key);
|
||||
}
|
||||
|
||||
export const setPackageId = (package_id) => {
|
||||
Cookies.set('package_id', package_id);
|
||||
}
|
||||
|
||||
export const getPackageId = () => {
|
||||
//return Cookies.get('package_id');
|
||||
return 2;
|
||||
}
|
||||
|
||||
export const setStep = (step) => {
|
||||
Cookies.set('step', step);
|
||||
}
|
||||
|
||||
export const getStep = () => {
|
||||
return Cookies.get('step');
|
||||
}
|
||||
|
||||
export const setToken = (token) => {
|
||||
Cookies.set('access_token', token);
|
||||
}
|
||||
|
||||
export const unsetStep = () => {
|
||||
Cookies.remove('step');
|
||||
}
|
||||
|
||||
export const setUserId = (user_id) => {
|
||||
Cookies.set('user_id', user_id);
|
||||
}
|
||||
|
||||
export const setUserEmail = (email) => {
|
||||
Cookies.set('user_email', email);
|
||||
}
|
||||
|
||||
export const getUserId = () => {
|
||||
return Cookies.get('user_id');
|
||||
}
|
||||
|
||||
export const getUserEmail = () => {
|
||||
return Cookies.get('user_email');
|
||||
}
|
||||
|
||||
|
||||
export const setRefreshToken = (token) => {
|
||||
Cookies.set('refresh_token', token);
|
||||
}
|
||||
|
||||
export const getToken = () => {
|
||||
return Cookies.get('access_token');
|
||||
}
|
||||
|
||||
export const getRefreshToken = () => {
|
||||
return Cookies.get('refresh_token');
|
||||
}
|
||||
|
||||
export const removeToken = () => {
|
||||
Cookies.remove('access_token');
|
||||
Cookies.remove('refresh_token');
|
||||
}
|
||||
|
||||
export const isApiSuccess = (response) => {
|
||||
return response.statuscode == 100;
|
||||
}
|
||||
export const setUserFirstName = (name) => {
|
||||
Cookies.set('user_first_name', name);
|
||||
}
|
||||
export const setUserLastName = (name) => {
|
||||
Cookies.set('user_last_name', name);
|
||||
}
|
||||
export const setUserPassword = (password) => {
|
||||
Cookies.set('user_password', password);
|
||||
}
|
||||
export const setFormData = (form_data) => {
|
||||
setCookie('user_input_data',form_data)
|
||||
}
|
||||
export const getFormData = () => {
|
||||
return getCookie('user_input_data');
|
||||
}
|
||||
export const unsetFormData = () => {
|
||||
unsetCookie('user_input_data');
|
||||
}
|
||||
export const setUserQuestionAnswer = (data) => {
|
||||
setCookie('user_answer_data',data)
|
||||
}
|
||||
export const getUserQuestionAnswer = () => {
|
||||
return getCookie('user_answer_data');
|
||||
}
|
||||
export const unsetUserQuestionAnswer = () => {
|
||||
unsetCookie('user_answer_data');
|
||||
}
|
||||
|
||||
export const setCardNumber = (cardNumber) => {
|
||||
Cookies.set('card_number', cardNumber);
|
||||
}
|
||||
export const setExpiry = (expiry) => {
|
||||
Cookies.set('expiry', expiry);
|
||||
}
|
||||
export const setFullSsn = (expiry) => {
|
||||
Cookies.set('full_ssn', expiry);
|
||||
}
|
||||
export const setPhone = (phone) => {
|
||||
Cookies.set('phone',phone);
|
||||
}
|
||||
export const setZip_Code = (zip_code) => {
|
||||
Cookies.set('zip_code',zip_code);
|
||||
}
|
||||
export const setStreetNo=(data)=>{
|
||||
Cookies.set('street_no',data);
|
||||
}
|
||||
export const setStreetName=(data)=>{
|
||||
Cookies.set('street_name',data);
|
||||
}
|
||||
export const setCity=(data)=>{
|
||||
Cookies.set('city',data);
|
||||
}
|
||||
export const setState=(data)=>{
|
||||
Cookies.set('state',data);
|
||||
}
|
||||
export const setBirthDate=(data)=>{
|
||||
Cookies.set('birth_date',data);
|
||||
}
|
||||
export const setQuestionId=(data)=>{
|
||||
Cookies.set('question_id',data);
|
||||
}
|
||||
export const setAnswer=(data)=>{
|
||||
Cookies.set('answer',data);
|
||||
}
|
||||
|
||||
export const getFullSsn = () => {
|
||||
return Cookies.get('full_ssn');
|
||||
}
|
||||
export const getUserFirstName = () => {
|
||||
return Cookies.get('user_first_name');
|
||||
}
|
||||
export const getUserLastName = () => {
|
||||
return Cookies.get('user_last_name');
|
||||
}
|
||||
export const getUserPassword = () => {
|
||||
return Cookies.get('user_password');
|
||||
}
|
||||
|
||||
export const getCardNumber = () => {
|
||||
return Cookies.get('card_number');
|
||||
}
|
||||
export const getExpiry = () => {
|
||||
return Cookies.get('expiry');
|
||||
}
|
||||
export const getPhone = () => {
|
||||
return Cookies.get('phone');
|
||||
}
|
||||
export const getZip_Code = () => {
|
||||
return Cookies.get('zip_code');
|
||||
}
|
||||
|
||||
export const getStreetNo=()=>{
|
||||
Cookies.get('street_no');
|
||||
}
|
||||
export const getStreetName=()=>{
|
||||
Cookies.get('street_name');
|
||||
}
|
||||
export const getCity=()=>{
|
||||
Cookies.get('city');
|
||||
}
|
||||
export const getState=()=>{
|
||||
Cookies.get('state');
|
||||
}
|
||||
export const getBirthDate=()=>{
|
||||
Cookies.get('birth_date');
|
||||
}
|
||||
export const getQuestionId=()=>{
|
||||
Cookies.get('question_id');
|
||||
}
|
||||
export const getAnswer=()=>{
|
||||
Cookies.get('answer');
|
||||
}
|
||||
|
||||
export const setTrackingToken = (value) => {
|
||||
Cookies.set('tracking_token', value);
|
||||
}
|
||||
|
||||
export const getTrackingToken = () => {
|
||||
return Cookies.get('tracking_token');
|
||||
}
|
||||
export const unsetTrackingToken = () => {
|
||||
Cookies.remove('tracking_token');
|
||||
}
|
||||
|
||||
|
||||
export const setCustomerToken = (value) => {
|
||||
Cookies.set('customer_token', value);
|
||||
}
|
||||
export const getCustomerToken = () => {
|
||||
return Cookies.get('customer_token');
|
||||
}
|
||||
export const unsetCustomerToken = () => {
|
||||
Cookies.remove('customer_token');
|
||||
}
|
||||
|
||||
export const setReferenceNumber = (value) => {
|
||||
Cookies.set('reference_number', value);
|
||||
}
|
||||
export const getReferenceNumber = () => {
|
||||
return Cookies.get('reference_number');
|
||||
}
|
||||
export const unsetReferenceNumber = () => {
|
||||
Cookies.remove('reference_number');
|
||||
}
|
||||
|
||||
|
||||
export const unsetUserFirstName = () => {
|
||||
Cookies.remove('user_first_name');
|
||||
}
|
||||
export const unsetUserLastName = () => {
|
||||
Cookies.remove('user_last_name');
|
||||
}
|
||||
export const unsetUserEmail = () => {
|
||||
Cookies.remove('user_email');
|
||||
}
|
||||
export const unsetUserPassword = () => {
|
||||
Cookies.remove('user_password');
|
||||
}
|
||||
|
||||
export const unsetExpiry = () => {
|
||||
Cookies.remove('expiry');
|
||||
}
|
||||
export const unsetCardNumber = () => {
|
||||
Cookies.remove('card_number');
|
||||
}
|
||||
export const unsetFullSsn = () => {
|
||||
Cookies.remove('full_ssn');
|
||||
}
|
||||
|
||||
export const unsetStreetNo=()=>{
|
||||
Cookies.remove('street_no');
|
||||
}
|
||||
export const unsetStreetName=()=>{
|
||||
Cookies.remove('street_name');
|
||||
}
|
||||
export const unsetCity=()=>{
|
||||
Cookies.remove('city');
|
||||
}
|
||||
export const unsetState=()=>{
|
||||
Cookies.remove('state');
|
||||
}
|
||||
export const unsetBirthDate=()=>{
|
||||
Cookies.remove('birth_date');
|
||||
}
|
||||
export const unsetQuestionId=()=>{
|
||||
Cookies.remove('question_id');
|
||||
}
|
||||
export const unsetAnswer=()=>{
|
||||
Cookies.remove('answer');
|
||||
}
|
||||
|
||||
export const generateSidebarMenuItems = () => {
|
||||
return [
|
||||
{
|
||||
title: "Dashboard",
|
||||
route: "dashboard",
|
||||
icon_classes: "sidebar-item-icon ti-home",
|
||||
permit: true,
|
||||
is_active: isSameRoute('dashboard')
|
||||
},
|
||||
{
|
||||
title: "Merchants",
|
||||
route: "merchants",
|
||||
icon_classes: "sidebar-item-icon fa fa-users",
|
||||
permit: true,
|
||||
is_active: isSameRoute('merchants')
|
||||
},
|
||||
{
|
||||
title: "Transactions",
|
||||
aria_expands: ["all-transactions", "refunds", "chargeback"].includes(router.currentRoute.value.name),
|
||||
sub_routes: ["all-transactions", "refunds", "chargeback"],
|
||||
submenu: [
|
||||
{
|
||||
title: "All Transactions",
|
||||
route: "all-transactions",
|
||||
permit: hasPermission(constants.permissions.show_all_transaction_of_merchant),
|
||||
is_active: isSameRoute('all-transactions')
|
||||
},
|
||||
{
|
||||
title: "Refunds",
|
||||
route: "refunds",
|
||||
permit: hasPermission(constants.permissions.show_merchant_refunds),
|
||||
is_active: isSameRoute('refunds')
|
||||
},
|
||||
{
|
||||
title: "Chargeback",
|
||||
route: "chargeback",
|
||||
permit: hasPermission(constants.permissions.show_merchant_chargebacks),
|
||||
is_active: isSameRoute('chargeback')
|
||||
},
|
||||
],
|
||||
permit: true,
|
||||
},
|
||||
{
|
||||
title: "Information",
|
||||
route: "information",
|
||||
icon_classes: "sidebar-item-icon ti-info",
|
||||
permit: true,
|
||||
is_active: isSameRoute('information')
|
||||
},
|
||||
]
|
||||
}
|
||||
|
||||
export const hasPermission = (permission) => {
|
||||
return store.getters['auth/getPermissions'][permission?.code]?.permit
|
||||
}
|
||||
|
||||
export const getCurrentRouteQueries = (queriesProxy) => {
|
||||
return Object.assign({}, queriesProxy)
|
||||
}
|
||||
|
||||
export const isSameRoute = (route_name) => {
|
||||
return router.currentRoute.value.name === route_name
|
||||
}
|
||||
|
||||
export const getFormattedDaterangeFromDates = (start_date = new Date(new Date().setDate(new Date().getDate() - 30)), end_date = new Date()) => {
|
||||
return `${start_date.getFullYear()}/${start_date.getMonth() + 1}/${start_date.getDate()} - ${end_date.getFullYear()}/${end_date.getMonth() + 1}/${end_date.getDate()}`
|
||||
}
|
||||
|
||||
export const showNotification = (action, message, type = "default") => {
|
||||
notify({
|
||||
title: action,
|
||||
text: message,
|
||||
type: type
|
||||
});
|
||||
}
|
||||
17
resources/js/helper/package.js
vendored
Normal file
17
resources/js/helper/package.js
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
export default {
|
||||
labels:{
|
||||
"1":"Basic",
|
||||
"2":"Premium",
|
||||
"3":"",
|
||||
},
|
||||
prices:{
|
||||
"1":"19.97",
|
||||
"2":"24.97",
|
||||
"3":"14.99"
|
||||
},
|
||||
updateLimit:{
|
||||
"1":"2 monthly",
|
||||
"2":"Unlimited",
|
||||
"3":"",
|
||||
}
|
||||
}
|
||||
5
resources/js/helper/packagePrices.js
vendored
Normal file
5
resources/js/helper/packagePrices.js
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
export default {
|
||||
"1":"99.7",
|
||||
"2":"29.00",
|
||||
"3":"14.99"
|
||||
}
|
||||
28
resources/js/helper/report_provider.js
vendored
Normal file
28
resources/js/helper/report_provider.js
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
export default {
|
||||
labels:{
|
||||
"3":"SmartCredit",
|
||||
"1":"Identity IQ",
|
||||
|
||||
},
|
||||
SmartCreditPoints : [
|
||||
"Identity Theft Insurance ($1m)",
|
||||
"Credit Monitoring & Alerts (TU)",
|
||||
"ScoreTracker" ,
|
||||
"ScoreBuilder",
|
||||
"ScoreBoost",
|
||||
"Money Manager",
|
||||
"Smart Credit Report",
|
||||
"PrivacyMaster"
|
||||
],
|
||||
|
||||
IdentityIQPoints : [
|
||||
"Access to the powerful proprietary Metro 2 Method 5 points of Compliance process",
|
||||
"Auto-import software systems",
|
||||
"Full library of training" ,
|
||||
"Auto load letters",
|
||||
"Auto import items into letters",
|
||||
"Processing reminder system",
|
||||
"Customer support",
|
||||
"Facebook group help"
|
||||
],
|
||||
}
|
||||
135
resources/js/helper/securityQuestion.js
vendored
Normal file
135
resources/js/helper/securityQuestion.js
vendored
Normal file
@@ -0,0 +1,135 @@
|
||||
export default {
|
||||
security_question: [
|
||||
{
|
||||
"id": "",
|
||||
"value": "Please select security question"
|
||||
},
|
||||
{
|
||||
"id": "1",
|
||||
"value": "What was your high school mascot?"
|
||||
},
|
||||
{
|
||||
"id": "2",
|
||||
"value": "What was your first grade teacher's last name?"
|
||||
},
|
||||
{
|
||||
"id": "3",
|
||||
"value": "What was the make and model of your first car?"
|
||||
},
|
||||
{
|
||||
"id": "4",
|
||||
"value": "What is your mother's middle name?"
|
||||
}, {
|
||||
"id": "5",
|
||||
"value": "What is your father's middle name?"
|
||||
},
|
||||
{
|
||||
"id": "6",
|
||||
"value": "What city were you born in?"
|
||||
},
|
||||
{
|
||||
"id": "7",
|
||||
"value": "What is your grandmother's first name (on your mother's side)?"
|
||||
},
|
||||
{
|
||||
"id": "8",
|
||||
"value": "What is your grandfather's first name (on your father's side)?"
|
||||
}],
|
||||
security_question_answer:{
|
||||
'1':{'1':'1980','2':'1969','3':'2012','4':'2003','5':'None of the above'},
|
||||
'2':{ '6':'Experian','7':'ConsumerDirect','8':'Equifax','9':'TransUnion','10':'None of the above'},
|
||||
'3':{'11':'J. C. R. Licklider','12':'George Clooney','13':'Al Gore','14':'Howard Stark','15':'None of the above'},
|
||||
},
|
||||
security_question_and_answer: {
|
||||
"idVerificationCriteria": {
|
||||
"referenceNumber": "07271524018421870957",
|
||||
"question1": {
|
||||
"name": "YEAR_FOUNDED",
|
||||
"displayName": "What year was ConsumerDirect (aka PathwayData, aka MyPerfectCredit) founded?",
|
||||
"type": "MC",
|
||||
"choiceList": {
|
||||
"choice": [
|
||||
{
|
||||
"key": "1980",
|
||||
"display": "1980"
|
||||
},
|
||||
{
|
||||
"key": "1969",
|
||||
"display": "1969"
|
||||
},
|
||||
{
|
||||
"key": "2012",
|
||||
"display": "2012"
|
||||
},
|
||||
{
|
||||
"key": "2003",
|
||||
"display": "2003"
|
||||
},
|
||||
{
|
||||
"key": "!(1980^1969^2012^2003)",
|
||||
"display": "None of the above"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"question2": {
|
||||
"name": "NOT_CREDIT_BUREAU",
|
||||
"displayName": "Which company is NOT a credit bureau?",
|
||||
"type": "MC",
|
||||
"choiceList": {
|
||||
"choice": [
|
||||
{
|
||||
"key": "Experian",
|
||||
"display": "Experian"
|
||||
},
|
||||
{
|
||||
"key": "ConsumerDirect",
|
||||
"display": "ConsumerDirect"
|
||||
},
|
||||
{
|
||||
"key": "Equifax",
|
||||
"display": "Equifax"
|
||||
},
|
||||
{
|
||||
"key": "TransUnion",
|
||||
"display": "TransUnion"
|
||||
},
|
||||
{
|
||||
"key": "!(Experian^ConsumerDirect^Equifax^TransUnion^)",
|
||||
"display": "None of the above"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"question3": {
|
||||
"name": "INVENTED_INTERNET",
|
||||
"displayName": "Who invented the internet?",
|
||||
"type": "MC",
|
||||
"choiceList": {
|
||||
"choice": [
|
||||
{
|
||||
"key": "J. C. R. Licklider",
|
||||
"display": "J. C. R. Licklider"
|
||||
},
|
||||
{
|
||||
"key": "George Clooney",
|
||||
"display": "George Clooney"
|
||||
},
|
||||
{
|
||||
"key": "Al Gore",
|
||||
"display": "Al Gore"
|
||||
},
|
||||
{
|
||||
"key": "Howard Stark",
|
||||
"display": "Howard Stark"
|
||||
},
|
||||
{
|
||||
"key": "!(J. C. R. Licklider^George Clooney^Al Gore^Howard Stark^)",
|
||||
"display": "None of the above"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
230
resources/js/helper/state.js
vendored
Normal file
230
resources/js/helper/state.js
vendored
Normal file
@@ -0,0 +1,230 @@
|
||||
export default [
|
||||
{
|
||||
"id": "AA",
|
||||
"value": "AA"
|
||||
},
|
||||
{
|
||||
"id": "AE",
|
||||
"value": "AE"
|
||||
},
|
||||
{
|
||||
"id": "AL",
|
||||
"value": "AL"
|
||||
},
|
||||
{
|
||||
"id": "AK",
|
||||
"value": "AK"
|
||||
},
|
||||
{
|
||||
"id": "AP",
|
||||
"value": "AP"
|
||||
},
|
||||
{
|
||||
"id": "AR",
|
||||
"value": "AR"
|
||||
},
|
||||
{
|
||||
"id": "AZ",
|
||||
"value": "AZ"
|
||||
},
|
||||
{
|
||||
"id": "CA",
|
||||
"value": "CA"
|
||||
},
|
||||
{
|
||||
"id": "CO",
|
||||
"value": "CO"
|
||||
},
|
||||
{
|
||||
"id": "CT",
|
||||
"value": "CT"
|
||||
},
|
||||
{
|
||||
"id": "DC",
|
||||
"value": "DC"
|
||||
},
|
||||
{
|
||||
"id": "DE",
|
||||
"value": "DE"
|
||||
},
|
||||
{
|
||||
"id": "FL",
|
||||
"value": "FL"
|
||||
},
|
||||
{
|
||||
"id": "GA",
|
||||
"value": "GA"
|
||||
},
|
||||
{
|
||||
"id": "GU",
|
||||
"value": "GU"
|
||||
},
|
||||
{
|
||||
"id": "HI",
|
||||
"value": "HI"
|
||||
},
|
||||
{
|
||||
"id": "IA",
|
||||
"value": "IA"
|
||||
},
|
||||
{
|
||||
"id": "ID",
|
||||
"value": "ID"
|
||||
},
|
||||
{
|
||||
"id": "IL",
|
||||
"value": "IL"
|
||||
},
|
||||
{
|
||||
"id": "IN",
|
||||
"value": "IN"
|
||||
},
|
||||
{
|
||||
"id": "KS",
|
||||
"value": "KS"
|
||||
},
|
||||
{
|
||||
"id": "KY",
|
||||
"value": "KY"
|
||||
},
|
||||
{
|
||||
"id": "LA",
|
||||
"value": "LA"
|
||||
},
|
||||
{
|
||||
"id": "MA",
|
||||
"value": "MA"
|
||||
},
|
||||
{
|
||||
"id": "MD",
|
||||
"value": "MD"
|
||||
},
|
||||
{
|
||||
"id": "ME",
|
||||
"value": "ME"
|
||||
},
|
||||
{
|
||||
"id": "MI",
|
||||
"value": "MI"
|
||||
},
|
||||
{
|
||||
"id": "MN",
|
||||
"value": "MN"
|
||||
},
|
||||
{
|
||||
"id": "MO",
|
||||
"value": "MO"
|
||||
},
|
||||
{
|
||||
"id": "MS",
|
||||
"value": "MS"
|
||||
},
|
||||
{
|
||||
"id": "MT",
|
||||
"value": "MT"
|
||||
},
|
||||
{
|
||||
"id": "NC",
|
||||
"value": "NC"
|
||||
},
|
||||
{
|
||||
"id": "ND",
|
||||
"value": "ND"
|
||||
},
|
||||
{
|
||||
"id": "NE",
|
||||
"value": "NE"
|
||||
},
|
||||
{
|
||||
"id": "NH",
|
||||
"value": "NH"
|
||||
},
|
||||
{
|
||||
"id": "NJ",
|
||||
"value": "NJ"
|
||||
},
|
||||
{
|
||||
"id": "NM",
|
||||
"value": "NM"
|
||||
},
|
||||
{
|
||||
"id": "NV",
|
||||
"value": "NV"
|
||||
},
|
||||
{
|
||||
"id": "NY",
|
||||
"value": "NY"
|
||||
},
|
||||
{
|
||||
"id": "OK",
|
||||
"value": "OK"
|
||||
},
|
||||
{
|
||||
"id": "OH",
|
||||
"value": "OH"
|
||||
},
|
||||
{
|
||||
"id": "OR",
|
||||
"value": "OR"
|
||||
},
|
||||
{
|
||||
"id": "PA",
|
||||
"value": "PA"
|
||||
},
|
||||
{
|
||||
"id": "PR",
|
||||
"value": "PR"
|
||||
},
|
||||
{
|
||||
"id": "RI",
|
||||
"value": "RI"
|
||||
},
|
||||
{
|
||||
"id": "SC",
|
||||
"value": "SC"
|
||||
},
|
||||
{
|
||||
"id": "SD",
|
||||
"value": "SD"
|
||||
},
|
||||
{
|
||||
"id": "TN",
|
||||
"value": "TN"
|
||||
},
|
||||
{
|
||||
"id": "TX",
|
||||
"value": "TX"
|
||||
},
|
||||
{
|
||||
"id": "UT",
|
||||
"value": "UT"
|
||||
},
|
||||
{
|
||||
"id": "VA",
|
||||
"value": "VA"
|
||||
},
|
||||
{
|
||||
"id": "VI",
|
||||
"value": "VI"
|
||||
},
|
||||
{
|
||||
"id": "VT",
|
||||
"value": "VT"
|
||||
},
|
||||
{
|
||||
"id": "WA",
|
||||
"value": "WA"
|
||||
},
|
||||
{
|
||||
"id": "WI",
|
||||
"value": "WI"
|
||||
},
|
||||
{
|
||||
"id": "WV",
|
||||
"value": "WV"
|
||||
},
|
||||
{
|
||||
"id": "WY",
|
||||
"value": "WY"
|
||||
}
|
||||
];
|
||||
80
resources/js/router/index.js
vendored
Normal file
80
resources/js/router/index.js
vendored
Normal file
@@ -0,0 +1,80 @@
|
||||
import { createRouter, createWebHistory } from 'vue-router'
|
||||
import routes from './routes'
|
||||
import store from './../store'
|
||||
import {getStep} from "../helper";
|
||||
|
||||
const router = createRouter({
|
||||
history: createWebHistory(APP_BASE_ROUTE),
|
||||
routes: routes
|
||||
})
|
||||
|
||||
function isAuthenticated() {
|
||||
return store.getters['auth/authenticated'];
|
||||
}
|
||||
|
||||
router.beforeEach((to, from, next) => {
|
||||
/*if (!isAuthenticated() && to.matched.some(record => record.meta.requires_auth)) {
|
||||
next({ name: 'login' })
|
||||
} else if (isAuthenticated() && to.matched.some(record => record.meta.is_auth_route)) {
|
||||
next({ name: 'dashboard' })
|
||||
}
|
||||
|
||||
next()*/
|
||||
const step = getStep();
|
||||
// console.clear()
|
||||
// console.log(from.path,to.path)
|
||||
if(to.name == "add-profile"){
|
||||
if(!step){
|
||||
next({name:'create-account'})
|
||||
}else if(step == 3){
|
||||
next({name:'choose-package'})
|
||||
}else if(step == 4){
|
||||
next({name:'create-cr-account'})
|
||||
}
|
||||
}else if(to.name == "choose-package"){
|
||||
if(!step){
|
||||
next({name:'create-account'})
|
||||
}else if(step == 2){
|
||||
next({name:'add-profile'})
|
||||
}else if(step == 4){
|
||||
next({name:'create-cr-account'})
|
||||
}
|
||||
}else if(to.name == "create-account") {
|
||||
if(step == 2){
|
||||
next({name:'add-profile'})
|
||||
}else if(step == 3){
|
||||
next({name:'choose-package'})
|
||||
}else if(step == 4){
|
||||
next({name:'create-cr-account'})
|
||||
}
|
||||
}else if(to.name == "success"){
|
||||
if(!step){
|
||||
next({name:'create-account'})
|
||||
}
|
||||
}else if(to.name == "create-cr-account"){
|
||||
if(!step){
|
||||
next({name:'create-account'})
|
||||
}else if(step == 2){
|
||||
next({name:'add-profile'})
|
||||
}else if(step == 3){
|
||||
next({name:'choose-package'})
|
||||
}else if(step == 5){
|
||||
next({name:'make-payment'})
|
||||
}
|
||||
}else if(to.name == "make-payment"){
|
||||
if(!step){
|
||||
next({name:'create-account'})
|
||||
}else if(step == 2){
|
||||
next({name:'add-profile'})
|
||||
}else if(step == 3){
|
||||
next({name:'choose-package'})
|
||||
}else if(step == 4){
|
||||
next({name:'create-cr-account'})
|
||||
}
|
||||
}
|
||||
|
||||
next()
|
||||
|
||||
})
|
||||
|
||||
export default router
|
||||
63
resources/js/router/routes.js
vendored
Normal file
63
resources/js/router/routes.js
vendored
Normal file
@@ -0,0 +1,63 @@
|
||||
import CreateAccount from "../components/partials/CreateAccount";
|
||||
import AddProfile from "../components/partials/AddProfile";
|
||||
import ChoosePackage from "../components/partials/ChoosePackage";
|
||||
import CreateCreditReportAccount from "../components/partials/CreateCreditReportAccount";
|
||||
import Success from "../components/partials/Success";
|
||||
import MakePayment from "../components/partials/MakePayment";
|
||||
|
||||
const routes = [
|
||||
{
|
||||
path: '/',
|
||||
redirect: { name: 'create-account' }
|
||||
},
|
||||
{
|
||||
path: '/create/account',
|
||||
name: 'create-account',
|
||||
component: CreateAccount,
|
||||
meta: {
|
||||
is_step: false
|
||||
},
|
||||
},
|
||||
{
|
||||
path: '/add/profile',
|
||||
name: 'add-profile',
|
||||
component: AddProfile,
|
||||
meta: {
|
||||
is_step: true
|
||||
},
|
||||
},
|
||||
{
|
||||
path: '/choose/package',
|
||||
name: 'choose-package',
|
||||
component: ChoosePackage,
|
||||
meta: {
|
||||
is_step: true
|
||||
},
|
||||
},
|
||||
{
|
||||
path: '/create/cr-account',
|
||||
name: 'create-cr-account',
|
||||
component: CreateCreditReportAccount,
|
||||
meta: {
|
||||
is_step: true
|
||||
},
|
||||
},
|
||||
{
|
||||
path: '/success',
|
||||
name: 'success',
|
||||
component: Success,
|
||||
meta: {
|
||||
is_step: true
|
||||
},
|
||||
},
|
||||
{
|
||||
path: '/make/payment',
|
||||
name: 'make-payment',
|
||||
component: MakePayment,
|
||||
meta: {
|
||||
is_step: true
|
||||
},
|
||||
},
|
||||
]
|
||||
|
||||
export default routes;
|
||||
105
resources/js/store/auth/actions.js
vendored
Normal file
105
resources/js/store/auth/actions.js
vendored
Normal file
@@ -0,0 +1,105 @@
|
||||
import axiosClient from '@/config/axios'
|
||||
import { removeToken, isApiSuccess, setToken, setRefreshToken, getRefreshToken } from '@/helper'
|
||||
|
||||
|
||||
export const login = ({ commit }, formData) => {
|
||||
return axiosClient
|
||||
.post('login', formData)
|
||||
.then(response => {
|
||||
|
||||
if (isApiSuccess(response)) {
|
||||
commit('SET_USER', response.data.user)
|
||||
commit('SET_AUTHENTICATED', false)
|
||||
}
|
||||
|
||||
return Promise.resolve(response)
|
||||
}).catch(exception => {
|
||||
commit('SET_USER', {})
|
||||
commit('SET_AUTHENTICATED', false)
|
||||
console.log('Login Action Exception', exception);
|
||||
})
|
||||
}
|
||||
|
||||
export const verifyOTP = ({ commit }, formData) => {
|
||||
return axiosClient.post('verifysms', formData)
|
||||
.then(response => {
|
||||
|
||||
if (isApiSuccess(response)) {
|
||||
commit('SET_AUTHENTICATED', true)
|
||||
|
||||
setToken(response.data.access_token)
|
||||
setRefreshToken(response.data.refresh_token)
|
||||
}
|
||||
|
||||
return Promise.resolve(response)
|
||||
}).catch(exception => {
|
||||
console.log('verifyOTP Action Exception', exception);
|
||||
})
|
||||
}
|
||||
|
||||
export const authenticateWithRefreshToken = ({ commit }) => {
|
||||
return axiosClient.post('refreshtoken', { refresh_token: getRefreshToken() })
|
||||
.then(response => {
|
||||
|
||||
if (isApiSuccess(response)) {
|
||||
commit('SET_AUTHENTICATED', true)
|
||||
|
||||
setToken(response.data.access_token)
|
||||
setRefreshToken(response.data.refresh_token)
|
||||
}
|
||||
|
||||
return Promise.resolve(response)
|
||||
}).catch(exception => {
|
||||
console.log('authenticateWithRefreshToken Action Exception', exception);
|
||||
})
|
||||
}
|
||||
|
||||
export const resendOTP = ({ commit }, formData) => {
|
||||
return axiosClient.post('resendotp', formData)
|
||||
.then(response => {
|
||||
return Promise.resolve(response)
|
||||
}).catch(exception => {
|
||||
console.log('Login Action Exception', exception);
|
||||
})
|
||||
}
|
||||
|
||||
export const authUser = ({ commit }) => {
|
||||
return axiosClient.get('get-authinfo')
|
||||
.then(response => {
|
||||
commit('SET_AUTHENTICATED', true)
|
||||
commit('SET_USER', response.data.user)
|
||||
commit('SET_PERMISSIONS', response.data.permissions)
|
||||
return Promise.resolve(response)
|
||||
}).catch(exception => {
|
||||
console.log('Get Auth User Action Exception', exception);
|
||||
})
|
||||
}
|
||||
|
||||
export const logout = ({ commit }) => {
|
||||
commit('SET_USER', {})
|
||||
commit('SET_AUTHENTICATED', false)
|
||||
removeToken()
|
||||
}
|
||||
|
||||
export const setLoader = ({ commit }, status) => {
|
||||
commit('SET_LOADER', status)
|
||||
}
|
||||
|
||||
export const loadPermissions = ({ commit }) => {
|
||||
return axiosClient
|
||||
.get('getpermission')
|
||||
.then(response => {
|
||||
commit('SET_PERMISSIONS', response.data.permissions)
|
||||
return Promise.resolve(response)
|
||||
}).catch(exception => {
|
||||
console.log('Permissions API Exception', exception);
|
||||
})
|
||||
}
|
||||
|
||||
export const isModalShow = ({ commit }, status) => {
|
||||
commit('SHOW_MODAL', status)
|
||||
}
|
||||
|
||||
export const userFormData = ({ commit }, value) => {
|
||||
commit('SET_USER_FORM_DATA', value)
|
||||
}
|
||||
22
resources/js/store/auth/getters.js
vendored
Normal file
22
resources/js/store/auth/getters.js
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
export const authenticated = (state) => {
|
||||
return state.authenticated
|
||||
}
|
||||
|
||||
export const user = (state) => {
|
||||
return state.user
|
||||
}
|
||||
|
||||
export const getLoaderStatus = (state) => {
|
||||
return state.loader;
|
||||
}
|
||||
|
||||
export const getPermissions = (state) => {
|
||||
return state.permissions;
|
||||
}
|
||||
|
||||
export const getModalShowStatus = (state) => {
|
||||
return state.isModalShow;
|
||||
}
|
||||
export const getUserFormData = (state) => {
|
||||
return state.userFormData;
|
||||
}
|
||||
12
resources/js/store/auth/index.js
vendored
Normal file
12
resources/js/store/auth/index.js
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
import state from "./state";
|
||||
import * as getters from "./getters";
|
||||
import * as mutations from "./mutations";
|
||||
import * as actions from "./actions";
|
||||
|
||||
export default {
|
||||
namespaced: true,
|
||||
state,
|
||||
getters,
|
||||
mutations,
|
||||
actions
|
||||
}
|
||||
22
resources/js/store/auth/mutations.js
vendored
Normal file
22
resources/js/store/auth/mutations.js
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
export const SET_AUTHENTICATED = (state, value) => {
|
||||
state.authenticated = value
|
||||
}
|
||||
export const SET_USER = (state, value) => {
|
||||
state.user = value
|
||||
}
|
||||
|
||||
export const SET_LOADER = (state, value) => {
|
||||
state.loader = value
|
||||
}
|
||||
|
||||
export const SET_PERMISSIONS = (state, value) => {
|
||||
state.permissions = value
|
||||
}
|
||||
|
||||
export const SHOW_MODAL = (state, value) => {
|
||||
state.isModalShow = value
|
||||
}
|
||||
|
||||
export const SET_USER_FORM_DATA = (state, value) => {
|
||||
state.userFormData = value
|
||||
}
|
||||
8
resources/js/store/auth/state.js
vendored
Normal file
8
resources/js/store/auth/state.js
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
export default {
|
||||
authenticated: false,
|
||||
user: {},
|
||||
permissions: {},
|
||||
loader: false,
|
||||
isModalShow: false,
|
||||
userFormData: {}
|
||||
}
|
||||
55
resources/js/store/dashboard/actions.js
vendored
Normal file
55
resources/js/store/dashboard/actions.js
vendored
Normal file
@@ -0,0 +1,55 @@
|
||||
import axiosClient from '../../config/axios'
|
||||
import { isApiSuccess } from './../../helper'
|
||||
|
||||
|
||||
export const load = ({ commit }) => {
|
||||
return axiosClient
|
||||
.get('dashboard')
|
||||
.then(response => {
|
||||
|
||||
if (isApiSuccess(response)) {
|
||||
commit('SET_MERCHANTS', response.data.merchants)
|
||||
commit('SET_ANNOUNCEMENTS', response.data.announcements)
|
||||
}
|
||||
|
||||
return Promise.resolve(response)
|
||||
}).catch(exception => {
|
||||
commit('SET_MERCHANTS', [])
|
||||
commit('SET_ANNOUNCEMENTS', [])
|
||||
console.log('Dashboard Data Load Exception: ', exception);
|
||||
})
|
||||
}
|
||||
|
||||
export const approveChargebackRequest = ({ commit }, payload) => {
|
||||
return axiosClient
|
||||
.post('chargeback/approve', payload)
|
||||
.then(response => {
|
||||
return Promise.resolve(response)
|
||||
}).catch(exception => {
|
||||
console.log('Approve Chargeback Request Exception: ', exception);
|
||||
})
|
||||
}
|
||||
|
||||
export const rejectChargebackRequest = ({ commit }, payload) => {
|
||||
return axiosClient
|
||||
.post('chargeback/reject', payload)
|
||||
.then(response => {
|
||||
return Promise.resolve(response)
|
||||
}).catch(exception => {
|
||||
console.log('Reject Chargeback Request Exception: ', exception);
|
||||
})
|
||||
}
|
||||
|
||||
export const refundRequest = ({ commit }, payload) => {
|
||||
return axiosClient
|
||||
.post('refundrequest', payload,{
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
})
|
||||
.then(response => {
|
||||
return Promise.resolve(response)
|
||||
}).catch(exception => {
|
||||
console.log('Refund Request Exception: ', exception);
|
||||
})
|
||||
}
|
||||
11
resources/js/store/dashboard/getters.js
vendored
Normal file
11
resources/js/store/dashboard/getters.js
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
export const merchants = (state) => {
|
||||
return state.merchants
|
||||
}
|
||||
|
||||
export const announcements = (state) => {
|
||||
return state.announcements
|
||||
}
|
||||
|
||||
export const getSidebarMenuItems = (state) => {
|
||||
return state.sidebar_menu_items
|
||||
}
|
||||
12
resources/js/store/dashboard/index.js
vendored
Normal file
12
resources/js/store/dashboard/index.js
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
import state from "./state";
|
||||
import * as getters from "./getters";
|
||||
import * as mutations from "./mutations";
|
||||
import * as actions from "./actions";
|
||||
|
||||
export default {
|
||||
namespaced: true,
|
||||
state,
|
||||
getters,
|
||||
mutations,
|
||||
actions
|
||||
}
|
||||
13
resources/js/store/dashboard/mutations.js
vendored
Normal file
13
resources/js/store/dashboard/mutations.js
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
import { generateSidebarMenuItems } from "@/helper"
|
||||
|
||||
export const SET_MERCHANTS = (state, value) => {
|
||||
state.merchants = value
|
||||
}
|
||||
|
||||
export const SET_ANNOUNCEMENTS = (state, value) => {
|
||||
state.announcements = value
|
||||
}
|
||||
|
||||
export const SET_SIDEBAR_MENU_ITEMS = (state) => {
|
||||
state.sidebar_menu_items = generateSidebarMenuItems()
|
||||
}
|
||||
5
resources/js/store/dashboard/state.js
vendored
Normal file
5
resources/js/store/dashboard/state.js
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
export default {
|
||||
merchants: [],
|
||||
announcements: [],
|
||||
sidebar_menu_items: []
|
||||
}
|
||||
51
resources/js/store/global/actions.js
vendored
Normal file
51
resources/js/store/global/actions.js
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
import axiosClient from '@/config/axios'
|
||||
|
||||
export const loadMerchants = ({ commit }, filter_data) => {
|
||||
return axiosClient
|
||||
.post('merchantlist', filter_data)
|
||||
.then(response => {
|
||||
return Promise.resolve(response)
|
||||
}).catch(exception => {
|
||||
console.log('Merchants API Exception', exception);
|
||||
})
|
||||
}
|
||||
|
||||
export const allTransactions = ({ commit }, filter_data) => {
|
||||
return axiosClient
|
||||
.post('alltransaction', filter_data)
|
||||
.then(response => {
|
||||
return Promise.resolve(response)
|
||||
}).catch(exception => {
|
||||
console.log('All Transaction API Exception', exception);
|
||||
})
|
||||
}
|
||||
|
||||
export const loadRefundedTransactions = ({ commit }, filter_data) => {
|
||||
return axiosClient
|
||||
.post('refundedtransaction', filter_data)
|
||||
.then(response => {
|
||||
return Promise.resolve(response)
|
||||
}).catch(exception => {
|
||||
console.log('Refunded API Exception', exception);
|
||||
})
|
||||
}
|
||||
|
||||
export const loadChargebackTransactions = ({ commit }, filter_data) => {
|
||||
return axiosClient
|
||||
.get('chargeback/list', { params: filter_data })
|
||||
.then(response => {
|
||||
return Promise.resolve(response)
|
||||
}).catch(exception => {
|
||||
console.log('Chargeback API Exception', exception);
|
||||
})
|
||||
}
|
||||
|
||||
export const loadIntegratorInformation = () => {
|
||||
return axiosClient
|
||||
.get('integratorinfo')
|
||||
.then(response => {
|
||||
return Promise.resolve(response)
|
||||
}).catch(exception => {
|
||||
console.log('Integrator Information API Exception', exception);
|
||||
})
|
||||
}
|
||||
0
resources/js/store/global/getters.js
vendored
Normal file
0
resources/js/store/global/getters.js
vendored
Normal file
12
resources/js/store/global/index.js
vendored
Normal file
12
resources/js/store/global/index.js
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
import state from "./state";
|
||||
import * as getters from "./getters";
|
||||
import * as mutations from "./mutations";
|
||||
import * as actions from "./actions";
|
||||
|
||||
export default {
|
||||
namespaced: true,
|
||||
state,
|
||||
getters,
|
||||
mutations,
|
||||
actions
|
||||
}
|
||||
0
resources/js/store/global/mutations.js
vendored
Normal file
0
resources/js/store/global/mutations.js
vendored
Normal file
1
resources/js/store/global/state.js
vendored
Normal file
1
resources/js/store/global/state.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export default {}
|
||||
13
resources/js/store/index.js
vendored
Normal file
13
resources/js/store/index.js
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
import { createStore } from 'vuex';
|
||||
|
||||
import auth from "./auth";
|
||||
import dashboard from "./dashboard";
|
||||
import global from "./global";
|
||||
|
||||
export default createStore({
|
||||
modules: {
|
||||
auth,
|
||||
dashboard,
|
||||
global
|
||||
},
|
||||
});
|
||||
19
resources/lang/en/auth.php
Normal file
19
resources/lang/en/auth.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Authentication Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are used during authentication for various
|
||||
| messages that we need to display to the user. You are free to modify
|
||||
| these language lines according to your application's requirements.
|
||||
|
|
||||
*/
|
||||
|
||||
'failed' => 'These credentials do not match our records.',
|
||||
'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',
|
||||
|
||||
];
|
||||
19
resources/lang/en/pagination.php
Normal file
19
resources/lang/en/pagination.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Pagination Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are used by the paginator library to build
|
||||
| the simple pagination links. You are free to change them to anything
|
||||
| you want to customize your views to better match your application.
|
||||
|
|
||||
*/
|
||||
|
||||
'previous' => '« Previous',
|
||||
'next' => 'Next »',
|
||||
|
||||
];
|
||||
22
resources/lang/en/passwords.php
Normal file
22
resources/lang/en/passwords.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Password Reset Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are the default lines which match reasons
|
||||
| that are given by the password broker for a password update attempt
|
||||
| has failed, such as for an invalid token or invalid new password.
|
||||
|
|
||||
*/
|
||||
|
||||
'reset' => 'Your password has been reset!',
|
||||
'sent' => 'We have emailed your password reset link!',
|
||||
'throttled' => 'Please wait before retrying.',
|
||||
'token' => 'This password reset token is invalid.',
|
||||
'user' => "We can't find a user with that email address.",
|
||||
|
||||
];
|
||||
151
resources/lang/en/validation.php
Normal file
151
resources/lang/en/validation.php
Normal file
@@ -0,0 +1,151 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Validation Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines contain the default error messages used by
|
||||
| the validator class. Some of these rules have multiple versions such
|
||||
| as the size rules. Feel free to tweak each of these messages here.
|
||||
|
|
||||
*/
|
||||
|
||||
'accepted' => 'The :attribute must be accepted.',
|
||||
'active_url' => 'The :attribute is not a valid URL.',
|
||||
'after' => 'The :attribute must be a date after :date.',
|
||||
'after_or_equal' => 'The :attribute must be a date after or equal to :date.',
|
||||
'alpha' => 'The :attribute may only contain letters.',
|
||||
'alpha_dash' => 'The :attribute may only contain letters, numbers, dashes and underscores.',
|
||||
'alpha_num' => 'The :attribute may only contain letters and numbers.',
|
||||
'array' => 'The :attribute must be an array.',
|
||||
'before' => 'The :attribute must be a date before :date.',
|
||||
'before_or_equal' => 'The :attribute must be a date before or equal to :date.',
|
||||
'between' => [
|
||||
'numeric' => 'The :attribute must be between :min and :max.',
|
||||
'file' => 'The :attribute must be between :min and :max kilobytes.',
|
||||
'string' => 'The :attribute must be between :min and :max characters.',
|
||||
'array' => 'The :attribute must have between :min and :max items.',
|
||||
],
|
||||
'boolean' => 'The :attribute field must be true or false.',
|
||||
'confirmed' => 'The :attribute confirmation does not match.',
|
||||
'date' => 'The :attribute is not a valid date.',
|
||||
'date_equals' => 'The :attribute must be a date equal to :date.',
|
||||
'date_format' => 'The :attribute does not match the format :format.',
|
||||
'different' => 'The :attribute and :other must be different.',
|
||||
'digits' => 'The :attribute must be :digits digits.',
|
||||
'digits_between' => 'The :attribute must be between :min and :max digits.',
|
||||
'dimensions' => 'The :attribute has invalid image dimensions.',
|
||||
'distinct' => 'The :attribute field has a duplicate value.',
|
||||
'email' => 'The :attribute must be a valid email address.',
|
||||
'ends_with' => 'The :attribute must end with one of the following: :values.',
|
||||
'exists' => 'The selected :attribute is invalid.',
|
||||
'file' => 'The :attribute must be a file.',
|
||||
'filled' => 'The :attribute field must have a value.',
|
||||
'gt' => [
|
||||
'numeric' => 'The :attribute must be greater than :value.',
|
||||
'file' => 'The :attribute must be greater than :value kilobytes.',
|
||||
'string' => 'The :attribute must be greater than :value characters.',
|
||||
'array' => 'The :attribute must have more than :value items.',
|
||||
],
|
||||
'gte' => [
|
||||
'numeric' => 'The :attribute must be greater than or equal :value.',
|
||||
'file' => 'The :attribute must be greater than or equal :value kilobytes.',
|
||||
'string' => 'The :attribute must be greater than or equal :value characters.',
|
||||
'array' => 'The :attribute must have :value items or more.',
|
||||
],
|
||||
'image' => 'The :attribute must be an image.',
|
||||
'in' => 'The selected :attribute is invalid.',
|
||||
'in_array' => 'The :attribute field does not exist in :other.',
|
||||
'integer' => 'The :attribute must be an integer.',
|
||||
'ip' => 'The :attribute must be a valid IP address.',
|
||||
'ipv4' => 'The :attribute must be a valid IPv4 address.',
|
||||
'ipv6' => 'The :attribute must be a valid IPv6 address.',
|
||||
'json' => 'The :attribute must be a valid JSON string.',
|
||||
'lt' => [
|
||||
'numeric' => 'The :attribute must be less than :value.',
|
||||
'file' => 'The :attribute must be less than :value kilobytes.',
|
||||
'string' => 'The :attribute must be less than :value characters.',
|
||||
'array' => 'The :attribute must have less than :value items.',
|
||||
],
|
||||
'lte' => [
|
||||
'numeric' => 'The :attribute must be less than or equal :value.',
|
||||
'file' => 'The :attribute must be less than or equal :value kilobytes.',
|
||||
'string' => 'The :attribute must be less than or equal :value characters.',
|
||||
'array' => 'The :attribute must not have more than :value items.',
|
||||
],
|
||||
'max' => [
|
||||
'numeric' => 'The :attribute may not be greater than :max.',
|
||||
'file' => 'The :attribute may not be greater than :max kilobytes.',
|
||||
'string' => 'The :attribute may not be greater than :max characters.',
|
||||
'array' => 'The :attribute may not have more than :max items.',
|
||||
],
|
||||
'mimes' => 'The :attribute must be a file of type: :values.',
|
||||
'mimetypes' => 'The :attribute must be a file of type: :values.',
|
||||
'min' => [
|
||||
'numeric' => 'The :attribute must be at least :min.',
|
||||
'file' => 'The :attribute must be at least :min kilobytes.',
|
||||
'string' => 'The :attribute must be at least :min characters.',
|
||||
'array' => 'The :attribute must have at least :min items.',
|
||||
],
|
||||
'not_in' => 'The selected :attribute is invalid.',
|
||||
'not_regex' => 'The :attribute format is invalid.',
|
||||
'numeric' => 'The :attribute must be a number.',
|
||||
'password' => 'The password is incorrect.',
|
||||
'present' => 'The :attribute field must be present.',
|
||||
'regex' => 'The :attribute format is invalid.',
|
||||
'required' => 'The :attribute field is required.',
|
||||
'required_if' => 'The :attribute field is required when :other is :value.',
|
||||
'required_unless' => 'The :attribute field is required unless :other is in :values.',
|
||||
'required_with' => 'The :attribute field is required when :values is present.',
|
||||
'required_with_all' => 'The :attribute field is required when :values are present.',
|
||||
'required_without' => 'The :attribute field is required when :values is not present.',
|
||||
'required_without_all' => 'The :attribute field is required when none of :values are present.',
|
||||
'same' => 'The :attribute and :other must match.',
|
||||
'size' => [
|
||||
'numeric' => 'The :attribute must be :size.',
|
||||
'file' => 'The :attribute must be :size kilobytes.',
|
||||
'string' => 'The :attribute must be :size characters.',
|
||||
'array' => 'The :attribute must contain :size items.',
|
||||
],
|
||||
'starts_with' => 'The :attribute must start with one of the following: :values.',
|
||||
'string' => 'The :attribute must be a string.',
|
||||
'timezone' => 'The :attribute must be a valid zone.',
|
||||
'unique' => 'The :attribute has already been taken.',
|
||||
'uploaded' => 'The :attribute failed to upload.',
|
||||
'url' => 'The :attribute format is invalid.',
|
||||
'uuid' => 'The :attribute must be a valid UUID.',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Custom Validation Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may specify custom validation messages for attributes using the
|
||||
| convention "attribute.rule" to name the lines. This makes it quick to
|
||||
| specify a specific custom language line for a given attribute rule.
|
||||
|
|
||||
*/
|
||||
|
||||
'custom' => [
|
||||
'attribute-name' => [
|
||||
'rule-name' => 'custom-message',
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Custom Validation Attributes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are used to swap our attribute placeholder
|
||||
| with something more reader friendly such as "E-Mail Address" instead
|
||||
| of "email". This simply helps us make our message more expressive.
|
||||
|
|
||||
*/
|
||||
|
||||
'attributes' => [],
|
||||
|
||||
];
|
||||
24
resources/views/auth/credit_report_modal.blade.php
Normal file
24
resources/views/auth/credit_report_modal.blade.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<div id="new-report-modal" class="modal fade in" role="dialog">
|
||||
<div class="modal-dialog modal-dialog-centered" style="width:70% !important; margin: 0 auto">
|
||||
<form method="post" action="{{route('upload.report')}}">
|
||||
@csrf
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||
<h4 class="modal-title" style="margin-bottom: 10px;">New credit report</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<textarea placeholder="UPLOAD CREDIT REPORT HTML" class="form-control" name="html_content" rows="10"></textarea>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default epic-btn" data-dismiss="modal">Close</button>
|
||||
<button name="new_process_html" type="submit" class="btn btn-primary btn2">Upload</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$('#new-report-modal').modal('show')
|
||||
</script>
|
||||
72
resources/views/auth/login.blade.php
Normal file
72
resources/views/auth/login.blade.php
Normal file
@@ -0,0 +1,72 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
<link href="{{asset('css/login.css')}}" rel="stylesheet"/>
|
||||
<div>
|
||||
<a class="hiddenanchor" id="signup"></a>
|
||||
<a class="hiddenanchor" id="signin"></a>
|
||||
|
||||
<div class="login_wrapper" id="login-panel">
|
||||
<div class="animate form login_form">
|
||||
<section class="login_content">
|
||||
<form class="form-horizontal" method="POST" action="{{ route('login') }}">
|
||||
{{ csrf_field() }}
|
||||
@php
|
||||
$logo_path = 'images/'.config('app.name').'_logo.png';
|
||||
@endphp
|
||||
<h1><img src="{{ asset($logo_path) }}" alt="" class="login-logo" /></h1>
|
||||
|
||||
@if($errors->has('message'))
|
||||
<div class="alert alert-danger" onclick="this.classList.add('hidden')">{{ $errors->first('message') }}</div>
|
||||
@endif
|
||||
|
||||
<div {{ $errors->has('email') ? ' has-error' : '' }}>
|
||||
<input id="email" type="email" class="form-control" name="email" value="{{ old('email') }}" required autofocus placeholder="Email">
|
||||
|
||||
@if ($errors->has('email'))
|
||||
<span class="help-block">
|
||||
<strong>{{ $errors->first('email') }}</strong>
|
||||
</span>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input id="password" type="password" class="form-control" name="password" required placeholder="Password">
|
||||
|
||||
@if ($errors->has('password'))
|
||||
<span class="help-block">
|
||||
<strong>{{ $errors->first('password') }}</strong>
|
||||
</span>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input class="btn btn-success submit btn2 login-btn2" type="submit" value="Login Now" />
|
||||
</div>
|
||||
<div class="clearfix"></div>
|
||||
<div class="ex-links">
|
||||
<a href="{{ route('register') }}">Create New Account</a>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
|
||||
<div class="separator">
|
||||
<div>
|
||||
<h1>{{ config('app.name') }} Portal</h1>
|
||||
<p>© @php echo date('Y'); @endphp - {{ config('app.name') }} - All Rights Reserved </p>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</section>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer-copyright text-center py-3">
|
||||
<strong> Secure SSL Area | This website is protected by secure portal © @php echo date('Y'); @endphp Clickletters LLC/M2C Academy LLC. All rights reserved.</strong>
|
||||
</div>
|
||||
|
||||
|
||||
@endsection
|
||||
351
resources/views/auth/manage_client.blade.php
Normal file
351
resources/views/auth/manage_client.blade.php
Normal file
@@ -0,0 +1,351 @@
|
||||
@extends('layouts.app')
|
||||
@push('css')
|
||||
<style>
|
||||
.color-red{
|
||||
color:red
|
||||
}
|
||||
.font-bold{
|
||||
font-weight: bold;
|
||||
}
|
||||
</style>
|
||||
@endpush
|
||||
@section('content')
|
||||
@php
|
||||
$max_file_size= $file = config('constant.MAX_FILE_SIZE');
|
||||
$source_types = config('constant.sourceType');
|
||||
$credit_report_providers = getCache('credit_report_provider_link');
|
||||
$free_value = array_keys(config('constant.CLIENT_TYPES'),"Free");
|
||||
@endphp
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-12 column col-sm-offset-0 ">
|
||||
<div class="panel panel-default panel-frm">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="panel-heading">
|
||||
<h3>Account Info <small>Manage your account info</small></h3>
|
||||
<div class="pull-right" style="margin-top: -30px;margin-right: 10px;">
|
||||
<button class="btn btn-sm btn-info" style="background: #FF440A !important;border-color: #FF440A !important;" type="button" id="btn_show_hide_text" onclick="return show_hide_textbox(this)" data-toggle="tooltip" title="Show or Hide Name,Email,SSN,Phone">
|
||||
<i class="fa fa-eye" style="font-size: 14px; color: black;" id="show_hide_icon" aria-hidden="true"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="clearfix"></div>
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="x_panel">
|
||||
<form method="post" action="{{route('manage.clients')}}" id="client_form" autocomplete="off"
|
||||
enctype=multipart/form-data
|
||||
class="input-form-section">
|
||||
@csrf
|
||||
<div class="x_content">
|
||||
<div class="col-md-12">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="firstname">First Name</label>
|
||||
<input class="form-control" name="creditreport[first_name]" type="text"
|
||||
value="<?php echo auth()->user()->first_name; ?>" >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="Last Name">Last Name</label>
|
||||
<input class="form-control" name="creditreport[last_name]" type="text"
|
||||
value="<?php echo auth()->user()->last_name; ?>" >
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="dob">Date of Birth</label>
|
||||
<input class="form-control" name="creditreport[birth_date]" type="text" maxlength="10" onkeyup="birthDateCompleted()"
|
||||
value="<?php echo auth()->user()->birth_date; ?>" >
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="ssn">Social Security Number</label>
|
||||
<input class="form-control" name="creditreport[ssn]"
|
||||
type="text" maxlength="4"
|
||||
value="<?php echo auth()->user()->ssn; ?>"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="Phone">Phone</label>
|
||||
<input class="form-control" name="creditreport[phone]" type="text"
|
||||
value="<?php echo auth()->user()->phone; ?>" >
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="Street Number">Street Number</label>
|
||||
<input class="form-control" name="creditreport[street_no]" type="text"
|
||||
value="<?php echo auth()->user()->street_no; ?>" >
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="Street Name">Street Name</label>
|
||||
<input class="form-control" name="creditreport[street_name]" type="text"
|
||||
value="<?php echo auth()->user()->street_name; ?>">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="City">City</label>
|
||||
<input class="form-control" name="creditreport[city]" type="text"
|
||||
value="<?php echo auth()->user()->city; ?>" >
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="State">State</label>
|
||||
<input class="form-control" name="creditreport[state]" type="text"
|
||||
value="<?php echo auth()->user()->state; ?>" >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="dob">Zip</label>
|
||||
<input class="form-control" name="creditreport[zip_code]" type="text"
|
||||
value="<?php echo auth()->user()->zip_code; ?>" >
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="dob">Email</label>
|
||||
<input class="form-control" disabled name="creditreport[email]"
|
||||
type="text"
|
||||
value="<?php echo auth()->user()->email; ?>" >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="dob">Password</label>
|
||||
<div class="input-group" id="manage_client_show_hide_password">
|
||||
<input class="form-control" name="creditreport[password]"
|
||||
type="password"
|
||||
value="{{customDecrypt(auth()->user()->password)}}">
|
||||
<div class="input-group-addon">
|
||||
<a href=""><i class="fa fa-eye-slash" aria-hidden="true"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="source_type">Source Type</label>
|
||||
<select name="creditreport[credit_report_company_type]" onchange="sourceTypeOnchange()" id="company_type" class="form-control">
|
||||
@foreach($source_types as $key => $value)
|
||||
@if(auth()->user()->is_free == (int)$free_value && $value == config('constant.sourceType.SmartCredit'))
|
||||
@continue;
|
||||
@endif
|
||||
@if(auth()->user()->credit_report_company_type == $value)
|
||||
<option value="{{$value}}" {{auth()->user()->credit_report_company_type == $value ? 'selected':''}}> {{$key}}</option>
|
||||
@endif
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_content" id="upload-document-panel">
|
||||
@include('partials.upload_documents')
|
||||
</div>
|
||||
<div class="col-md-12 hidden">
|
||||
@if(count($question_answer) > 0 && auth()->user()->credit_report_company_type == config('constant.sourceType.SmartCredit'))
|
||||
@include('partials.user_identity_question_answer',['question_answers'=>$question_answer])
|
||||
@endif
|
||||
</div>
|
||||
@if(isClientSubscription())
|
||||
<div class="col-sm-12 center" style="margin-top: 10px; text-align: center; ">
|
||||
<input class="btn btn-success btn2" onclick="return client_form_submit(this)" type="submit" value="Save Changes">
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if (!empty($upload_medias))
|
||||
@include('partials.modals.upload_doc_modal')
|
||||
@endif
|
||||
|
||||
<div class="modal fade" id="common_confirmation_modal" style="margin-top: 50px" tabindex="-1" aria-hidden="true">
|
||||
<div class="modal-dialog modal-md" id="modal-dialog-panel">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<h4 class="mb-2 text-center" style="color: red" id="common_message_text">
|
||||
|
||||
</h4>
|
||||
</div>
|
||||
<div class="modal-footer" style="text-align: center">
|
||||
<button type="button" class="btn btn-secondary btn-lg" data-dismiss="modal">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
|
||||
@push('script')
|
||||
|
||||
<script>
|
||||
|
||||
$(document).ready(function() {
|
||||
@if(getSession('login') == 1)
|
||||
sessionStorage.setItem('user_data_viewed','0');
|
||||
sessionStorage.setItem('video_shown','0');
|
||||
{{setSession('login',0)}};
|
||||
@endif
|
||||
|
||||
if (sessionStorage.getItem("user_data_viewed") === "1") {
|
||||
$('#show_hide_icon').removeClass('fa-eye-slash');
|
||||
$('#show_hide_icon').addClass('fa-eye');
|
||||
}
|
||||
|
||||
if (sessionStorage.getItem("user_data_viewed") === "0") {
|
||||
$('#show_hide_icon').removeClass('fa-eye');
|
||||
$('#show_hide_icon').addClass('fa-eye-slash');
|
||||
}
|
||||
|
||||
show_hide_textbox();
|
||||
@if(!(isClientSubscription()))
|
||||
showSubscription();
|
||||
@else
|
||||
@if(isClientFirstTimeLogin())
|
||||
common_helper.commonModalView('{{route('show.modal')}}','FIRST_TIME_LOGIN_MODAL_VIEW','first_time_login_modal');
|
||||
// showFirstTimeLoginModalView();
|
||||
@endif
|
||||
@endif
|
||||
|
||||
});
|
||||
|
||||
const sourceTypeOnchange=()=>{
|
||||
|
||||
let selected_value = $("#company_type").val();
|
||||
|
||||
let current_source_type = {{auth()->user()->credit_report_company_type}};
|
||||
|
||||
let source_name = current_source_type == 1 ? 'SmartCredit' : "Identity IQ" ;
|
||||
sourceTypeConfigUnset()
|
||||
if( selected_value != current_source_type){
|
||||
|
||||
let html = 'Set up your '+ source_name+ ' first, use the same email and password you used to set up your credit zombies account';
|
||||
$('#common_message_text').text(html);
|
||||
sourceTypeConfigSetup(current_source_type)
|
||||
$('#common_confirmation_modal').modal('show');
|
||||
}
|
||||
//$("select[name='source_type']").val(current_source_type);
|
||||
}
|
||||
|
||||
const hideFirstTimeLoginModalView=()=>{
|
||||
|
||||
$('#first_time_login_modal').modal('hide');
|
||||
|
||||
let provider = $('#report_provider').val();
|
||||
let providers = [];
|
||||
|
||||
let go_to_url = '';
|
||||
|
||||
providers = @php echo json_encode($credit_report_providers);@endphp;
|
||||
|
||||
go_to_url = providers[parseInt(provider)];
|
||||
|
||||
window.open(go_to_url,'_blank') ;
|
||||
|
||||
firstTimeLoginUserUpdate();
|
||||
}
|
||||
|
||||
const client_form_submit =(e)=>{
|
||||
$('.has-error').removeClass('has-error')
|
||||
if($('#client_form').valid()) {
|
||||
let url = '{{ route('admin.ajax.get.process') }}';
|
||||
let email = $('#client_form').find('input[name="creditreport[email]"]').val();
|
||||
let password = $('[name="creditreport[password]"]').val();
|
||||
let source_type = $("#company_type").val();
|
||||
let ssn = $('[name="creditreport[ssn]"]').val();
|
||||
|
||||
let data = {
|
||||
action: 'GET_SUBSCRIPTION_STATUS_CREDIT_REPORT_PROVIDER',
|
||||
email: email,
|
||||
password: password,
|
||||
source_type: source_type,
|
||||
ssn: ssn,
|
||||
};
|
||||
common_helper.globalAjaxRequestAsync(url, 'get', data, callbackfromreportprovider);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
const file_delete = (title,image)=>{
|
||||
let action = 'DELETE_CLIENT_DOC_FILE';
|
||||
let html_content = `<h4>Are you sure you want to delete </h4>`;
|
||||
html_content += `<h4>`+ title + ` file?` +`</h4>`;
|
||||
const swalresponse = common_helper.swalAleart(html_content, 'warning', 450, true, '', true, true, 'Yes');
|
||||
swalresponse.then(async function (result) {
|
||||
if (result.isConfirmed) {
|
||||
let response = await common_helper.globalAjaxRequest('<?php echo e(route('process.ajax')); ?>', 'POST', {
|
||||
action: action,
|
||||
userData: image,
|
||||
_token: "<?php echo e(csrf_token()); ?>"
|
||||
});
|
||||
if (response.status) {
|
||||
Swal.fire({icon: response.type, title: response.message, width: 450,closeOnConfirm: true});
|
||||
window.location = `<?php echo e(route('manage.clients')); ?>`;
|
||||
} else {
|
||||
Swal.fire({icon: response.type, title: response.message, width: 450,closeOnConfirm: true});
|
||||
}
|
||||
}
|
||||
})
|
||||
};
|
||||
|
||||
const showSubscription=()=> {
|
||||
common_helper.commonModalView('{{route('show.modal')}}','RECURRING_VIEW_MODAL','recurring_view_modal');
|
||||
}
|
||||
|
||||
const show_hide_textbox = (e)=>{
|
||||
$return_data = common_helper.show_hide_textbox($('#show_hide_icon'),
|
||||
$('[name="creditreport[phone]"]'),$('[name="creditreport[email]"]'),
|
||||
$('[name="creditreport[first_name]"]'),$('[name="creditreport[last_name]"]'),
|
||||
$('[name="creditreport[ssn]"]'),$('[name="creditreport[birth_date]"]'),
|
||||
$('[name="creditreport[street_no]"]'),$('[name="creditreport[street_name]"]'),
|
||||
$('[name="creditreport[city]"]'),$('[name="creditreport[state]"]'),
|
||||
$('[name="creditreport[zip_code]"]')
|
||||
);
|
||||
|
||||
sessionStorage.setItem('user_data_viewed',$return_data);
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<script src="{{asset('/')}}js/accountinfo/clientinfo.js?v=1.0.2"></script>
|
||||
@endpush
|
||||
113
resources/views/basic/pagination.blade.php
Normal file
113
resources/views/basic/pagination.blade.php
Normal file
@@ -0,0 +1,113 @@
|
||||
@if ($paginator->total()>0)
|
||||
|
||||
<?php
|
||||
$items_count = 3;
|
||||
$show_first_item = false;
|
||||
$show_last_item = false;
|
||||
|
||||
$limit_start= 1;
|
||||
$limit_end= 1;
|
||||
if (count($elements[0]) > $items_count*2) {
|
||||
$limit_start= $paginator->currentPage() - 1;
|
||||
$limit_end= $limit_start + 2;
|
||||
}
|
||||
|
||||
if($paginator->currentPage() >= $items_count) {
|
||||
$show_first_item= true;
|
||||
}
|
||||
if($paginator->lastPage() > $paginator->currentPage() + 1) {
|
||||
$show_last_item= true;
|
||||
}
|
||||
?>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
|
||||
Showing {{($paginator->currentpage()-1)*$paginator->perpage()+1}}
|
||||
to {{($paginator->hasMorePages())?
|
||||
($paginator->currentpage()*$paginator->perpage()):
|
||||
$paginator->total()}}
|
||||
of {{$paginator->total()}} entries
|
||||
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="pull-right">
|
||||
<nav aria-label="Page navigation">
|
||||
<ul class="pagination justify-content-end">
|
||||
@if ($paginator->onFirstPage())
|
||||
<li class="page-item disabled">
|
||||
<a class="page-link" href="#" tabindex="-1">< Previous </a>
|
||||
</li>
|
||||
@else
|
||||
<li class="page-item"><a class="page-link" href="{{ $paginator->previousPageUrl() }}">< Previous </a></li>
|
||||
@endif
|
||||
|
||||
@foreach ($elements as $element)
|
||||
{{-- "Three Dots" Separator --}}
|
||||
@if (is_string($element))
|
||||
<li class="page-item disabled"><span class="">{{ $element }}</span></li>
|
||||
@endif
|
||||
|
||||
{{-- Array Of Links --}}
|
||||
@if (is_array($element))
|
||||
|
||||
@foreach ($element as $page => $url)
|
||||
|
||||
@if(count($element)>5)
|
||||
|
||||
@if($show_first_item and $page == 1)
|
||||
<li class="page-item"><a class="page-link" href="{{ $url }}">{{ $page }}</a></li>
|
||||
@if($paginator->currentPage()!= 3)
|
||||
<li class="page-item disabled"><a class="page-link">...</a></li>
|
||||
@endif
|
||||
@endif
|
||||
|
||||
@if($page >= $limit_start and $page <= $limit_end)
|
||||
@if ($page == $paginator->currentPage())
|
||||
<li class="page-item active"><a href=""><span class="page-link">{{ $page }}</span></a></li>
|
||||
@else
|
||||
<li class="page-item"><a class="page-link" href="{{ $url }}">{{ $page }}</a></li>
|
||||
@endif
|
||||
@endif
|
||||
|
||||
@if($show_last_item and $page == $paginator->lastPage())
|
||||
@if($paginator->currentPage()!= $paginator->lastPage()-2)
|
||||
<li class="page-item disabled"><a class="page-link">...</a></li>
|
||||
@endif
|
||||
<li class="page-item"><a class="page-link" href="{{ $url }}">{{ $page }}</a></li>
|
||||
@endif
|
||||
|
||||
@else
|
||||
|
||||
@if ($page == $paginator->currentPage())
|
||||
<li class="page-item active">
|
||||
<a class="page-link">{{ $page }}</a>
|
||||
</li>
|
||||
@else
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="{{ $url }}">{{ $page }}</a>
|
||||
</li>
|
||||
@endif
|
||||
|
||||
@endif
|
||||
|
||||
@endforeach
|
||||
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
@if ($paginator->hasMorePages())
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="{{ $paginator->nextPageUrl() }}" rel="next"> Next ></a>
|
||||
</li>
|
||||
@else
|
||||
<li class="page-item disabled">
|
||||
<a class="page-link" href="#"> Next ></a>
|
||||
</li>
|
||||
@endif
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
51
resources/views/basic/terms_and_condition.blade.php
Normal file
51
resources/views/basic/terms_and_condition.blade.php
Normal file
@@ -0,0 +1,51 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<!-- Meta, title, CSS, favicons, etc. -->
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="shortcut icon" href="{{ asset('images/favicon.png') }}"/>
|
||||
<title>{{ config('app.name') }}</title>
|
||||
|
||||
<!-- Bootstrap -->
|
||||
<link href="{{ asset('theme/bootstrap/dist/css/bootstrap.min.css') }}" rel="stylesheet">
|
||||
<!-- Font Awesome -->
|
||||
<link href="{{ asset('theme/font-awesome/css/font-awesome.min.css') }}" rel="stylesheet">
|
||||
|
||||
</head>
|
||||
|
||||
<body class="nav-sm"> <!-- nav-sm -->
|
||||
|
||||
<div class="container body" style="margin-top: 10px">
|
||||
<div class="main_container" >
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="panel panel-default">
|
||||
|
||||
<div class="panel-heading text-center">
|
||||
<h1>Terms of service</h1>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="x_panel">
|
||||
<div class="x_content">
|
||||
{{empty($content['terms_service'])?'':print_r($content['terms_service'])}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
|
||||
|
||||
57
resources/views/basic/terms_and_service_entry.blade.php
Normal file
57
resources/views/basic/terms_and_service_entry.blade.php
Normal file
@@ -0,0 +1,57 @@
|
||||
@extends('layouts.admin')
|
||||
@push('css')
|
||||
<link href="{{ asset('js/summernote/summernote.css') }}" rel="stylesheet">
|
||||
@endpush
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="panel panel-default">
|
||||
|
||||
<div class="panel-heading">
|
||||
<h1>Terms of service</h1>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="clearfix"></div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="x_panel">
|
||||
<form method="post" action="{{route('terms.of.service')}}" enctype="multipart/form-data">
|
||||
@csrf
|
||||
|
||||
<input type="hidden" name="id" value="{{empty($content['id'])?'':$content['id']}}" />
|
||||
<div class="form-group">
|
||||
<label>Title</label>
|
||||
|
||||
<input type="text" name="title" value="{{empty($content['title'])?'terms and service':$content['title']}}" class="form-control" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Description</label>
|
||||
|
||||
<textarea id="summernote" name="body" > {{empty($content['terms_service'])?'':$content['terms_service']}}</textarea>
|
||||
</div>
|
||||
|
||||
<div class="pull-right">
|
||||
@if(isShowContent('terms.of.service'))
|
||||
<button type="submit" class="btn btn-success btn-block">Publish</button>
|
||||
@endif
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@push('script')
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
let selctor=$('#summernote');
|
||||
common_helper.init_summernote(selctor);
|
||||
})
|
||||
</script>
|
||||
@endpush
|
||||
|
||||
|
||||
266
resources/views/client/list.blade.php
Normal file
266
resources/views/client/list.blade.php
Normal file
@@ -0,0 +1,266 @@
|
||||
@extends('layouts.admin')
|
||||
<style>
|
||||
#table-clients td {
|
||||
text-align: left !important;
|
||||
padding: 8px !important;
|
||||
}
|
||||
|
||||
#table-clients th {
|
||||
padding: 8px !important;
|
||||
}
|
||||
|
||||
</style>
|
||||
@php
|
||||
$pageLimit = $searchData['pageLimit'];
|
||||
$account_status = $searchData['account_status'];
|
||||
$search_value = $searchData['search_value'];
|
||||
$payment_status = $searchData['payment_status'];
|
||||
$client_type = $searchData['client_type'];
|
||||
@endphp
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<div class="row" style="padding-left: 20px;padding-right: 15px">
|
||||
<h3 class="pull-left">Client List</h3>
|
||||
@if(isShowContent('client.create'))
|
||||
<a href="{{route('client.create')}}" class="btn btn2 btn-success btn-flat pull-right">
|
||||
<i class="fa fa-user" aria-hidden="true"></i>
|
||||
Add Client
|
||||
</a>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="x_panel">
|
||||
<div class="x_content">
|
||||
|
||||
<form action="{{route('get.clients')}}" method="get" role="search">
|
||||
<div class="row">
|
||||
<div class="col-md-1 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label>Show</label>
|
||||
<select name="pageLimit" id="pagination" class="form-control"
|
||||
onchange="this.form.submit()">
|
||||
<option value="10" @if($pageLimit == 10) selected @endif>10</option>
|
||||
<option value="20" @if($pageLimit == 20) selected @endif>20</option>
|
||||
<option value="50" @if($pageLimit == 50) selected @endif>50</option>
|
||||
<option value="100" @if($pageLimit == 100) selected @endif>100</option>
|
||||
<option value="500" @if($pageLimit == 500) selected @endif>500</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label>Account Status</label>
|
||||
<select name="account_status" id="account_status" class="form-control">
|
||||
<option value="">All</option>
|
||||
@foreach(config('constant.ACCOUNT_STATUS') as $key => $obj )
|
||||
<option value="{{$obj}}"
|
||||
@if ($obj==$searchData['account_status'])
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{$key}}</option>
|
||||
@endforeach
|
||||
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label>Client Type</label>
|
||||
<select name="client_type" id="client_type" class="form-control">
|
||||
<option value="">All</option>
|
||||
@if(!empty(config('constant.CLIENT_TYPES')))
|
||||
@foreach(config('constant.CLIENT_TYPES') as $key => $obj )
|
||||
<option value="{{$key}}"
|
||||
@if ($key == $searchData['client_type'])
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{$obj}}</option>
|
||||
@endforeach
|
||||
@endif
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label>Payment Status</label>
|
||||
<select name="payment_status" id="payment_status" class="form-control">
|
||||
<option value="">All</option>
|
||||
@if(!empty(config('constant.PAYMENT_STATUS')))
|
||||
@foreach(config('constant.PAYMENT_STATUS') as $key => $obj )
|
||||
<option value="{{$key}}"
|
||||
@if ($key == $searchData['payment_status'])
|
||||
selected="selected"
|
||||
@endif
|
||||
>{{$obj}}</option>
|
||||
@endforeach
|
||||
@endif
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label>Client Name/Email/Phone</label>
|
||||
<input id="search_value"
|
||||
type="text"
|
||||
value="{{$searchData['search_value']}}"
|
||||
placeholder="Search By Client Name/Email/Phone"
|
||||
class="form-control" name="search_value" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-1 col-xs-12">
|
||||
<div class="form-group" style="margin-top: 25px;">
|
||||
<button class="btn btn-primary btn-outline-primary" style="width:100%" type="submit">Search</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
@if(isShowContent('admin.ajax.process'))
|
||||
<button style="margin-top: 15px;" onclick="return multipleClientDelete()" type="button"
|
||||
class="btn btn-danger pull-left" style="margin-left: 10px"
|
||||
id="btnDeleteMultipleClient" disabled>Delete Client
|
||||
</button>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<div class="table-responsive py-5">
|
||||
<table id="table-clients" class="table table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><input type="checkbox" name="allChecked" value="all"
|
||||
onclick="common_helper.allChecked(this,'checkedBoxClient')"></th>
|
||||
<th>Client Name</th>
|
||||
<th>Email</th>
|
||||
<th>Phone</th>
|
||||
<th>Address</th>
|
||||
<th> Account Status</th>
|
||||
<th> Payment Status</th>
|
||||
<th> Account Cancel Date</th>
|
||||
<th>Created At</th>
|
||||
<th>Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@if(!empty($users['data']))
|
||||
@foreach ($users['data'] as $key => $obj)
|
||||
@php
|
||||
$user_info = json_encode([$obj->id,$obj->email]);
|
||||
$action = 'DELETE_CLIENT';
|
||||
@endphp
|
||||
<tr class="tr-height">
|
||||
<td><input type="checkbox" name="checkedBoxClient"
|
||||
value="{{ $user_info }}" onclick="checkedornot(this)"></td>
|
||||
<td>{{$obj->first_name.' '.$obj->last_name}}</td>
|
||||
<td>{{ $obj->email}}</td>
|
||||
<td>{{ $obj->phone }}</td>
|
||||
<td>{{ $obj->street_no.', '.$obj->street_name.', '.$obj->city }}</td>
|
||||
<td> @php echo getAccountStatus($obj->subscription_status,$obj->status) @endphp</td>
|
||||
<td> @php echo getPaymentStatus($obj->last_payment_date) @endphp</td>
|
||||
<td>{{ ($obj->account_cancel_datetime !=null)? getStringToDateTime($obj->account_cancel_datetime,'m/d/Y h:i:s a'):'' }}</td>
|
||||
<td>{{ getStringToDateTime($obj->created_at,'m/d/Y h:i:s a') }}</td>
|
||||
<td>
|
||||
@if(isShowContent('get.client.info'))
|
||||
<a href="{{route('get.client.info',$obj->id)}}"
|
||||
class="btn btn-success" style="padding: 5px;"> <span
|
||||
class="glyphicon glyphicon-pencil" title="Edit"></span></a>
|
||||
@endif
|
||||
@if(isShowContent('admin.ajax.process'))
|
||||
<button onclick="return clientDelete({{$user_info}},'{{$action}}')"
|
||||
class="btn btn-danger" style="padding: 5px;"><span
|
||||
class="glyphicon glyphicon-trash" title="Delete"></span>
|
||||
</button>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endif
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
<div id="pagination_panel">
|
||||
{{ $users['data']->appends(compact('pageLimit' ,'account_status','payment_status', 'search_value','client_type')) ->links('basic.pagination') }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@push('script')
|
||||
<script>
|
||||
const multipleClientDelete = () => {
|
||||
let action = 'DELETE_MULTIPLE_CLIENT';
|
||||
let checkedData = $("[name='checkedBoxClient']");
|
||||
let clientId = [];
|
||||
for (let checkbox of checkedData) {
|
||||
if (checkbox.checked)
|
||||
clientId.push(checkbox.value);
|
||||
}
|
||||
if (clientId.length > 0) {
|
||||
clientDelete(clientId,action);
|
||||
}
|
||||
}
|
||||
|
||||
const clientDelete = (userData,action) => {
|
||||
let html_content = `<h4>Are you sure you want to delete client?</h4>`;
|
||||
const swalresponse = common_helper.swalAleart(html_content, 'warning', 450, true, '', true, true, 'Yes');
|
||||
swalresponse.then(async function (result) {
|
||||
if (result.isConfirmed) {
|
||||
let response = await common_helper.globalAjaxRequest('{{route('admin.ajax.process')}}', 'POST', {
|
||||
action: action,
|
||||
userData: userData,
|
||||
_token: "{{ csrf_token() }}"
|
||||
});
|
||||
if (response.status) {
|
||||
Swal.fire({icon: response.type, title: response.message, width: 450,closeOnConfirm: true});
|
||||
window.location = `{{route('get.clients')}}`;
|
||||
} else {
|
||||
Swal.fire({icon: response.type, title: response.message, width: 450,closeOnConfirm: true});
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
const checkedornot = (e) => {
|
||||
|
||||
let allData = $("[name='checkedBoxClient']");
|
||||
let checkedData = $("[name='checkedBoxClient']:checked");
|
||||
let allChecked = false;
|
||||
let alldelete = false;
|
||||
|
||||
if(allData.length === checkedData.length){
|
||||
allChecked = true;
|
||||
}
|
||||
|
||||
if(checkedData.length === 0){
|
||||
alldelete = true;
|
||||
}
|
||||
|
||||
$("[name='allChecked']").prop('checked', allChecked);
|
||||
|
||||
$('#btnDeleteMultipleClient').prop('disabled', alldelete);
|
||||
|
||||
}
|
||||
|
||||
const paymentStatusOnChange = (e) => {
|
||||
let status = $('#payment_status').val();
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
@endpush
|
||||
449
resources/views/client/manual_client_create.blade.php
Normal file
449
resources/views/client/manual_client_create.blade.php
Normal file
@@ -0,0 +1,449 @@
|
||||
@extends('layouts.admin')
|
||||
@section('content')
|
||||
<style>
|
||||
.d-none{
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-12 column col-sm-offset-0 ">
|
||||
<div class="panel panel-default panel-frm">
|
||||
<div class="panel-heading">
|
||||
<div class="row" style="padding-left: 20px;padding-right: 15px">
|
||||
<h3 class="pull-left"> Client Registration</h3>
|
||||
@if(isShowContent('get.clients'))
|
||||
<a href="{{route('get.clients')}}" class="btn btn2 btn-success btn-flat pull-right">
|
||||
<i class="fa fa-list" aria-hidden="true"></i>
|
||||
Client List
|
||||
</a>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<div class="clearfix"></div>
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="x_panel">
|
||||
<form method="post" action="{{route('client.insert')}}" id="client_form" autocomplete="off"
|
||||
class="input-form-section">
|
||||
@csrf
|
||||
<div class="x_content">
|
||||
<div class="col-md-12">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="firstname">First Name</label>
|
||||
<input class="form-control" name="first_name" type="text" placeholder=" First Name" >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="Last Name">Last Name</label>
|
||||
<input class="form-control" name="last_name" type="text" placeholder=" Last Name">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="dob">Email</label>
|
||||
<input class="form-control" name="email"
|
||||
type="text" placeholder=" Email" >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="dob">Password</label>
|
||||
<div class="input-group" id="manage_client_show_hide_password">
|
||||
<input class="form-control" name="password"
|
||||
type="password" placeholder=" Password">
|
||||
<div class="input-group-addon">
|
||||
<a href=""><i class="fa fa-eye-slash" aria-hidden="true"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="Phone">Phone</label>
|
||||
<input class="form-control" name="phone" type="text" placeholder=" Phone Number">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="Street Number">Street Number</label>
|
||||
<input class="form-control" name="street_no" type="text" placeholder=" street No">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="Street Name">Street Name</label>
|
||||
<input class="form-control" name="street_name" type="text" placeholder=" Street Name">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="City">City</label>
|
||||
<input class="form-control" name="city" type="text" placeholder=" City" >
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="State">State</label>
|
||||
<input class="form-control" name="state" type="text" placeholder=" State" >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="zip_code">Zip</label>
|
||||
<input class="form-control" name="zip_code" type="text" placeholder=" Zip Code">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12" id="user_access_date_div">
|
||||
<div class="form-group">
|
||||
<label for="month">Free Access Date</label>
|
||||
<input class="form-control" name="user_access_date" id="user_access_date" type="text" placeholder="mm/dd/yyyy">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="form-group col-md-6 col-xs-12 text-left">
|
||||
<input class="form-check-input" type="checkbox" name="make_payment"
|
||||
value="1" id="make_payment">
|
||||
<label class="form-check-label" >
|
||||
Make Payment
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row d-none" id="card_info" >
|
||||
|
||||
<div class="col-md-12">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="dob">Date of Birth</label>
|
||||
<input class="form-control" name="birth_date" id="birth_date" type="text" maxlength="10" onkeyup="birthDateCompleted()" placeholder="mm/dd/yyyy" >
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="ssn">Social Security Number</label>
|
||||
<input class="form-control" name="ssn" maxlength="4"
|
||||
type="text" placeholder="last 4 digit of ssn">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="dob">Payment Date</label>
|
||||
<input class="form-control" name="payment_date" id="payment_date" type="text" maxlength="10" onkeyup="paymentDateCompleted()" placeholder="mm/dd/yyyy" >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="">Source Type</label>
|
||||
@php
|
||||
$source_types = config('constant.sourceType');
|
||||
@endphp
|
||||
<select name="source_type" class="form-control">
|
||||
@foreach($source_types as $key=>$value)
|
||||
<option value="{{$value}}"> {{$key}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="card_number">Card Number</label>
|
||||
<input class="form-control" name="card_number" type="text" placeholder="e.g, 4111111111111111" >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="expiry">Expiry</label>
|
||||
<input class="form-control" name="expiry" type="text" maxlength="5" onkeyup="expiryDateCompleted()" placeholder="e.g, DD/YY" >
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-12 c" style="margin-top: 10px; text-align: center; ">
|
||||
<input class="btn btn-success btn2" type="submit" onclick="return client_form_submit(this)" value="Save Changes">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="common_confirmation_modal" style="margin-top: 50px" tabindex="-1" aria-hidden="true">
|
||||
<div class="modal-dialog modal-md" id="modal-dialog-panel">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<h4 class="mb-2 text-center" style="color: red" id="common_message_text">
|
||||
|
||||
</h4>
|
||||
</div>
|
||||
<div class="modal-footer" style="text-align: center">
|
||||
<button type="button" class="btn btn-secondary btn-lg" data-dismiss="modal">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('script')
|
||||
<script>
|
||||
|
||||
$(function(){
|
||||
common_helper.datePicker('#user_access_date','mm/dd/yyyy',false,new Date(new Date().setDate(new Date().getDate() + 1)),null);
|
||||
common_helper.datePicker('#birth_date','mm/dd/yyyy',true,null);
|
||||
common_helper.datePicker('#payment_date','mm/dd/yyyy',true,null);
|
||||
|
||||
});
|
||||
|
||||
$("#manage_client_show_hide_password a").on('click', function(event) {
|
||||
common_helper.globalPasswordView('#manage_client_show_hide_password',event);
|
||||
});
|
||||
|
||||
const birthDateCompleted=()=>{
|
||||
let birth_date=$("[name='birth_date']").val();
|
||||
if(birth_date.length===2){
|
||||
birth_date+='/';
|
||||
}
|
||||
else if(birth_date.length===5){
|
||||
birth_date+='/';
|
||||
}
|
||||
$("[name='birth_date']").val(birth_date);
|
||||
}
|
||||
|
||||
const expiryDateCompleted=()=>{
|
||||
let expiry_date=$("[name='expiry']").val();
|
||||
if(expiry_date.length===2){
|
||||
expiry_date+='/';
|
||||
}
|
||||
$("[name='expiry']").val(expiry_date);
|
||||
}
|
||||
|
||||
const paymentDateCompleted=()=>{
|
||||
let pay_date=$("[name='payment_date']").val();
|
||||
if(pay_date.length===2){
|
||||
pay_date+='/';
|
||||
}
|
||||
else if(pay_date.length===5){
|
||||
pay_date+='/';
|
||||
}
|
||||
$("[name='payment_date']").val(pay_date);
|
||||
}
|
||||
|
||||
const client_form_submit =(e)=>{
|
||||
|
||||
var data = $('#make_payment').prop("checked");
|
||||
|
||||
if(data) {
|
||||
$('#client_form').validate({
|
||||
rules: {
|
||||
'first_name': 'required',
|
||||
'last_name': 'required',
|
||||
'email' : 'required',
|
||||
'password' : 'required',
|
||||
'street_no' : 'required',
|
||||
'street_name' : 'required',
|
||||
'city' : 'required',
|
||||
'state' : 'required',
|
||||
'zip_code' : 'required',
|
||||
'phone' : 'required',
|
||||
'birth_date': 'required',
|
||||
'ssn' : 'required',
|
||||
'payment_date' : 'required',
|
||||
'source_type' : 'required',
|
||||
'card_number' : 'required',
|
||||
'expiry' : 'required',
|
||||
|
||||
},
|
||||
messages: {
|
||||
'first_name': {
|
||||
required: "Please enter first name"
|
||||
},
|
||||
'last_name': {
|
||||
required: "Please enter last name"
|
||||
}, 'email': {
|
||||
required: "Please enter email"
|
||||
}, 'password': {
|
||||
required: "Please enter password"
|
||||
},
|
||||
'street_no': {
|
||||
required: "Please enter street number"
|
||||
},
|
||||
'street_name': {
|
||||
required: "Please enter street name"
|
||||
},
|
||||
'state': {
|
||||
required: "Please enter state"
|
||||
},
|
||||
'city': {
|
||||
required: "Please enter city"
|
||||
},
|
||||
'zip_code': {
|
||||
required: "Please enter zip code"
|
||||
},
|
||||
'phone': {
|
||||
required: "Please enter phone number"
|
||||
},
|
||||
'birth_date': {
|
||||
required: "Please enter birth date",
|
||||
},
|
||||
'ssn': {
|
||||
required: "Please enter ssn"
|
||||
},
|
||||
'payment_date': {
|
||||
required: "Please enter Payment Date"
|
||||
},
|
||||
'source_type': {
|
||||
required: "Please enter source type"
|
||||
},
|
||||
'card_number' : {
|
||||
required: "Please enter valid card number"
|
||||
},
|
||||
'expiry' : {
|
||||
required: "Please enter expiry date"
|
||||
},
|
||||
|
||||
},
|
||||
highlight: function (element) {
|
||||
$(element).parent().addClass("has-error");
|
||||
},
|
||||
// submitHandler: function (form) {
|
||||
// form.submit();
|
||||
// }
|
||||
});
|
||||
if($('#client_form').valid()) {
|
||||
let url = '{{ route('admin.ajax.get.process') }}';
|
||||
let email = $('#client_form').find('input[name=email]').val();
|
||||
let password = $('[name="password"]').val();
|
||||
let source_type = $('[name="source_type"]').val();
|
||||
let ssn = $('[name="ssn"]').val();
|
||||
let data = {
|
||||
action: 'GET_SUBSCRIPTION_STATUS_CREDIT_REPORT_PROVIDER',
|
||||
email: email,
|
||||
password: password,
|
||||
source_type: source_type,
|
||||
ssn: ssn
|
||||
};
|
||||
common_helper.globalAjaxRequestAsync(url, 'get', data, callbackfromreportprovider);
|
||||
}
|
||||
return false;
|
||||
}else {
|
||||
$('#client_form').validate({
|
||||
rules: {
|
||||
'first_name': 'required',
|
||||
'last_name': 'required',
|
||||
'email' : 'required',
|
||||
'password' : 'required',
|
||||
'street_no' : 'required',
|
||||
'street_name' : 'required',
|
||||
'city' : 'required',
|
||||
'state' : 'required',
|
||||
'zip_code' : 'required',
|
||||
'phone' : 'required',
|
||||
'user_access_date' : 'required',
|
||||
},
|
||||
messages: {
|
||||
'first_name': {
|
||||
required: "Please enter first name"
|
||||
},
|
||||
'last_name': {
|
||||
required: "Please enter last name"
|
||||
}, 'email': {
|
||||
required: "Please enter email"
|
||||
}, 'password': {
|
||||
required: "Please enter password"
|
||||
},
|
||||
'street_no': {
|
||||
required: "Please enter street number"
|
||||
},
|
||||
'street_name': {
|
||||
required: "Please enter street name"
|
||||
},
|
||||
'state': {
|
||||
required: "Please enter state"
|
||||
},
|
||||
'city': {
|
||||
required: "Please enter city"
|
||||
},
|
||||
'zip_code': {
|
||||
required: "Please enter zip code"
|
||||
},
|
||||
'phone': {
|
||||
required: "Please enter phone number"
|
||||
},
|
||||
'user_access_date': {
|
||||
required: "Please enter last access date"
|
||||
},
|
||||
|
||||
},
|
||||
highlight: function (element) {
|
||||
$(element).parent().addClass("has-error");
|
||||
},
|
||||
submitHandler: function (form) {
|
||||
form.submit();
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
const callbackfromreportprovider =(response)=>{
|
||||
|
||||
if(response.status) {
|
||||
$('#client_form').submit();
|
||||
}else {
|
||||
let html = response.message;
|
||||
$('#common_message_text').text(html);
|
||||
$('#common_confirmation_modal').modal('show');
|
||||
}
|
||||
}
|
||||
|
||||
$('#make_payment').change(function() {
|
||||
|
||||
if(this.checked) {
|
||||
$('#card_info').removeClass('d-none');
|
||||
$('#user_access_date_div').addClass('d-none');
|
||||
|
||||
}else {
|
||||
$('#card_info').addClass('d-none');
|
||||
$('#user_access_date_div').removeClass('d-none');
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
@endpush
|
||||
117
resources/views/client/recurring_list.blade.php
Normal file
117
resources/views/client/recurring_list.blade.php
Normal file
@@ -0,0 +1,117 @@
|
||||
@extends('layouts.admin')
|
||||
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h1>Client Recurring List</h1>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<form action="{{route('recurring.data') }}" method="post">
|
||||
@csrf
|
||||
<div class="col-md-3 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label>Client Name</label>
|
||||
<input id="clientName"
|
||||
type="text"
|
||||
class="form-control" name="clientName" autocomplete="off">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label>From Date</label>
|
||||
<input id="fdate"
|
||||
type="text"
|
||||
class="form-control " name="fdate" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label>To Date</label>
|
||||
<input id="tdate"
|
||||
type="text"
|
||||
class="form-control" name="tdate" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3 col-xs-12">
|
||||
<div class="form-group" style="margin-top: 25px;">
|
||||
<button class="btn btn-outline-info" type="submit">Search</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<hr/>
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="x_panel">
|
||||
<div class="x_content">
|
||||
<table id="datatable-responsive" class="table table-striped table-hover table-responsive dt-responsive nowrap" cellspacing="0" width="100%">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Client Id</th>
|
||||
<th>Client Name</th>
|
||||
<th>Email</th>
|
||||
<th>Subscription Id</th>
|
||||
<th>Transaction Status</th>
|
||||
<th>Transaction Id</th>
|
||||
<th>Plan Amount</th>
|
||||
<th>Month Frequency</th>
|
||||
<th>Day Of Month</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@if(!empty($recurringInfo))
|
||||
@foreach ($recurringInfo as $key => $obj)
|
||||
@php
|
||||
if(($obj->transaction_status==config('constant.API_SUCCESS_CODE')))
|
||||
{
|
||||
$label='Success';
|
||||
}
|
||||
else{
|
||||
$label='Fail';
|
||||
}
|
||||
@endphp
|
||||
<tr class="tr-height">
|
||||
<td>{{$obj->user_id}}</td>
|
||||
<td>{{$obj->name}}</td>
|
||||
<td>{{ $obj->email}}</td>
|
||||
<td>{{ $obj->subscription_id }}</td>
|
||||
<td>{{ $label }}</td>
|
||||
<td>{{ $obj->transaction_id}}</td>
|
||||
<td>{{ $obj->plan_amount }}</td>
|
||||
<td>{{ $obj->month_frequency}}</td>
|
||||
<td>{{ $obj->day_of_month }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endif
|
||||
</tbody>
|
||||
</table>
|
||||
<div id="pagination_panel">
|
||||
{{ $recurringInfo->links('basic.pagination') }}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@push('script')
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('#fdate,#tdate').val(common_helper.formatDate());
|
||||
})
|
||||
common_helper.datePicker('#fdate');
|
||||
common_helper.datePicker('#tdate');
|
||||
</script>
|
||||
@endpush
|
||||
504
resources/views/client/view.blade.php
Normal file
504
resources/views/client/view.blade.php
Normal file
@@ -0,0 +1,504 @@
|
||||
@extends('layouts.admin')
|
||||
@section('content')
|
||||
<style>
|
||||
.d-none{
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
@php
|
||||
$user_access_end_date = '';
|
||||
if(!empty($user['data']['user_access_end_date'])){
|
||||
$user_access_end_date = getStringToDate($user['data']['user_access_end_date'],'m/d/Y');
|
||||
}
|
||||
|
||||
$inputData['subscription_status'] = $user['data']['subscription_status'];
|
||||
$inputData['status'] = $user['data']['status'];
|
||||
$inputData['is_import'] = $user['data']['is_import'];
|
||||
$waves = clientWaves(config('constant.MAX_WAVE'));
|
||||
@endphp
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-12 column col-sm-offset-0 ">
|
||||
<div class="panel panel-default panel-frm">
|
||||
<div class="panel-heading">
|
||||
<div class="row" style="padding-left: 20px;padding-right: 15px">
|
||||
<h3 class="pull-left">Account Info Of {{$user['data']['first_name'].' '.$user['data']['last_name']}}
|
||||
|
||||
</h3>
|
||||
|
||||
<form method="post" action="{{route('update.client.id')}}"
|
||||
autocomplete="off"
|
||||
class="input-form-section" id="client_activate_form">
|
||||
@csrf
|
||||
<input type="hidden" name="client_id" value="{{$user['data']['id']}}">
|
||||
|
||||
@if(getEnableImportReset($inputData))
|
||||
|
||||
<div class="pull-right">
|
||||
@if($user['data']['is_free'] == 1 )<label style="color: red">Free Member</label> @endif
|
||||
<input type="hidden" name="type" value="2">
|
||||
<input class="btn btn-success btn2" type="submit" onclick="return client_activate(this)" value="Reset Credit Report">
|
||||
</div>
|
||||
@endif
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="clearfix"></div>
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="x_panel">
|
||||
<form method="post" action="{{route('update.client')}}" id="client_form"
|
||||
autocomplete="off"
|
||||
class="input-form-section">
|
||||
@csrf
|
||||
<input type="hidden" name="id" value="{{$user['data']['id']}}">
|
||||
<input type="hidden" name="previous_email" value="{{$user['data']['email']}}">
|
||||
<div class="x_content">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="firstname">First Name</label>
|
||||
<input class="form-control" name="first_name" type="text"
|
||||
value="{{$user['data']['first_name']}}" id="firstname">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="Last Name">Last Name</label>
|
||||
<input class="form-control" name="last_name" type="text"
|
||||
value="{{$user['data']['last_name']}}" id="lastname">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="Phone">Phone</label>
|
||||
<input class="form-control" name="phone" type="text"
|
||||
value="{{$user['data']['phone']}}" id="phone">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="Street Number">Street Number</label>
|
||||
<input class="form-control" name="street_no" type="text"
|
||||
value="{{$user['data']['street_no']}}" id="street_no">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="Street Name">Street Name</label>
|
||||
<input class="form-control" name="street_name" type="text"
|
||||
value="{{$user['data']['street_name']}}"
|
||||
id="street_name">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="City">City</label>
|
||||
<input class="form-control" name="city" type="text"
|
||||
value="{{$user['data']['city']}}" id="city">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="State">State</label>
|
||||
<input class="form-control" name="state" type="text"
|
||||
value="{{$user['data']['state']}}" id="state">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="zip">Zip</label>
|
||||
<input class="form-control" name="zip_code" type="text"
|
||||
value="{{$user['data']['zip_code']}}" id="zip_code">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="email">Email</label>
|
||||
<input class="form-control" name="email"
|
||||
type="text"
|
||||
value="{{$user['data']['email']}}" id="email">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="password">Password</label>
|
||||
<div class="input-group" id="client_show_hide_password">
|
||||
<input class="form-control" name="password"
|
||||
type="password"
|
||||
value="{{customDecrypt($user['data']['password'])}}"
|
||||
id="password">
|
||||
<div class="input-group-addon">
|
||||
<a href=""><i class="fa fa-eye-slash"
|
||||
aria-hidden="true"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="Status">Status</label>
|
||||
|
||||
<select name="status" class="form-control">
|
||||
|
||||
<option
|
||||
value="1" {{ $user['data']['status'] == 1 ? 'selected' : '' }}>
|
||||
Active
|
||||
</option>
|
||||
<option
|
||||
value="2" {{ $user['data']['status'] == 2 ? 'selected' : '' }}>
|
||||
Inactive
|
||||
</option>
|
||||
<option
|
||||
value="2" {{ $user['data']['subscription_status'] == 2 ? 'selected' : '' }}>
|
||||
Canceled
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="month">Last Access Date</label>
|
||||
<input class="form-control" name="user_access_end_date" disabled value="{{$user['data']['user_access_end_date']}}" type="text" >
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12" id="user_access_date_div">
|
||||
<div class="form-group">
|
||||
<label for="month">Free Access Date</label>
|
||||
<input class="form-control" name="user_access_date" readonly id="user_access_end_date" type="text" value="{{$user_access_end_date}}" placeholder="mm/dd/yyyy">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<div class="form-group col-md-6 col-xs-12 text-left" >
|
||||
<input class="form-check-input" type="checkbox" name="change_wave"
|
||||
value="1" id="change_wave">
|
||||
<label class="form-check-label" data-toggle="tooltip" data-placement="right" title="">
|
||||
Unlock Wave
|
||||
</label>
|
||||
</div>
|
||||
<select name="wave" class="form-control" id="wave">
|
||||
@foreach($waves as $key => $value)
|
||||
@php $select = ($value['key'] == $user['data']['wave']) ? 'selected': ''; @endphp
|
||||
<option value="{{$value['key']}}" {{$select}}> {{$value['text']}} </option>
|
||||
@endforeach
|
||||
|
||||
</select>
|
||||
{{-- <input class="form-control" name="wave" type="text" value="{{$user['data']['wave']}}" >--}}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="form-group col-md-6 col-xs-12 text-left" >
|
||||
<input class="form-check-input" type="checkbox" name="report_provider_info"
|
||||
value="1" id="report_provider_info">
|
||||
<label class="form-check-label" data-toggle="tooltip" data-placement="right" title="">
|
||||
Credit Report Provider Information
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" id="credit_report_info">
|
||||
<div class="col-md-12">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="birth_date">Date of Birth</label>
|
||||
<input class="form-control" name="birth_date" id="birth_date" type="text"
|
||||
value="{{$user['data']['birth_date']}}" placeholder="mm/dd/yyyy">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="ssn">Social Security Number</label>
|
||||
<input class="form-control" name="ssn"
|
||||
type="text" maxlength="4"
|
||||
value="{{$user['data']['ssn']}}"
|
||||
id="ssn">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="">Source Type</label>
|
||||
@php
|
||||
$source_types = config('constant.sourceType');
|
||||
@endphp
|
||||
<select name="source_type" class="form-control">
|
||||
@foreach($source_types as $key=>$value)
|
||||
<option value="{{$value}}" {{$user['data']['credit_report_company_type'] == $value ? 'selected':''}}> {{$key}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if(isSupport())
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="month">Previous Import Date</label>
|
||||
<input class="form-control" name="last_import_date" readonly id="last_import_date" type="text" value="{{$user['data']['last_import_date']}}" placeholder="mm/dd/yyyy">
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
@if(isShowContent('update.client'))
|
||||
<div class="col-sm-12 center" style="margin-top: 10px; text-align: center; ">
|
||||
<input class="btn btn-success btn2" type="submit" onclick="return client_form_submit(this)" value="Save Changes">
|
||||
</div>
|
||||
@endif
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="common_confirmation_modal" style="margin-top: 50px" tabindex="-1" aria-hidden="true">
|
||||
<div class="modal-dialog modal-md" id="modal-dialog-panel">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<h4 class="mb-2 text-center" style="color: red" id="common_message_text">
|
||||
|
||||
</h4>
|
||||
</div>
|
||||
<div class="modal-footer" style="text-align: center">
|
||||
<button type="button" class="btn btn-secondary btn-lg" data-dismiss="modal">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@push('script')
|
||||
<script>
|
||||
|
||||
$(document).ready(function() {
|
||||
common_helper.datePicker('#user_access_end_date','mm/dd/yyyy',false,new Date(new Date().setDate(new Date().getDate() + 1)),null);
|
||||
common_helper.datePicker('#birth_date','mm/dd/yyyy',true,null);
|
||||
common_helper.datePicker('#last_import_date','mm/dd/yyyy',true,null);
|
||||
$('#wave').prop('disabled', true);
|
||||
|
||||
});
|
||||
|
||||
const client_form_submit =(e)=>{
|
||||
var data = $('#report_provider_info').prop("checked");
|
||||
|
||||
if(data) {
|
||||
$('#client_form').validate({
|
||||
|
||||
rules: {
|
||||
'first_name': 'required',
|
||||
'last_name': 'required',
|
||||
'email': 'required',
|
||||
'password': 'required',
|
||||
'birth_date': 'required',
|
||||
'street_no': 'required',
|
||||
'street_name': 'required',
|
||||
'city': 'required',
|
||||
'state': 'required',
|
||||
'zip_code': 'required',
|
||||
'phone': 'required',
|
||||
'ssn': {'required': true,'minlength':4,'maxlength':4},
|
||||
'source_type': 'required',
|
||||
},
|
||||
|
||||
messages: {
|
||||
'first_name': {
|
||||
required: "Please enter first name"
|
||||
},
|
||||
'last_name': {
|
||||
required: "Please enter last name"
|
||||
}, 'email': {
|
||||
required: "Please enter email"
|
||||
}, 'password': {
|
||||
required: "Please enter password"
|
||||
},
|
||||
'birth_date': {
|
||||
required: "Please enter birth date",
|
||||
},
|
||||
'street_no': {
|
||||
required: "Please enter street number"
|
||||
},
|
||||
'street_name': {
|
||||
required: "Please enter street name"
|
||||
},
|
||||
'state': {
|
||||
required: "Please enter state"
|
||||
},
|
||||
'city': {
|
||||
required: "Please enter city"
|
||||
},
|
||||
'zip_code': {
|
||||
required: "Please enter zip code"
|
||||
},
|
||||
'phone': {
|
||||
required: "Please enter phone number"
|
||||
},
|
||||
'ssn': {
|
||||
required: "Please enter last 4 digit of your ssn",
|
||||
minlength:"Please enter last 4 digit of your ssn",
|
||||
maxlength:"Please enter last 4 digit of your ssn"
|
||||
},
|
||||
'source_type': {
|
||||
required: "Please enter source type"
|
||||
},
|
||||
|
||||
},
|
||||
|
||||
highlight: function (element) {
|
||||
$(element).parent().addClass("has-error");
|
||||
},
|
||||
|
||||
});
|
||||
if ($('#client_form').valid()) {
|
||||
let url = '{{ route('admin.ajax.get.process') }}';
|
||||
let previous_email = $('[name="previous_email"]').val();
|
||||
let email = $('#client_form').find('input[name=email]').val();
|
||||
let password = $('[name="password"]').val();
|
||||
let source_type = $('[name="source_type"]').val();
|
||||
let ssn = $('[name="ssn"]').val();
|
||||
let data = {
|
||||
action: 'GET_SUBSCRIPTION_STATUS_CREDIT_REPORT_PROVIDER',
|
||||
email: email,
|
||||
password: password,
|
||||
previous_email: previous_email,
|
||||
source_type: source_type,
|
||||
ssn: ssn
|
||||
};
|
||||
common_helper.globalAjaxRequestAsync(url, 'get', data, callbackfromreportprovider);
|
||||
}
|
||||
return false;
|
||||
}else {
|
||||
$('#client_form').validate({
|
||||
|
||||
rules: {
|
||||
'first_name': 'required',
|
||||
'last_name': 'required',
|
||||
'email': 'required',
|
||||
'password': 'required',
|
||||
'street_no': 'required',
|
||||
'street_name': 'required',
|
||||
'city': 'required',
|
||||
'state': 'required',
|
||||
'zip_code': 'required',
|
||||
'phone': 'required'
|
||||
},
|
||||
|
||||
messages: {
|
||||
'first_name': {
|
||||
required: "Please enter first name"
|
||||
},
|
||||
'last_name': {
|
||||
required: "Please enter last name"
|
||||
}, 'email': {
|
||||
required: "Please enter email"
|
||||
}, 'password': {
|
||||
required: "Please enter password"
|
||||
},
|
||||
'street_no': {
|
||||
required: "Please enter street number"
|
||||
},
|
||||
'street_name': {
|
||||
required: "Please enter street name"
|
||||
},
|
||||
'state': {
|
||||
required: "Please enter state"
|
||||
},
|
||||
'city': {
|
||||
required: "Please enter city"
|
||||
},
|
||||
'zip_code': {
|
||||
required: "Please enter zip code"
|
||||
},
|
||||
'phone': {
|
||||
required: "Please enter phone number"
|
||||
},
|
||||
},
|
||||
|
||||
highlight: function (element) {
|
||||
$(element).parent().addClass("has-error");
|
||||
},
|
||||
submitHandler: function (form) {
|
||||
form.submit();
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
const callbackfromreportprovider =(response)=>{
|
||||
|
||||
if(response.status) {
|
||||
$('#client_form').submit();
|
||||
}else {
|
||||
let html = response.message;
|
||||
$('#common_message_text').text(html);
|
||||
$('#common_confirmation_modal').modal('show');
|
||||
}
|
||||
}
|
||||
|
||||
$("#client_show_hide_password a").on('click', function (event) {
|
||||
common_helper.globalPasswordView('#client_show_hide_password', event);
|
||||
})
|
||||
|
||||
const client_activate =(e) => {
|
||||
|
||||
let type = $('#client_activate_form').find('input[name=type]').val();
|
||||
|
||||
let html_content = `<h4>Are you sure you want to activate client?</h4>`;
|
||||
|
||||
if(type === '2'){
|
||||
html_content = `<h4>Are you sure you want to reset credit report?</h4>`;
|
||||
}
|
||||
|
||||
const swalresponse = common_helper.swalAleart(html_content, 'warning', 450, true, '', true, true, 'Yes');
|
||||
|
||||
swalresponse.then(function (result) {
|
||||
|
||||
if (result.isConfirmed) {
|
||||
$('#client_activate_form').submit();
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
$("#change_wave").on('click', function (event) {
|
||||
|
||||
$('#wave').prop('disabled', !this.checked);
|
||||
})
|
||||
|
||||
</script>
|
||||
@endpush
|
||||
26
resources/views/email/account_closing_admin_letter.blade.php
Normal file
26
resources/views/email/account_closing_admin_letter.blade.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport"
|
||||
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<title>Creditzombies</title>
|
||||
</head>
|
||||
<body style="margin-left: 20px">
|
||||
<p style="margin-top: 5px"> Hello Admin ,</p>
|
||||
<br/><br/>
|
||||
<p> User account of name {{$data['email_body']}} has been canceled from Credit Zombies credit report system . </p>
|
||||
|
||||
<br/><br/>
|
||||
<p>
|
||||
Sincerely,<br/><br/>
|
||||
|
||||
Customer Support Team <br/>
|
||||
|
||||
Credit Zombies/ClickLetters LLC
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
33
resources/views/email/account_closing_letter.blade.php
Normal file
33
resources/views/email/account_closing_letter.blade.php
Normal file
@@ -0,0 +1,33 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport"
|
||||
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<title>Creditzombies</title>
|
||||
</head>
|
||||
<body style="margin-left: 20px">
|
||||
<p style="margin-top: 5px"> Hello {{$data['email_body']}} ,</p>
|
||||
<br/><br/>
|
||||
<p> Your account for Credit Zombies credit report system was canceled. </p>
|
||||
<br/><br/>
|
||||
<p> If this was made by someone other than you please contact support at : support@clickletters.com</p>
|
||||
|
||||
<br/><br/>
|
||||
<p> If you need further assistance please let us know.</p>
|
||||
<br/><br/>
|
||||
<p> CreditZombies Owned by Clickletters LLC</p>
|
||||
<br/><br/>
|
||||
<p>
|
||||
Sincerely,<br/><br/>
|
||||
|
||||
Customer Support Team <br/>
|
||||
|
||||
Credit Zombies/ClickLetters LLC
|
||||
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
19
resources/views/email/letter.blade.php
Normal file
19
resources/views/email/letter.blade.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport"
|
||||
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<title>Creditzombies</title>
|
||||
</head>
|
||||
<body>
|
||||
<p>Hello, {{$data['email_body']}}.</p>
|
||||
<br/>
|
||||
<br/>
|
||||
<p>
|
||||
Regards,<br/>
|
||||
Creditzombies.com
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
25
resources/views/email/payment_failed_letter.blade.php
Normal file
25
resources/views/email/payment_failed_letter.blade.php
Normal file
@@ -0,0 +1,25 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport"
|
||||
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<title>Creditzombies</title>
|
||||
</head>
|
||||
<body style="margin-left: 20px">
|
||||
<p style="margin-top: 5px">Hello {{$data['email_body']}} ,We just tried to process your credit report payment for Credit Zombies. You should see a charge after you update your card on file for clickletters LLC. Please update your card on file to process your payment today, to prevent any interruption in your services moving forward.</p>
|
||||
<br/>
|
||||
<br/>
|
||||
<p>If you have any questions please send and email to support@clickletters.com. </p>
|
||||
<br/>
|
||||
<p>
|
||||
Sincerely,<br/>
|
||||
|
||||
Customer Support <br/>
|
||||
|
||||
Credit Zombies/ClickLetters LLC
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
43
resources/views/email/payment_success_letter.blade.php
Normal file
43
resources/views/email/payment_success_letter.blade.php
Normal file
@@ -0,0 +1,43 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport"
|
||||
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<title>Creditzombies</title>
|
||||
</head>
|
||||
<body style="margin-left: 20px">
|
||||
<p style="margin-top: 5px"> Hello {{$data['email_body']}} ,</p>
|
||||
<br/><br/>
|
||||
<p> Your purchase for Credit Zombies credit report system was just made. You will see a purchase on your bank statement for $24.97 from ClickLetters LLC.</p>
|
||||
<br/><br/>
|
||||
<p> If this was made buy someone other than you please contact support at : support@clickletters.com</p>
|
||||
<br/><br/>
|
||||
<p> Or call us at 614-547-6222</p>
|
||||
<br/><br/>
|
||||
<p> Between 9 am to 6pm eastern time</p>
|
||||
<br/><br/>
|
||||
<p> Please save this email for future use.</p>
|
||||
<br/><br/>
|
||||
<p> Step 1.</p>
|
||||
<br/><br/>
|
||||
<p> Login to your software to set up and get started</p>
|
||||
<br/><br/>
|
||||
<p> Here is the link: <a href="https://members.creditzombies.com/login">https://members.creditzombies.com/login</a></p>
|
||||
<br/><br/>
|
||||
<p> If you need further assistance please let us know, and thank you for choosing Credit Zombies</p>
|
||||
<br/><br/>
|
||||
<p> CreditZombies Owned by Clickletters LLC</p>
|
||||
<br/><br/>
|
||||
<p>
|
||||
Sincerely,<br/><br/>
|
||||
|
||||
Customer Support Team <br/>
|
||||
|
||||
Credit Zombies/ClickLetters LLC
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
20
resources/views/email/reminderletter.blade.php
Normal file
20
resources/views/email/reminderletter.blade.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport"
|
||||
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<title>Creditzombies</title>
|
||||
</head>
|
||||
<body>
|
||||
<p>Hello, </p>
|
||||
<br/>
|
||||
<p>{{$data['email_body']}}.</p>
|
||||
<br/>
|
||||
<p>
|
||||
Regards,<br/>
|
||||
members.creditzombies.com
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
139
resources/views/employee/employee_info.blade.php
Normal file
139
resources/views/employee/employee_info.blade.php
Normal file
@@ -0,0 +1,139 @@
|
||||
@extends('layouts.admin')
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-12 column col-sm-offset-0 ">
|
||||
<div class="panel panel-default panel-frm">
|
||||
<div class="panel-heading">
|
||||
<div class="row" style="padding-left: 25px;padding-right: 15px">
|
||||
<h3 class="pull-left">Employee Registration</h3>
|
||||
@if(isShowContent('employee.list'))
|
||||
<a href="{{route('employee.list')}}" class="btn btn-success btn-flat pull-right">
|
||||
<i class="fa fa-user" aria-hidden="true"></i>
|
||||
Employee List
|
||||
</a>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<div class="clearfix"></div>
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="x_panel">
|
||||
<form method="post" action="{{route('insert.employee')}}" id="client_form" autocomplete="on" enctype=multipart/form-data class="input-form-section">
|
||||
@csrf
|
||||
<div class="x_content">
|
||||
<div class="col-md-12">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="first_name">First Name</label>
|
||||
<input class="form-control" name="first_name" type="text"
|
||||
id="firstname">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="last_name">Last Name</label>
|
||||
<input class="form-control" name="last_name" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="email">Email</label>
|
||||
<input class="form-control" name="email" value=""
|
||||
type="text" autocomplete="on">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="password">Password</label>
|
||||
<div class="input-group" id="employee_registration_show_hide_password">
|
||||
<input class="form-control" name="password"
|
||||
type="password"
|
||||
id="password">
|
||||
<div class="input-group-addon">
|
||||
<a href=""><i class="fa fa-eye-slash" aria-hidden="true"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12" style="margin-left: 10px">
|
||||
@include('partials.permission',['moduleSubmoduleAssoc'=>$moduleSubmoduleAssoc])
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-12 center" style="margin-top: 10px; text-align: center; ">
|
||||
@if(isShowContent('insert.employee'))
|
||||
<input class="btn btn-success btn2" type="submit" value="Save Changes">
|
||||
@endif
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('script')
|
||||
<script src="{{asset('js/jsvalidate/validate-latest.js')}}"></script>
|
||||
<script>
|
||||
$('#client_form').validate({
|
||||
rules: {
|
||||
'first_name': 'required',
|
||||
'last_name': 'required',
|
||||
'email': { 'required':true,'email':true},
|
||||
'password': 'required',
|
||||
'userRole': 'required',
|
||||
},
|
||||
messages: {
|
||||
|
||||
'first_name': {
|
||||
required: "Please enter your first name"
|
||||
},
|
||||
'last_name': {
|
||||
required: "Please enter your last name"
|
||||
},
|
||||
'email': {
|
||||
required: "Please enter an email address",
|
||||
email: "Please enter a valid email address"
|
||||
},
|
||||
'password': {
|
||||
required: "Please enter password again",
|
||||
},
|
||||
|
||||
},
|
||||
highlight: function (element) {
|
||||
$(element).parent().addClass("has-error");
|
||||
},
|
||||
submitHandler: function (form) {
|
||||
form.submit();
|
||||
}
|
||||
});
|
||||
$('#employee_registration_show_hide_password a').on('click', function(event){
|
||||
common_helper.globalPasswordView('#employee_registration_show_hide_password',event);
|
||||
})
|
||||
const birthDateCompleted=()=>{
|
||||
let birth_date=$("[name='birth_date']").val();
|
||||
if(birth_date.length===2){
|
||||
birth_date+='/';
|
||||
}
|
||||
else if(birth_date.length===5){
|
||||
birth_date+='/';
|
||||
}
|
||||
$("[name='birth_date']").val(birth_date);
|
||||
}
|
||||
</script>
|
||||
@endpush
|
||||
135
resources/views/employee/employee_info_edit.blade.php
Normal file
135
resources/views/employee/employee_info_edit.blade.php
Normal file
@@ -0,0 +1,135 @@
|
||||
@extends('layouts.admin')
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-12 column col-sm-offset-0 ">
|
||||
<div class="panel panel-default panel-frm">
|
||||
<div class="panel-heading">
|
||||
<div class="row" style="padding-left: 25px;padding-right: 15px">
|
||||
<h3 class="pull-left">Information of {{$employee['first_name'].' '.$employee['last_name']}}</h3>
|
||||
@if(isShowContent('employee.list'))
|
||||
<a href="{{route('employee.list')}}" class="btn btn-success btn-flat pull-right">
|
||||
<i class="fa fa-list" aria-hidden="true"></i>
|
||||
Employee List
|
||||
</a>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<div class="clearfix"></div>
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="x_panel">
|
||||
<form method="post" action="{{route('update.employee')}}" id="employee_edit_form" autocomplete="on" enctype=multipart/form-data class="input-form-section">
|
||||
@csrf
|
||||
<input type="hidden" name="id" value="{{$employee['id']}}">
|
||||
<div class="x_content">
|
||||
<div class="col-md-12">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="first_name">First Name</label>
|
||||
<input class="form-control"
|
||||
name="first_name"
|
||||
type="text"
|
||||
value="{{$employee['first_name']}}"
|
||||
id="firstname">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="last_name">Last Name</label>
|
||||
<input class="form-control" name="last_name" value="{{$employee['last_name']}}" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="email">Email</label>
|
||||
<input class="form-control" name="email" value="{{$employee['email']}}"
|
||||
type="text" autocomplete="on">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="password">Password</label>
|
||||
<div class="input-group" id="employee_edit_show_hide_password">
|
||||
<input class="form-control" name="password"
|
||||
type="password"
|
||||
value="{{customDecrypt($employee['password'])}}"
|
||||
id="password">
|
||||
<div class="input-group-addon">
|
||||
<a href=""><i class="fa fa-eye-slash" aria-hidden="true"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12" style="margin-left: 10px">
|
||||
@include('partials.permission',['moduleSubmoduleAssoc'=>$moduleSubmoduleAssoc,'employee_permission'=>$employee_permission])
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-12 center" style="margin-top: 10px; text-align: center; ">
|
||||
@if(isShowContent('update.employee'))
|
||||
<input class="btn btn-success btn2" type="submit" value="Save Changes">
|
||||
@endif
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('script')
|
||||
<script src="{{asset('js/jsvalidate/validate-latest.js')}}"></script>
|
||||
<script>
|
||||
$('#employee_edit_form').validate({
|
||||
rules: {
|
||||
'first_name': 'required',
|
||||
'last_name': 'required',
|
||||
'email': { 'required':true,'email':true},
|
||||
'password': 'required',
|
||||
'userRole': 'required',
|
||||
},
|
||||
messages: {
|
||||
|
||||
'first_name': {
|
||||
required: "Please enter your first name"
|
||||
},
|
||||
'last_name': {
|
||||
required: "Please enter your last name"
|
||||
},
|
||||
'email': {
|
||||
required: "Please enter an email address",
|
||||
email: "Please enter a valid email address"
|
||||
},
|
||||
'password': {
|
||||
required: "Please enter password again",
|
||||
},
|
||||
|
||||
},
|
||||
highlight: function (element) {
|
||||
$(element).parent().addClass("has-error");
|
||||
},
|
||||
submitHandler: function (form) {
|
||||
form.submit();
|
||||
}
|
||||
});
|
||||
$('#employee_edit_show_hide_password a').on('click', function(event){
|
||||
common_helper.globalPasswordView('#employee_edit_show_hide_password',event);
|
||||
})
|
||||
</script>
|
||||
@endpush
|
||||
204
resources/views/employee/employee_list.blade.php
Normal file
204
resources/views/employee/employee_list.blade.php
Normal file
@@ -0,0 +1,204 @@
|
||||
@extends('layouts.admin')
|
||||
<style>
|
||||
#table-clients td {
|
||||
text-align: left !important;
|
||||
padding: 8px !important;
|
||||
}
|
||||
|
||||
#table-clients th {
|
||||
padding: 8px !important;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
@php
|
||||
$pageLimit = $searchData['pageLimit'];
|
||||
$search_value = $searchData['search_value'];
|
||||
@endphp
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<div class="row" style="padding-left: 20px;padding-right: 15px">
|
||||
<h3 class="pull-left">Employee List</h3>
|
||||
@if(isShowContent('create.employee'))
|
||||
<a href="{{route('create.employee')}}" class="btn btn-success btn-flat pull-right">
|
||||
<i class="fa fa-user" aria-hidden="true"></i>
|
||||
Add Employee
|
||||
</a>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="x_panel">
|
||||
<div class="x_content">
|
||||
|
||||
<form action="{{route('employee.list')}}" method="get" role="search">
|
||||
<div class="row">
|
||||
<div class="col-md-2 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label>Show</label>
|
||||
<select name="pageLimit" id="pagination" class="form-control"
|
||||
onchange="this.form.submit()">
|
||||
<option value="10" @if($pageLimit == 10) selected @endif>10</option>
|
||||
<option value="20" @if($pageLimit == 20) selected @endif>20</option>
|
||||
<option value="50" @if($pageLimit == 50) selected @endif>50</option>
|
||||
<option value="100" @if($pageLimit == 100) selected @endif>100</option>
|
||||
<option value="500" @if($pageLimit == 500) selected @endif>500</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label>Employee Name/Email</label>
|
||||
<input id="search_value"
|
||||
type="text"
|
||||
value="{{$searchData['search_value']}}"
|
||||
placeholder="Search By Name/Email"
|
||||
class="form-control" name="search_value" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2 col-xs-12">
|
||||
<div class="form-group" style="margin-top: 25px;">
|
||||
<button class="btn btn-outline-info" style="width:100%" type="submit">Search</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
@if(isShowContent('admin.ajax.process'))
|
||||
<button style="margin-top: 15px;" onclick="return multipleEmployeeDelete()" type="button"
|
||||
class="btn btn-danger pull-left" style="margin-left: 10px"
|
||||
id="btnDeleteMultipleEmployee" disabled>Delete Employee
|
||||
</button>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<div class="table-responsive py-5">
|
||||
<table id="table-clients" class="table table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><input type="checkbox" name="allChecked" value="all"
|
||||
onclick="common_helper.allChecked(this,'checkedBoxEmployee')"></th>
|
||||
<th>Employee Name</th>
|
||||
<th>Email</th>
|
||||
<th>Created At</th>
|
||||
<th>Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@if(!empty($employees))
|
||||
@foreach ($employees as $key => $obj)
|
||||
@php
|
||||
$employee_info = json_encode([$obj->id,$obj->email]);
|
||||
$action = 'DELETE_EMPLOYEE';
|
||||
@endphp
|
||||
<tr class="tr-height">
|
||||
<td style="text-align: center !important;"><input type="checkbox" name="checkedBoxEmployee"
|
||||
value="{{$employee_info}}" onclick="checkedornot(this)"></td>
|
||||
<td>{{$obj->first_name.' '.$obj->last_name}}</td>
|
||||
<td>{{ $obj->email}}</td>
|
||||
<td> {{ getStringToDateTime($obj->created_at,'m/d/Y h:i:s a') }} </td>
|
||||
<td>
|
||||
@if(isShowContent('get.employee.info'))
|
||||
<a href="{{route('get.employee.info',$obj->id)}}"
|
||||
class="btn btn-success" style="padding: 5px;"> <span
|
||||
class="glyphicon glyphicon-pencil" title="Edit"></span></a>
|
||||
@endif
|
||||
|
||||
@if(isShowContent('get.employee.info'))
|
||||
<button onclick="return employeeDelete({{$employee_info}},'{{$action}}')"
|
||||
class="btn btn-danger" style="padding: 5px;"><span
|
||||
class="glyphicon glyphicon-trash" title="Delete"></span>
|
||||
</button>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endif
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
<div id="pagination_panel">
|
||||
{{ $employees->appends(compact('pageLimit' , 'search_value')) ->links('basic.pagination') }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@push('script')
|
||||
<script>
|
||||
const allEmployeeChecked =(e)=>{
|
||||
$('input:checkbox').prop('checked',e.checked);
|
||||
$('#btnDeleteMultipleEmployee').prop('disabled',(!e.checked));
|
||||
}
|
||||
|
||||
const multipleEmployeeDelete = () => {
|
||||
let action = 'DELETE_MULTIPLE_EMPLOYEE';
|
||||
let checkedData = $("[name='checkedBoxEmployee']");
|
||||
let clientId = [];
|
||||
for (let checkbox of checkedData) {
|
||||
if (checkbox.checked)
|
||||
clientId.push(checkbox.value);
|
||||
}
|
||||
if (clientId.length > 0) {
|
||||
employeeDelete(clientId,action);
|
||||
}
|
||||
}
|
||||
|
||||
const employeeDelete = (userData,action) => {
|
||||
let html_content = `<h4>Are you sure you want to delete employee?</h4>`;
|
||||
const swalresponse = common_helper.swalAleart(html_content, 'warning', 450, true, '', true, true, 'Yes');
|
||||
swalresponse.then(async function (result) {
|
||||
if (result.isConfirmed) {
|
||||
let response = await common_helper.globalAjaxRequest('{{route('admin.ajax.process')}}', 'POST', {
|
||||
action: action,
|
||||
userData: userData,
|
||||
delete_type:'employee',
|
||||
_token: "{{ csrf_token() }}"
|
||||
});
|
||||
if (response.status) {
|
||||
Swal.fire({icon: response.type, title: response.message, width: 450, closeOnConfirm: true});
|
||||
window.location = `{{route('employee.list')}}`;
|
||||
} else {
|
||||
Swal.fire({icon: response.type, title: response.message, width: 450, closeOnConfirm: true});
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
const checkedornot = (e) => {
|
||||
|
||||
let allData = $("[name='checkedBoxEmployee']");
|
||||
let checkedData = $("[name='checkedBoxEmployee']:checked");
|
||||
let allChecked = false;
|
||||
let alldelete = false;
|
||||
|
||||
if(allData.length === checkedData.length){
|
||||
allChecked = true;
|
||||
}
|
||||
|
||||
if(checkedData.length === 0){
|
||||
alldelete = true;
|
||||
}
|
||||
|
||||
$("[name='allChecked']").prop('checked', allChecked);
|
||||
|
||||
$('#btnDeleteMultipleEmployee').prop('disabled', alldelete);
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
@endpush
|
||||
1207
resources/views/epicvelocity/getletter.blade.php
Normal file
1207
resources/views/epicvelocity/getletter.blade.php
Normal file
File diff suppressed because it is too large
Load Diff
22
resources/views/epicvelocity/one_time_password.blade.php
Normal file
22
resources/views/epicvelocity/one_time_password.blade.php
Normal file
@@ -0,0 +1,22 @@
|
||||
|
||||
<h3 class="text-center" >One Time Password Recovery</h3>
|
||||
<form method="post" onsubmit="return oneTimeFormSubmit()" target="_blank" action="https://www.smartcredit.com/external-login">
|
||||
<input type="hidden" name="loginType" value="CUSTOMER">
|
||||
<input type="hidden" name="j_username" value="{{$email}}">
|
||||
<input type="hidden" name="j_password" class="form-control" value="{{$password}}">
|
||||
<div class="form-group text-center" >
|
||||
<button type="submit" class="btn btn-default btn2" >
|
||||
Click Here
|
||||
<span> <i class="fa fa-chevron-right"></i><i class="fa fa-chevron-right"></i></span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<script>
|
||||
function oneTimeFormSubmit(){
|
||||
$('#securityModal').modal('hide')
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
|
||||
142
resources/views/errors/404.blade.php
Normal file
142
resources/views/errors/404.blade.php
Normal file
@@ -0,0 +1,142 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
<title>404</title>
|
||||
|
||||
<style id="" media="all">
|
||||
/* cyrillic-ext */
|
||||
@font-face {
|
||||
font-family: 'Montserrat';
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
font-display: swap;
|
||||
src: url(/fonts.gstatic.com/s/montserrat/v25/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCvC73w0aXpsog.woff2) format('woff2');
|
||||
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
|
||||
}
|
||||
|
||||
* {
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box
|
||||
}
|
||||
|
||||
body {
|
||||
padding: 0;
|
||||
margin: 0
|
||||
}
|
||||
|
||||
#notfound {
|
||||
position: relative;
|
||||
height: 100vh
|
||||
}
|
||||
|
||||
#notfound .notfound {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
-webkit-transform: translate(-50%, -50%);
|
||||
-ms-transform: translate(-50%, -50%);
|
||||
transform: translate(-50%, -50%)
|
||||
}
|
||||
|
||||
.notfound {
|
||||
max-width: 520px;
|
||||
width: 100%;
|
||||
line-height: 1.4;
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.notfound .notfound-404 {
|
||||
position: relative;
|
||||
height: 240px
|
||||
}
|
||||
|
||||
.notfound .notfound-404 h1 {
|
||||
font-family: montserrat, sans-serif;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
-webkit-transform: translate(-50%, -50%);
|
||||
-ms-transform: translate(-50%, -50%);
|
||||
transform: translate(-50%, -50%);
|
||||
font-size: 252px;
|
||||
font-weight: 900;
|
||||
margin: 0;
|
||||
color: #262626;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: -40px;
|
||||
margin-left: -20px
|
||||
}
|
||||
|
||||
.notfound .notfound-404 h1>span {
|
||||
text-shadow: -8px 0 0 #fff
|
||||
}
|
||||
|
||||
.notfound .notfound-404 h3 {
|
||||
font-family: cabin, sans-serif;
|
||||
position: relative;
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
color: #262626;
|
||||
margin: 0;
|
||||
letter-spacing: 3px;
|
||||
padding-left: 6px
|
||||
}
|
||||
|
||||
.notfound h2 {
|
||||
font-family: cabin, sans-serif;
|
||||
font-size: 20px;
|
||||
font-weight: 400;
|
||||
text-transform: uppercase;
|
||||
color: #000;
|
||||
margin-top: 0;
|
||||
margin-bottom: 25px
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 767px) {
|
||||
.notfound .notfound-404 {
|
||||
height: 200px
|
||||
}
|
||||
|
||||
.notfound .notfound-404 h1 {
|
||||
font-size: 200px
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 480px) {
|
||||
.notfound .notfound-404 {
|
||||
height: 162px
|
||||
}
|
||||
|
||||
.notfound .notfound-404 h1 {
|
||||
font-size: 162px;
|
||||
height: 150px;
|
||||
line-height: 162px
|
||||
}
|
||||
|
||||
.notfound h2 {
|
||||
font-size: 16px
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<meta name="robots" content="noindex, follow">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="notfound">
|
||||
<div class="notfound">
|
||||
<div class="notfound-404">
|
||||
<h3>Oops! Page not found</h3>
|
||||
<h1><span>4</span><span>0</span><span>4</span></h1>
|
||||
</div>
|
||||
<h2>we are sorry, but the page you requested was not found</h2>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
145
resources/views/history/list.blade.php
Normal file
145
resources/views/history/list.blade.php
Normal file
@@ -0,0 +1,145 @@
|
||||
|
||||
@extends('layouts.admin')
|
||||
|
||||
@push('css')
|
||||
<link href="{{ asset('css/support/support.css') }}" rel="stylesheet">
|
||||
@endpush
|
||||
|
||||
@php
|
||||
$pageLimit = $searchData['pageLimit'];
|
||||
$status_code = $searchData['status_code'];
|
||||
@endphp
|
||||
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<div class="row" style="padding-left: 20px;padding-right: 15px">
|
||||
<h3 class="pull-left">Iq Call Histories</h3>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="x_panel">
|
||||
<div class="x_content">
|
||||
<form action="{{route('list.iq.history')}}" method="get" role="search">
|
||||
<div class="row">
|
||||
<div class="col-md-2 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label>Show</label>
|
||||
<select name="pageLimit" id="pagination" class="form-control"
|
||||
onchange="this.form.submit()">
|
||||
<option value="10" @if($pageLimit == 10) selected @endif>10</option>
|
||||
<option value="20" @if($pageLimit == 20) selected @endif>20</option>
|
||||
<option value="50" @if($pageLimit == 50) selected @endif>50</option>
|
||||
<option value="100" @if($pageLimit == 100) selected @endif>100</option>
|
||||
<option value="500" @if($pageLimit == 500) selected @endif>500</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label>From Date</label>
|
||||
<input id="fdate"
|
||||
type="text"
|
||||
class="form-control" name="fdate"
|
||||
value="{{$searchData['fdate']}}"
|
||||
autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label>To Date</label>
|
||||
<input id="tdate"
|
||||
type="text"
|
||||
class="form-control" name="tdate"
|
||||
value="{{$searchData['tdate']}}"
|
||||
autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label>Page Status</label>
|
||||
<select name="status_code" class="form-control">
|
||||
<option value="" @if($status_code == '') selected @endif>Please Select</option>
|
||||
<option value="1" @if($status_code == 1) selected @endif>Ip Blocked</option>
|
||||
<option value="2" @if($status_code == 2) selected @endif>Success</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2 col-xs-12">
|
||||
<div class="form-group" style="margin-top: 25px;">
|
||||
<button class="btn btn-primary btn-outline-primary" style="width:100%" type="submit">Search</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2 col-xs-12">
|
||||
<div class="form-group" style="margin-top: 25px;">
|
||||
<button class="btn btn-primary btn-outline-primary" name="export" value="1" style="width:100%" type="submit">Excel Export</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
<div class="table-responsive py-5">
|
||||
<table id="table-histories" class="table table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Id</th>
|
||||
<th>IP</th>
|
||||
<th>Port</th>
|
||||
<th>Page</th>
|
||||
<th>Status Code</th>
|
||||
<th>Status</th>
|
||||
<th>Created On</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@if(!empty($histories))
|
||||
@foreach ($histories as $key => $obj)
|
||||
|
||||
@php
|
||||
$status = "Success";
|
||||
if($obj->error_code == 403)
|
||||
$status = "Failed";
|
||||
@endphp
|
||||
<tr class="tr-height">
|
||||
<td>{{ $obj->id }}</td>
|
||||
<td>{{$obj->ip}}</td>
|
||||
<td>{{$obj->port}}</td>
|
||||
<td>{{$obj->page}}</td>
|
||||
<td>{{$obj->error_code}}</td>
|
||||
<td>{{$status}}</td>
|
||||
<td>{{$obj->created_at}}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endif
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
<div id="pagination_panel">
|
||||
{{ $histories->links('basic.pagination') }}
|
||||
<input type="hidden" name="redirect_url" value="{{route('list.iq.history')}}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@push('script')
|
||||
<script>
|
||||
$(function() {
|
||||
common_helper.datePicker('#fdate',"yyyy-mm-dd",true,null);
|
||||
common_helper.datePicker('#tdate',"yyyy-mm-dd",true,null);
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
189
resources/views/layouts/admin.blade.php
Normal file
189
resources/views/layouts/admin.blade.php
Normal file
@@ -0,0 +1,189 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<!-- Meta, title, CSS, favicons, etc. -->
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="shortcut icon" href="{{ asset('images/favicon.png') }}"/>
|
||||
<title>{{ config('app.name') }}</title>
|
||||
|
||||
<!-- Bootstrap -->
|
||||
<link href="{{ asset('theme/bootstrap/dist/css/bootstrap.min.css') }}" rel="stylesheet">
|
||||
<!-- Font Awesome -->
|
||||
<link href="{{ asset('theme/font-awesome/css/font-awesome.min.css') }}" rel="stylesheet">
|
||||
<!-- NProgress -->
|
||||
<link href="{{ asset('theme/nprogress/nprogress.css') }}" rel="stylesheet">
|
||||
<!-- bootstrap-progressbar -->
|
||||
<link href="{{ asset('theme/bootstrap-progressbar/css/bootstrap-progressbar-3.3.4.min.css') }}" rel="stylesheet">
|
||||
<!-- bootstrap-daterangepicker -->
|
||||
<link href="{{ asset('theme/bootstrap-daterangepicker/daterangepicker.css') }}" rel="stylesheet">
|
||||
<!-- Custom Theme Style -->
|
||||
|
||||
<!-- bootstrap-wysiwyg -->
|
||||
<link href="{{ asset('theme/google-code-prettify/bin/prettify.min.css') }}" rel="stylesheet">
|
||||
<!-- Select2 -->
|
||||
<link href="{{ asset('theme/select2/dist/css/select2.min.css') }}" rel="stylesheet">
|
||||
<link rel="stylesheet" href="{{ asset('css/loader.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('css/spinner.css') }}">
|
||||
<link href="{{ asset('theme/build/css/custom.min.css') }}" rel="stylesheet">
|
||||
<link href="{{ asset('css/improved.css') }}" rel="stylesheet">
|
||||
<link href="{{ asset('css/rtg_custom.css') }}" rel="stylesheet">
|
||||
<link href="{{ asset('css/custom.css') }}" rel="stylesheet">
|
||||
<!-- Magnific Popup Style-->
|
||||
<link href="{{ asset('js/magnify/magnific-popup.css') }}" rel="stylesheet">
|
||||
<!-- Datepicker css-->
|
||||
<link href="{{ asset('css/datepicker.css') }}" rel="stylesheet">
|
||||
<style>
|
||||
.container_body{
|
||||
height: fit-content;
|
||||
min-height: 752px !important;
|
||||
}
|
||||
.tr-height{
|
||||
line-height: 45px;
|
||||
min-height: 45px;
|
||||
height: 45px;
|
||||
}
|
||||
.swal2-confirm,.swal2-cancel {
|
||||
font-size: 1.4em !important;
|
||||
}
|
||||
ul#remove {
|
||||
list-style-type: none;
|
||||
padding: 0;
|
||||
}
|
||||
</style>
|
||||
@stack('css')
|
||||
|
||||
</head>
|
||||
|
||||
<body class="nav-md"> <!-- nav-sm -->
|
||||
<div id="spinner">
|
||||
<div id="loading">
|
||||
<span class="timer-loader">Loading…</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container body">
|
||||
<div class="main_container" >
|
||||
@if (Auth::check())
|
||||
@include('partials/adminsidemenu')
|
||||
@include('partials/admintopbar')
|
||||
<div class="right_col container_body" role="main" >
|
||||
@if ($errors->any())
|
||||
<div class="alert alert-danger" onclick="this.classList.add('hidden');">
|
||||
<ul id="remove">
|
||||
@foreach ($errors->all() as $error)
|
||||
<li>{{ $error }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
@if (session()->has('success'))
|
||||
<div class="alert alert-success" onclick="this.classList.add('hidden');">
|
||||
{{ session()->get('success') }}
|
||||
</div>
|
||||
@endif
|
||||
@if (session()->has('error'))
|
||||
<div class="alert alert-danger" onclick="this.classList.add('hidden');">
|
||||
{{ session()->get('error') }}
|
||||
</div>
|
||||
@endif
|
||||
@yield('content')
|
||||
</div>
|
||||
@else
|
||||
@yield('content')
|
||||
@endif
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@include('partials.footer')
|
||||
<!-- jQuery -->
|
||||
<script src="{{ asset('theme/jquery/dist/jquery.min.js') }}"></script>
|
||||
<!-- Bootstrap -->
|
||||
<script src="{{ asset('theme/bootstrap/dist/js/bootstrap.min.js') }}"></script>
|
||||
<!-- Datepicker Script-->
|
||||
<script src="{{asset('/')}}js/datepicker.js"></script>
|
||||
<!-- FastClick -->
|
||||
<script src="{{ asset('theme/fastclick/lib/fastclick.js') }}"></script>
|
||||
|
||||
<!-- NProgress -->
|
||||
<script src="{{ asset('theme/nprogress/nprogress.js') }}"></script>
|
||||
|
||||
<!-- validation Scripts -->
|
||||
<script src="{{asset('/')}}js/jsvalidate/jquery.validate.min.js"></script>
|
||||
|
||||
<!-- bootstrap-wysiwyg -->
|
||||
<script src="{{ asset('theme/bootstrap-wysiwyg/js/bootstrap-wysiwyg.min.js') }}"></script>
|
||||
<script src="{{ asset('theme/jquery.hotkeys/jquery.hotkeys.js') }}"></script>
|
||||
<script src="{{ asset('theme/google-code-prettify/src/prettify.js') }}"></script>
|
||||
|
||||
<!-- summer note -->
|
||||
<script src="{{asset('/')}}js/summernote/summernote.min.js"></script>
|
||||
|
||||
<!-- Custom Theme Scripts -->
|
||||
<script src="{{ asset('theme/build/js/custom.min.js') }}"></script>
|
||||
|
||||
|
||||
<!-- Magnific Popup Script-->
|
||||
<script src="{{ asset('js/magnify/jquery.magnific-popup.js') }}"></script>
|
||||
|
||||
<!-- Sweetalert Script-->
|
||||
<script src="{{ asset('js/sweetalert2/sweetalert2.min.js') }}"></script>
|
||||
|
||||
<script src="{{asset('/')}}js/Common/common-helper.js?v=1.0.4"></script>
|
||||
|
||||
<!-- <script>
|
||||
$(window).ready(function(){
|
||||
$(".right_col").css("height", $(document).height());
|
||||
$(".left_col").css("height", $(document).height());
|
||||
});
|
||||
</script> -->
|
||||
|
||||
<script type="text/javascript">
|
||||
function validDate(dValue) {
|
||||
if (dValue == '') dValue = $('#exp_date').val();
|
||||
var result = false;
|
||||
dValue = dValue.split('/');
|
||||
var pattern = /^\d{2}$/;
|
||||
var pattern1 = /^\d{4}$/;
|
||||
if (dValue[0] < 1 || dValue[0] > 12)
|
||||
result = true;
|
||||
|
||||
if (!pattern.test(dValue[0]) || !pattern1.test(dValue[1]))
|
||||
result = true;
|
||||
|
||||
if (dValue[2])
|
||||
result = true;
|
||||
|
||||
if (result) {
|
||||
alert("Please enter a valid date in MM/YYYY format.");
|
||||
$('#exp_date').val('');
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
const globalAjaxRequest = async (url,method,data = {})=>{
|
||||
$('#spinner').show();
|
||||
let response = {}
|
||||
try {
|
||||
response = await $.ajax({
|
||||
type: method,
|
||||
url: url,
|
||||
data: data
|
||||
})
|
||||
if (response) {
|
||||
$('#spinner').hide();
|
||||
}
|
||||
}catch (e) {
|
||||
$('#spinner').hide();
|
||||
}
|
||||
return response;
|
||||
}
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" src="https://cdn.ywxi.net/js/1.js" async></script>
|
||||
@stack('script')
|
||||
</body>
|
||||
</html>
|
||||
168
resources/views/layouts/app.blade.php
Normal file
168
resources/views/layouts/app.blade.php
Normal file
@@ -0,0 +1,168 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<!-- Meta, title, CSS, favicons, etc. -->
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="shortcut icon" href="{{ asset('images/favicon.png') }}"/>
|
||||
<title>{{ config('app.name') }}</title>
|
||||
|
||||
<!-- Bootstrap -->
|
||||
<link href="{{ asset('theme/bootstrap/dist/css/bootstrap.min.css') }}" rel="stylesheet">
|
||||
<!-- Font Awesome -->
|
||||
<link href="{{ asset('theme/font-awesome/css/font-awesome.min.css') }}" rel="stylesheet">
|
||||
<!-- NProgress -->
|
||||
<link href="{{ asset('theme/nprogress/nprogress.css') }}" rel="stylesheet">
|
||||
<!-- bootstrap-progressbar -->
|
||||
<link href="{{ asset('theme/bootstrap-progressbar/css/bootstrap-progressbar-3.3.4.min.css') }}" rel="stylesheet">
|
||||
<!-- bootstrap-daterangepicker -->
|
||||
<link href="{{ asset('theme/bootstrap-daterangepicker/daterangepicker.css') }}" rel="stylesheet">
|
||||
<!-- Custom Theme Style -->
|
||||
|
||||
<!-- bootstrap-wysiwyg -->
|
||||
<link href="{{ asset('theme/google-code-prettify/bin/prettify.min.css') }}" rel="stylesheet">
|
||||
<!-- Select2 -->
|
||||
<link href="{{ asset('theme/select2/dist/css/select2.min.css') }}" rel="stylesheet">
|
||||
<link rel="stylesheet" href="{{ asset('css/loader.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('css/spinner.css') }}">
|
||||
<link href="{{ asset('theme/build/css/custom.min.css') }}" rel="stylesheet">
|
||||
<link href="{{ asset('css/improved.css') }}" rel="stylesheet">
|
||||
<link href="{{ asset('css/rtg_custom.css') }}" rel="stylesheet">
|
||||
<link href="{{ asset('css/iq-default.min.css') }}" rel="stylesheet">
|
||||
<link href="{{ asset('css/smart_credit_report.css') }}" rel="stylesheet">
|
||||
<link href="{{ asset('css/custom.css') }}" rel="stylesheet">
|
||||
<!-- Magnific Popup Style-->
|
||||
<link href="{{ asset('js/magnify/magnific-popup.css') }}" rel="stylesheet">
|
||||
<style>
|
||||
.container_body{
|
||||
height: fit-content;
|
||||
min-height: 752px !important;
|
||||
}
|
||||
.swal2-styled.swal2-confirm {
|
||||
font-size: 1.3em !important;
|
||||
}
|
||||
.modal-header-warning {
|
||||
color:#fff;
|
||||
padding:9px 15px;
|
||||
border-bottom:1px solid #eee;
|
||||
background-color: #f0ad4e;
|
||||
-webkit-border-top-left-radius: 5px;
|
||||
-webkit-border-top-right-radius: 5px;
|
||||
-moz-border-radius-topleft: 5px;
|
||||
-moz-border-radius-topright: 5px;
|
||||
border-top-left-radius: 5px;
|
||||
border-top-right-radius: 5px;
|
||||
}
|
||||
.modal-header-info {
|
||||
color:#fff;
|
||||
padding:9px 15px;
|
||||
border-bottom:1px solid #eee;
|
||||
background-color: #5bc0de;
|
||||
-webkit-border-top-left-radius: 5px;
|
||||
-webkit-border-top-right-radius: 5px;
|
||||
-moz-border-radius-topleft: 5px;
|
||||
-moz-border-radius-topright: 5px;
|
||||
border-top-left-radius: 5px;
|
||||
border-top-right-radius: 5px;
|
||||
}
|
||||
.modal-width{
|
||||
width: 35%;
|
||||
}
|
||||
ul#remove {
|
||||
list-style-type: none;
|
||||
padding: 0;
|
||||
}
|
||||
</style>
|
||||
@stack('css')
|
||||
|
||||
</head>
|
||||
|
||||
<body class="nav-md"> <!-- nav-sm -->
|
||||
<div id="spinner" class="loading">
|
||||
<div id="loading">
|
||||
<span class="timer-loader">Loading…</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container body">
|
||||
<div class="main_container">
|
||||
@if (Auth::check())
|
||||
@include('partials/sidemenu')
|
||||
@include('partials/topbar')
|
||||
<div class="right_col container_body" role="main" >
|
||||
@if ($errors->any())
|
||||
<div class="alert alert-danger" style="margin-top: 50px" onclick="this.classList.add('hidden');">
|
||||
<ul id="remove">
|
||||
@foreach ($errors->all() as $error)
|
||||
<li>{{ $error }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
@if (session()->has('success'))
|
||||
<div class="alert alert-success" style="margin-top: 50px" onclick="this.classList.add('hidden');">
|
||||
{{ session()->get('success') }}
|
||||
</div>
|
||||
@endif
|
||||
@if (session()->has('error'))
|
||||
<div class="alert alert-danger" style="margin-top: 50px" onclick="this.classList.add('hidden');">
|
||||
{{ session()->get('error') }}
|
||||
</div>
|
||||
@endif
|
||||
@yield('content')
|
||||
@include('partials.modal_views')
|
||||
@include('partials.footer')
|
||||
</div>
|
||||
@else
|
||||
@yield('content')
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<!-- jQuery -->
|
||||
<script src="{{ asset('theme/jquery/dist/jquery.min.js') }}"></script>
|
||||
<!-- Bootstrap -->
|
||||
<script src="{{ asset('theme/bootstrap/dist/js/bootstrap.min.js') }}"></script>
|
||||
<!-- FastClick -->
|
||||
<script src="{{ asset('theme/fastclick/lib/fastclick.js') }}"></script>
|
||||
|
||||
<!-- NProgress -->
|
||||
<script src="{{ asset('theme/nprogress/nprogress.js') }}"></script>
|
||||
|
||||
<!-- bootstrap-wysiwyg -->
|
||||
<script src="{{ asset('theme/bootstrap-wysiwyg/js/bootstrap-wysiwyg.min.js') }}"></script>
|
||||
<script src="{{ asset('theme/jquery.hotkeys/jquery.hotkeys.js') }}"></script>
|
||||
<script src="{{ asset('theme/google-code-prettify/src/prettify.js') }}"></script>
|
||||
|
||||
<!-- summer note -->
|
||||
<script src="{{asset('/')}}js/summernote/summernote.min.js"></script>
|
||||
|
||||
<!-- validation Scripts -->
|
||||
<script src="{{asset('/')}}js/jsvalidate/jquery.validate.min.js"></script>
|
||||
|
||||
<!-- Custom Theme Scripts -->
|
||||
<script src="{{ asset('theme/build/js/custom.min.js') }}"></script>
|
||||
|
||||
|
||||
<!-- Magnific Popup Script-->
|
||||
<script src="{{ asset('js/magnify/jquery.magnific-popup.js') }}"></script>
|
||||
|
||||
<!-- Sweetalert Script-->
|
||||
<script src="{{ asset('js/sweetalert2/sweetalert2.min.js') }}"></script>
|
||||
|
||||
<script src="{{asset('/')}}js/Common/common-helper.js?v=1.0.4"></script>
|
||||
<!-- <script>
|
||||
$(window).ready(function(){
|
||||
$(".right_col").css("height", $(document).height());
|
||||
$(".left_col").css("height", $(document).height());
|
||||
});
|
||||
</script> -->
|
||||
|
||||
<script type="text/javascript" src="https://cdn.ywxi.net/js/1.js" async></script>
|
||||
@stack('script')
|
||||
</body>
|
||||
</html>
|
||||
87
resources/views/layouts/lg-pdf-css.blade.php
Normal file
87
resources/views/layouts/lg-pdf-css.blade.php
Normal file
@@ -0,0 +1,87 @@
|
||||
<head>
|
||||
<title>pdf</title>
|
||||
<!-- Bootstrap -->
|
||||
<link href="{{ asset('theme/bootstrap/dist/css/bootstrap.min.css') }}" rel="stylesheet">
|
||||
<link href="{{ asset('css/iq-default.min.css') }}" rel="stylesheet">
|
||||
<style type="text/css">
|
||||
body {
|
||||
font-size: 18px;
|
||||
margin-top: 120px;
|
||||
font-family: -webkit-body;
|
||||
color: black;
|
||||
margin-left: 50px;
|
||||
margin-right: 50px;
|
||||
text-align: justify;
|
||||
|
||||
}
|
||||
.span-red { color: red; }
|
||||
.span-large { font-size: 20px; text-align: center; }
|
||||
.span-ul {text-decoration: underline; color: #333;background-color: yellow;font-size: 18px;}
|
||||
.span-blue { color: #8aaed3;font-size: 20px; }
|
||||
.txt-cen-ul {text-align: center;text-decoration: underline;font-weight: bold;}
|
||||
.span-ul2 {text-decoration: underline; color: #333;}
|
||||
/* div.cb-content * {
|
||||
background-color: #eded80;
|
||||
} */
|
||||
.bg-yellow {
|
||||
background-color:#e3f10d;
|
||||
font-weight: bold;
|
||||
}
|
||||
.bg-pink {
|
||||
background-color: #ead0ea;
|
||||
}
|
||||
.bg-tra {
|
||||
background-color: #DAB96A;
|
||||
}
|
||||
.bg-exp {
|
||||
background-color: #98BDC5;
|
||||
}
|
||||
.bg-equ {
|
||||
background-color: #CBD06C;
|
||||
}
|
||||
.bg-yellow2 {
|
||||
background-color:#e8de5e;
|
||||
}
|
||||
.cb-br {
|
||||
font-weight: bold;
|
||||
font-size: 16px;
|
||||
background-color: #ccc;
|
||||
}
|
||||
.span-cl-green {
|
||||
color: #1bd618
|
||||
}
|
||||
.addr_hsrty{
|
||||
font-size:9px;
|
||||
border-spacing: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
.addr_hsrty td{
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
table.addr_hsrty td.headerTUC, table.addr_hsrty td.headerEXP, table.addr_hsrty td.headerEQF {
|
||||
background-color: transparent !important;
|
||||
color: black;
|
||||
}
|
||||
.cl-diff {
|
||||
font-weight: bold !important;
|
||||
font-size: 13px !important;
|
||||
/*color: red;
|
||||
mix-blend-mode: exclusion;*/
|
||||
}
|
||||
.clr-red {
|
||||
color: red;
|
||||
}
|
||||
.bg-light-red {
|
||||
background-color: #f19191;
|
||||
}
|
||||
.span-simple-ul {text-decoration: underline;}
|
||||
.acct-cb-img table{
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
.lower-part table{
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
91
resources/views/layouts/lg-pdf.blade.php
Normal file
91
resources/views/layouts/lg-pdf.blade.php
Normal file
@@ -0,0 +1,91 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
@include('layouts.lg-pdf-css')
|
||||
<body>
|
||||
<div class="container" style="margin-top: 30px;">
|
||||
<div class="row" id="pdf">
|
||||
<div class="row"><br></div>
|
||||
<div class="row">
|
||||
<table style="width:100%">
|
||||
<tr>
|
||||
<td style="width:50%">
|
||||
<span style="float:left" class="span-red">Today's Date is: <span
|
||||
class="span-ul">{{$universal['today']}}</span></span>
|
||||
</td>
|
||||
<td style="width:50%">
|
||||
<span
|
||||
class="span-large">Credit Report Data Resource:</span> <span
|
||||
style="font-size:16px;" class="span-ul" style="float: right;">{{$universal['cr_resource']}}
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>
|
||||
|
||||
|
||||
</p>
|
||||
</div>
|
||||
<br>
|
||||
<div class="row">
|
||||
<p class="span-red">My First and Last Name is and ONLY is <span
|
||||
class="span-ul">{{$universal['name']}}</span></p>
|
||||
</div>
|
||||
<div class="row">
|
||||
<p class="span-red">My Address Street Number, Street Name, City, and State is and only is</p>
|
||||
<p class="span-ul">{{$universal['address']}}</p><br>
|
||||
<p class="span-red">My Date of Birth is and only is <span class="span-ul">{{$universal['dob']}}</span>
|
||||
</p>
|
||||
<p class="span-red">My current Legally acquired lawful Social Security Number last four is and only is
|
||||
<span class="span-ul">{{$universal['ssn']}}</span></p>
|
||||
</div>
|
||||
<div class="row">
|
||||
<p>****To begin, I would like to ensure you have and ONLY RETAIN current, TRUE, CORRECT, COMPLETE, and
|
||||
MANDATED REPORTED information per FCRA regulations, any and all others that might be reported now or
|
||||
else wise I DEMAND, as is my lawful RIGHT(s) to do so, that you annul permanently and immediately any
|
||||
and all deficient of these afore-noted conditions, mentioned or not, especially if related directly or
|
||||
indirectly to any potentially injurious information be it true or unknown! Again, I DO NOT AUTHORIZE you
|
||||
to mis-report any mis-information now or ever, please review and ENSURE your adequate and full
|
||||
accordance to the laws upon which govern your practice of reporting consumer credit profiles. </p>
|
||||
</div>
|
||||
<div class="row">
|
||||
<p>(a)I do NOT have any requisite OTHER NAMES or aliases and I do NOT desire any OTHER NAMES or aliases to
|
||||
be retained or reported, if ANY DELETE NOW or produce PROOF of your legitimate AUTHORITY to retain much
|
||||
less report without infringing my consumer right(s).</p>
|
||||
</div>
|
||||
<div class="row">
|
||||
<p>(b)I do NOT have any requisite OTHER CURRENT addresses and I do NOT desire any OTHER ADDRESSES to be
|
||||
retained or reported, if ANY DELETE NOW or produce PROOF of your legitimate AUTHORITY to retain much
|
||||
less report without infringing my consumer right(s).</p>
|
||||
</div>
|
||||
<div class="row">
|
||||
<p>(c )I do NOT have any requisite OTHER SSNs and I do NOT desire any OTHER SSNs to be retained or reported,
|
||||
if ANY DELETE NOW or product PROOF of your legitimate AUTHORITY to retain much less report without
|
||||
infringing my consumer right(s)..</p>
|
||||
</div>
|
||||
<div class="row">
|
||||
<p>(d)I do NOT have any requisite OTHER Dates of Birth and I do NOT desire any OTHER Dates of Birth to be
|
||||
retained or reported, if ANY DELETE NOW or product PROOF of your legitimate AUTHORITY to retain much
|
||||
less report without infringing my consumer right(s).</p>
|
||||
</div>
|
||||
<div class="row">
|
||||
<p>(e)I do NOT have any requisite telephone numbers and I do NOT desire any telephone numbers to be retained
|
||||
or reported, if ANY DELETE NOW or product PROOF of your legitimate AUTHORITY to retain much less report
|
||||
without infringing my consumer right(s).</p>
|
||||
</div>
|
||||
<div class="row">
|
||||
<p>(f)I do NOT have any requisite employers and I do NOT desire any employers to be retained or reported, if
|
||||
ANY DELETE NOW or product PROOF of your legitimate AUTHORITY to retain much less report without
|
||||
infringing my consumer right(s).</p>
|
||||
</div>
|
||||
<div class="row">
|
||||
<p>(g)I do NOT have any requisite spouses/ roommates/ co-applicants and I do NOT desire any spouses/
|
||||
roommates/ co-applicants to be retained or reported, if ANY DELETE NOW or product PROOF of your
|
||||
legitimate AUTHORITY to retain much less report without infringing my consumer right(s).</p>
|
||||
</div>
|
||||
|
||||
@yield('content')
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
42
resources/views/layouts/lg-pdf2.blade.php
Normal file
42
resources/views/layouts/lg-pdf2.blade.php
Normal file
@@ -0,0 +1,42 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
@include('layouts.lg-pdf-css')
|
||||
<body>
|
||||
<div class="container" style="margin-top: 30px;">
|
||||
<div class="row" id="pdf">
|
||||
<div class="row"><br></div>
|
||||
<div class="row">
|
||||
@yield('header_content')
|
||||
<!-- <p><span style="float:left" class="span-red">Today's Date is: <span class="span-ul">{{$universal['today']}}</span></span> <span style="margin-left: 90px;width: 200px;" class="span-large">Credit Report Data Resource:</span> <span style="font-size:16px;" class="span-ul" style="float: right;">{{$universal['cr_resource']}} </span></p>-->
|
||||
<table style="width:100%">
|
||||
<tr>
|
||||
<td style="width:50%">
|
||||
<span style="float:left" class="span-red">Today's Date is: <span
|
||||
class="span-ul">{{$universal['today']}}</span></span>
|
||||
</td>
|
||||
<td style="width:50%">
|
||||
<span
|
||||
style="margin-left: 90px;width: 150px;"
|
||||
class="span-large">Credit Report Data Resource:</span> <span
|
||||
style="font-size:16px;" class="span-ul" style="float: right;">{{$universal['cr_resource']}}
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><br>
|
||||
<div class="row">
|
||||
<p class="span-red">My First and Last Name is and ONLY is <span class="span-ul">{{$universal['name']}} </span></p>
|
||||
</div>
|
||||
<div class="row">
|
||||
<p class="span-red">My Address Street Number, Street Name, City, and State is and only is</p>
|
||||
<p class="span-ul">{{$universal['address']}} </p><br>
|
||||
<p class="span-red">My Date of Birth is and only is <span class="span-ul">{{$universal['dob']}} </span></p>
|
||||
|
||||
</div>
|
||||
|
||||
@yield('content')
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
43
resources/views/layouts/register.blade.php
Normal file
43
resources/views/layouts/register.blade.php
Normal file
@@ -0,0 +1,43 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<!-- Meta, title, CSS, favicons, etc. -->
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="shortcut icon" href="{{ asset('images/favicon.png') }}"/>
|
||||
<title>{{ config('app.name') }}</title>
|
||||
<link rel="stylesheet" href="{{asset('css/fonts/css/all.css')}}">
|
||||
|
||||
<!-- Meta Pixel Code -->
|
||||
@include('partials.meta_pixel')
|
||||
<!-- End Meta Pixel Code -->
|
||||
|
||||
<!-- Google tag (gtag.js) -->
|
||||
@include('partials.google_tag')
|
||||
<!-- End Google tag (gtag.js) -->
|
||||
</head>
|
||||
|
||||
<body class="nav-md"> <!-- nav-sm -->
|
||||
|
||||
<div id="app">
|
||||
<App/>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const APP_BASE_ROUTE = '{{config('app.APP_BASE_ROUTE')}}'
|
||||
const API_BASE_URL = '{{config('app.API_BASE_URL')}}'
|
||||
const APP_URL = '{{config('app.url')}}'
|
||||
const SECURITY_KEY = '{{generateUniqueId()}}'
|
||||
const REPORT_PROVIDER = '{{config('app.REPORT_PROVIDER')}}'
|
||||
const APP_NAME = '{{config('app.name')}}'
|
||||
const COMPANY_NAME = '{{config('app.COMPANY_NAME')}}'
|
||||
const IS_FREE = '{{getSession('isFree')}}'
|
||||
</script>
|
||||
<script src="{{ asset('js/vue/app.js') }}"></script>
|
||||
@stack('script')
|
||||
</body>
|
||||
</html>
|
||||
|
||||
515
resources/views/lg/edit.blade.php
Normal file
515
resources/views/lg/edit.blade.php
Normal file
@@ -0,0 +1,515 @@
|
||||
|
||||
@extends('layouts.app')
|
||||
@section('styles')
|
||||
<link href="{{ asset('public/css/datepicker.css') }}" rel="stylesheet">
|
||||
<link href="{{ asset('public/css/evlg-page.css') }}" rel="stylesheet">
|
||||
<link href="{{ asset('public/js/summernote/summernote.css') }}" rel="stylesheet">
|
||||
<link href="{{ asset('public/css/bootstrap-multiselect.css') }}" rel="stylesheet">
|
||||
|
||||
@endsection
|
||||
@section('content')
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="panel panel-default panel-frm">
|
||||
<div class="panel-heading">
|
||||
<h1>Epic-Velocity Template Letter</h1>
|
||||
<p>The EV-TLG is the Credit Repair Champion’s and the Metro 2 Compliance Academy’s Official Template Letter Generator Attack Wave System Software! </p>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
@if (session('status'))
|
||||
<div class="alert alert-success">
|
||||
{{ session('status') }}
|
||||
</div>
|
||||
@endif
|
||||
<div class="clearfix"></div>
|
||||
<form method="POST" action="{{ url('/lg/update/'.$model->id) }}" accept-charset="UTF-8" enctype="multipart/form-data" id="lg-form">
|
||||
<div class="row">
|
||||
{{ csrf_field() }}
|
||||
<input type="hidden" name="action" value="edit">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="x_panel">
|
||||
<div class="x_content">
|
||||
<div class="col-md-12 text-center">
|
||||
<span class="glyphicon glyphicon-play-circle video-icon" title="Need Help" onclick="alert('Vidoes coming soon!')"></span>
|
||||
<div class="col-md-6 col-md-offset-3 ">
|
||||
<div class="form-group">
|
||||
<label>Select Client</label>
|
||||
<!-- <input id="today" type="text" class="form-control" name="today" required autofocus > -->
|
||||
<select name="client_id" onchange="getClientEdit()" class="form-control" id="client_id">
|
||||
<option value="">Please select</option>
|
||||
@foreach ($users as $key => $obj)
|
||||
<option value="{{$obj->id}}"
|
||||
<?php if($model->client_id==$obj->id){?> selected="selected" <?php } ?>
|
||||
|
||||
>{{$obj->firstname}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<input type="hidden" name="client_name" id="client_name" value="">
|
||||
<input type="hidden" name="date_time" id="date_time" value="">
|
||||
<img id="client-loader" style="display: none;" src="{{ asset('public/images/ajax-loader.gif') }}">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="col-md-6 ">
|
||||
<div class="form-group">
|
||||
<label>Today’s Date is</label>
|
||||
<input id="today" type="text" class="form-control" name="today" required autofocus >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 ">
|
||||
<div class="form-group">
|
||||
<label>Credit Report Data Resource or Monitoring</label>
|
||||
<input id="cr_resource" type="text" class="form-control" name="cr_resource" >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 ">
|
||||
<div class="form-group">
|
||||
<label><span class="req-span">*</span>Name (at least First and Last Name)</label>
|
||||
<input id="name" type="text" class="form-control" name="name" required >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 ">
|
||||
<div class="form-group">
|
||||
<label><span class="req-span">*</span>Address (at least Street Number, Street Name, City, State spelled out)</label>
|
||||
<input id="address" type="text" class="form-control" name="address" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 ">
|
||||
<div class="form-group">
|
||||
<label>Date of Birth</label>
|
||||
<input id="dob" type="text" class="form-control datepicker" name="dob" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 ">
|
||||
<div class="form-group">
|
||||
<label>Social Security Number (last four ONLY displayed on ANY DOCUMENT)</label>
|
||||
<input id="ssn" type="text" class="form-control" name="ssn" maxlength="12" placeholder="" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 ">
|
||||
<div class="form-group">
|
||||
<label>Personal Tracking Number</label>
|
||||
<input id="p_tracking_number" type="text" class="form-control" name="p_tracking_number" value="{{$model->p_tracking_number}}">
|
||||
<span class="glyphicon glyphicon-refresh" title="Regenrate" id="btn-regenerate" onclick="gen_rand()"></span>
|
||||
</div>
|
||||
<div class="form-group" id="univ-dest-div">
|
||||
<label>Universal Template Destinatioin(s)</label><br>
|
||||
<select id="univ-dest" multiple="multiple" class="form-control" name="destination[]">
|
||||
<optgroup label="EXPERIAN DESTINATIONS">
|
||||
<option value="EXPERIAN PO BOX 9701, ALLEN, TX 75013" @if(in_array( 'EXPERIAN PO BOX 9701, ALLEN, TX 75013',$model->univ_dest )) selected="selected" @endif > EXPERIAN PO BOX 9701, ALLEN, TX 75013</option>
|
||||
<option value="EXPERIAN PO BOX 4500, ALLEN, TX 75013" @if(in_array( 'EXPERIAN PO BOX 4500, ALLEN, TX 75013',$model->univ_dest )) selected="selected" @endif >EXPERIAN PO BOX 4500, ALLEN, TX 75013</option>
|
||||
</optgroup>
|
||||
<optgroup label="EQUIFAX DESTINATIONS">
|
||||
<option value="EQUIFAX PO Box740256, ATLANTA,GA 30374-0256" @if(in_array( 'EQUIFAX PO Box740256, ATLANTA,GA 30374-0256',$model->univ_dest )) selected="selected" @endif >EQUIFAX PO Box740256, ATLANTA,GA 30374-0256</option>
|
||||
<option value="EQUIFAX PO Box740241, ATLANTA,GA 30374-0241" @if(in_array( 'EQUIFAX PO Box740241, ATLANTA,GA 30374-0241',$model->univ_dest )) selected="selected" @endif >EQUIFAX PO Box740241, ATLANTA,GA 30374-0241</option>
|
||||
|
||||
</optgroup>
|
||||
<optgroup label="TRANS UNION DESTINATIONS">
|
||||
<option value="Trans Union PO Box 2000, CHESTER, PA 19016-2000" @if(in_array( 'Trans Union PO Box 2000, CHESTER, PA 19016-2000',$model->univ_dest )) selected="selected" @endif >Trans Union PO Box 2000, CHESTER, PA 19016-2000</option>
|
||||
<option value="Trans Union PO Box 1000, CHESTER, PA 19022-1000" @if(in_array( 'Trans Union PO Box 1000, CHESTER, PA 19022-1000',$model->univ_dest )) selected="selected" @endif>Trans Union PO Box 1000, CHESTER, PA 19022-1000</option>
|
||||
<option value="Trans Union PO Box 2000, CHESTER, PA 19022-2000" @if(in_array( 'Trans Union PO Box 2000, CHESTER, PA 19022-2000',$model->univ_dest )) selected="selected" @endif>Trans Union PO Box 2000, CHESTER, PA 19022-2000</option>
|
||||
</optgroup>
|
||||
<optgroup label="INNOVIS DESTINATIONS">
|
||||
<option value="INNOVIS PO Box 1640, Pittsburgh, PA 15230-1640" @if(in_array( 'INNOVIS PO Box 1640, Pittsburgh, PA 15230-1640',$model->univ_dest )) selected="selected" @endif>INNOVIS PO Box 1640, Pittsburgh, PA 15230-1640</option>
|
||||
<option value="Innovis Consumer Assistance PO Box 530088, Atlanta, GA 30353-0088" @if(in_array( 'Innovis Consumer Assistance PO Box 530088, Atlanta, GA 30353-0088',$model->univ_dest )) selected="selected" @endif>Innovis Consumer Assistance PO Box 530088, Atlanta, GA 30353-0088</option>
|
||||
|
||||
</optgroup>
|
||||
<optgroup label="LEXISNEXIS DESTINATIONS">
|
||||
<option value="LexisNexis PO Box 105108, Atlanta, GA 30348" @if(in_array( 'LexisNexis PO Box 105108, Atlanta, GA 30348',$model->univ_dest )) selected="selected" @endif>LexisNexis PO Box 105108, Atlanta, GA 30348</option>
|
||||
|
||||
</optgroup>
|
||||
<optgroup label="SAGESTREAM LLC DESTINATIONS">
|
||||
<option value="SageStream, LLC, LexisNexis Risk Solutions Consumer Center P. O. Box 105108. Atlanta, Georgia 30348-5108" @if(in_array( 'SageStream, LLC, LexisNexis Risk Solutions Consumer Center P. O. Box 105108. Atlanta, Georgia 30348-5108',$model->univ_dest )) selected="selected" @endif>SageStream, LLC, LexisNexis Risk Solutions Consumer Center P. O. Box 105108. Atlanta, Georgia 30348-5108</option>
|
||||
|
||||
</optgroup>
|
||||
<optgroup label="CHEX SYSTEMS DESTINATIONS">
|
||||
<option value="Chex Systems ATTN: Consumer Relations, 7805 Hudson Rd., Ste. 100, Woodbury, MN 55125" @if(in_array( 'Chex Systems ATTN: Consumer Relations, 7805 Hudson Rd., Ste. 100, Woodbury, MN 55125',$model->univ_dest )) selected="selected" @endif>Chex Systems ATTN: Consumer Relations, 7805 Hudson Rd., Ste. 100, Woodbury, MN 55125</option>
|
||||
|
||||
</optgroup>
|
||||
<optgroup label="MIB INC DESTINATIONS">
|
||||
<option value="(US RESIDENTS) MIB Inc 50 Braintree Hill Park, Suite 400, Braintree, MA 02184-8734" @if(in_array( '(US RESIDENTS) MIB Inc 50 Braintree Hill Park, Suite 400, Braintree, MA 02184-8734',$model->univ_dest )) selected="selected" @endif>(US RESIDENTS) MIB Inc 50 Braintree Hill Park, Suite 400, Braintree, MA 02184-8734</option>
|
||||
<option value="(CANADIAN RESIDENTS) MIB Inc 330 university Avenue, Suite 501, Toronto, Canada M5G 1R7" @if(in_array( '(CANADIAN RESIDENTS) MIB Inc 330 university Avenue, Suite 501, Toronto, Canada M5G 1R7',$model->univ_dest )) selected="selected" @endif>(CANADIAN RESIDENTS) MIB Inc 330 university Avenue, Suite 501, Toronto, Canada M5G 1R7</option>
|
||||
|
||||
</optgroup>
|
||||
<optgroup label="FACTOR TRUST DESTINATIONS">
|
||||
<option value="FactorTrust PO Box 3653,Alpharhetta, GA 30023" @if(in_array( 'FactorTrust PO Box 3653,Alpharhetta, GA 30023',$model->univ_dest )) selected="selected" @endif>FactorTrust PO Box 3653,Alpharhetta, GA 30023</option>
|
||||
</optgroup>
|
||||
<optgroup label="DATA FURNISHERS">
|
||||
<option value="" >DATA FURNISHERS</option>
|
||||
</optgroup>
|
||||
<optgroup label="OTHER">
|
||||
<option value="1" >Other</option>
|
||||
</optgroup>
|
||||
</select>
|
||||
</div>
|
||||
<div class=" form-group " id="univ-df" style="display: none;">
|
||||
<div class="form-group">
|
||||
<label>Data Furnishers</label>
|
||||
<select name="destination[]" class="form-control select-df" id="select-df" >
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class=" form-group univ-other" id="univ-other" style="display: none;">
|
||||
<div>
|
||||
<input type="text" name="destination[]" class="form-control" placeholder="OTHER" style="width: 93%">
|
||||
<span class="glyphicon glyphicon-plus btn-univ-add-other" title="Add Other"></span>
|
||||
<span class="glyphicon glyphicon-minus btn-univ-remove-other" title="Remove Other"></span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 ">
|
||||
<div class="form-group">
|
||||
<label class="check-btn" style="font-size:14px;color:red;"><input type="checkbox" name="exclude_all" value="1" id="exclude-all" onchange="excludeall()"> <strong>Exclude All Content Boxes</strong><span class="cr"></span></label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
var item_count = 0;
|
||||
var image_count = 1;
|
||||
</script>
|
||||
|
||||
<div class="col-md-12 col-sm-12 col-xs-12 " >
|
||||
<div class="x_panel">
|
||||
<div class="x_content">
|
||||
<div id="content-area">
|
||||
|
||||
@foreach ($model->form_data as $key => $obj)
|
||||
<div class="col-md-12 main-content" id="main-content-{{$key}}">
|
||||
<fieldset class="add-nother" >
|
||||
|
||||
<legend class="add-nother">
|
||||
Content Box Work Area <span class="glyphicon glyphicon-play-circle video-icon" title="Need Help" onclick="alert('Vidoes coming soon!')"></span><br>
|
||||
<span class="fa-stack fa-lg" style="font-size:16px;font-weight: 500;">
|
||||
<i class="fa fa-circle fa-stack-2x"></i>
|
||||
<i class="fa-stack-1x fa-inverse">{{($key+1)}}</i>
|
||||
</span>
|
||||
</legend>
|
||||
|
||||
<div class="col-md-9">
|
||||
<div class="row">
|
||||
<div class="col-md-4" style="overflow: hidden;">
|
||||
<div class="form-group file-txt">
|
||||
<label>ADD IMAGE </label>
|
||||
<input type="file" name="info_item[file][]" class="" id="content_file_{{$key}}">
|
||||
</div>
|
||||
<div class="col-md-1" style="margin-top: 5px;padding-left: 0px;">
|
||||
<label ><a onclick="removeContentImage({{$key}})" style="padding: 1px 6px;" class="btn btn-danger" title="Clear attached file"><i class="fa fa-minus"></i></a></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<div class="form-group" style="clear: both;" >
|
||||
<label>DEROGATORY Decisions</label>
|
||||
<select name="info_item[wave][]" id="wave-{{$key}}" class="form-control" onchange="showDtype(this,{{$key}})" required="">
|
||||
<option value="">Please select template</option>
|
||||
@if(Auth::user()->can('Wave1'))
|
||||
<option value="w1" @if($obj['wave']=='w1') selected="selected" @endif >
|
||||
I want to use a Wave 1 attack for this content box's items ( Day 1-19)</option>
|
||||
@endif
|
||||
@if(Auth::user()->can('Wave2'))
|
||||
<option value="w2" disabled="disabled" @if($obj['wave']=='w2') selected="selected" @endif >I want to use a Wave 2 attack for this content box's items (Day 20-39)</option>
|
||||
@endif
|
||||
@if(Auth::user()->can('Wave3'))
|
||||
<option value="w3" disabled="disabled" @if($obj['wave']=='w3') selected="selected" @endif>I want to use a Wave 3 attack for this content box's items (Day 40-59)</option>
|
||||
@endif
|
||||
@if(Auth::user()->can('Wave4'))
|
||||
<option value="w4" disabled="disabled" @if($obj['wave']=='w4') selected="selected" @endif>I want to use a Wave 4 attack for this content box's items (Day 60-79)</option>
|
||||
@endif
|
||||
@if(Auth::user()->can('Wave5'))
|
||||
<option value="w5" disabled="disabled" @if($obj['wave']=='w5') selected="selected" @endif>I want to use a Wave 5 attack for this content box's items (Day 80-99)</option>
|
||||
@endif
|
||||
@if(Auth::user()->can('Wave6'))
|
||||
<option value="w6" disabled="disabled" @if($obj['wave']=='w6') selected="selected" @endif>I want to use a Wave 6+ attack for this content box's items (Day 100-119)</option>
|
||||
@endif
|
||||
@if(Auth::user()->can('Wave7'))
|
||||
<option value="w7" disabled="disabled" @if($obj['wave']=='w7') selected="selected" @endif>I want to use a RANDOM WAVE # Attack for this content box's item (Day ??)</option>
|
||||
@endif
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group" style="clear: both" id="div-dtype-{{$key}}">
|
||||
<label>Type of Reported Issues</label>
|
||||
<select name="info_item[letter_type][]" id="dtype-{{$key}}" class="form-control" onchange="showTemplate(this,{{$key}})" required="">
|
||||
<option value="">Please select template</option>
|
||||
<option value="1" @if($obj['letter_type']=='1') selected="selected" @endif>Personal Identifier Information</option>
|
||||
<option value="2" @if($obj['letter_type']=='2') selected="selected" @endif>INQUIRY(ies) information</option>
|
||||
<option value="3" @if($obj['letter_type']=='3') selected="selected" @endif>LATE PAYMENT (not Student Loan) Information</option>
|
||||
<option value="4" @if($obj['letter_type']=='4') selected="selected" @endif>STUDENT LOAN LATE PAYMENT Information</option>
|
||||
<option value="5" @if($obj['letter_type']=='5') selected="selected" @endif>Regular Non-Medical Collection Information</option>
|
||||
<option value="6" @if($obj['letter_type']=='6') selected="selected" @endif>Medical Collection Information</option>
|
||||
<option value="7" @if($obj['letter_type']=='7') selected="selected" @endif>CHARGE OFF Information</option>
|
||||
<option value="8" @if($obj['letter_type']=='8') selected="selected" @endif>REPOSSESSION Information</option>
|
||||
<option value="9" @if($obj['letter_type']=='9') selected="selected" @endif>PUBLIC RECORDS Information</option>
|
||||
<option value="10" @if($obj['letter_type']=='10') selected="selected" @endif>GENERAL DELINQUENT , DEROGATORY, or QUESTIONABLY REPORTED Information</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group" style="clear: both;" id="template-{{$key}}">
|
||||
<label>TEMPLATE LETTER FOR BUREAU</label>
|
||||
<select name="info_item[template][]" id="lt_template-{{$key}}" class="form-control" required="">
|
||||
<option value="">Please select template</option>
|
||||
@if($obj['letter_type']=='1')
|
||||
<option value="PI-Ew1L1D1-bureau_1" @if($obj['template']=='PI-Ew1L1D1-bureau_1') selected="selected" @endif> For Bureaus use Ew1L1D1 bureaus General Item Attack for Bureau on Questionable Items</option>
|
||||
@elseif($obj['letter_type']=='2')
|
||||
<option value="INQ-Ew1L2D1-bureau_2" @if($obj['template']=='INQ-Ew1L2D1-bureau_2') selected="selected" @endif> For Bureaus use Ew1L2D1 bureaus Inquiry(ies)</option>
|
||||
@elseif($obj['letter_type']=='3')
|
||||
<optgroup label="If ONLY 1 or 2 Lates reported in last 4 years">
|
||||
<option value="NLP12-Ew1L1D1-bureau_1" @if($obj['template']=='NLP12-Ew1L1D1-bureau_1') selected="selected" @endif > For Bureaus use Ew1L1D1 bureaus General Item Attack for Bureau on Questionable Items</option>
|
||||
</optgroup>
|
||||
<optgroup label="If 3+ Lates reported in last 4 years">
|
||||
<option value="NLP3-Ew1LPRD1-bureau_17" @if($obj['template']=='NLP3-Ew1LPRD1-bureau_17') selected="selected" @endif title="For Bureaus use Ew1LPRD1 BureausORcredittors for accounts with AT LEAST(3+) Late Payments in last 4 years(48 months) with GOAL of REMOVAL FROM REPORTING (but would be HAPPY with PAANL or PAANLPR status)"> For Bureaus use Ew1LPRD1 BureausORcredittors for accounts with AT LEAST(3+) Late Payments in last 4 years(48 months) with GOAL of REMOVAL FROM REPORTING (but would be HAPPY with PAANL or PAANLPR status)</option>
|
||||
</optgroup>
|
||||
@elseif($obj['letter_type']=='4')
|
||||
<optgroup label="If a Student Loan with ONLY 1 or 2 Late Payments (that you WANT TO TRY FOR PAANL STATUS) reported in last 4 years">
|
||||
<option value="SL12-Ew1L9D1-bureau_9" @if($obj['template']=='SL12-Ew1L9D1-bureau_9') selected="selected" @endif> For Bureaus use Ew1L9D1 for PAANL STUDENT LOAN</option>
|
||||
</optgroup>
|
||||
<optgroup label="If a Student Loan with 3+ Late Payments (That you WANT to attempt REMOVAL of REPORTING) reported in last 4 years">
|
||||
<option value="SL3-Ew1L11D1-bureau_11" @if($obj['template']=='SL3-Ew1L11D1-bureau_11') selected="selected" @endif> For Bureaus use Ew1L11D1 bureau for STUDENT LOAN DELETION</option>
|
||||
</optgroup>
|
||||
@elseif($obj['letter_type']=='5')
|
||||
<option value="NMCOL-Ew1L5D1-bureau_5" @if($obj['template']=='NMCOL-Ew1L5D1-bureau_5') selected="selected" @endif> For Bureaus use Ew1L5D1 bureau for Non-Medical Collection</option>
|
||||
|
||||
@elseif($obj['letter_type']=='6')
|
||||
<option value="MCOL-Ew1L7D1-bureau_7" @if($obj['template']=='MCOL-Ew1L7D1-bureau_7') selected="selected" @endif> For Bureaus use Ew1L7D1 bureau for Medical Collections</option>
|
||||
|
||||
@elseif($obj['letter_type']=='7')
|
||||
<option value="COFF-Ew1L4D1-bureau_4" @if($obj['template']=='COFF-Ew1L4D1-bureau_4') selected="selected" @endif> For Bureaus use Ew1L4D1 bureau for CHARGE OFFS</option>
|
||||
|
||||
@elseif($obj['letter_type']=='8')
|
||||
<option value="REPO-Ew1L4D1-bureau_4" @if($obj['template']=='REPO-Ew1L4D1-bureau_4') selected="selected" @endif> For Bureaus use Ew1L14D1 bureau for REPOSSESSIONS</option>
|
||||
|
||||
@elseif($obj['letter_type']=='9')
|
||||
<option value="PR-Ew1L15D1-bureau_15" @if($obj['template']=='PR-Ew1L15D1-bureau_15') selected="selected" @endif> For Bureaus use Ew1L15D1 bureau for PUBLIC RECORDS</option>
|
||||
<option value="PR-Ew1L1D1-df-creditor_1" @if($obj['template']=='PR-Ew1L1D1-df-creditor_1') selected="selected" @endif> For Data Furnisher Creditor or Collector use Ew1L1D1 bureaus General Item Attack for Bureau on Questionable Items</option>
|
||||
|
||||
@elseif($obj['letter_type']=='10')
|
||||
<option value="AUDIT-Ew1L1D1-audit_40" @if($obj['template']=='AUDIT-Ew1L1D1-audit_40') selected="selected" @endif> AUDIT ANALYSIS DOCUMENT</option>
|
||||
<option value="GEN-Ew1L1D1-bureau_1" @if($obj['template']=='GEN-Ew1L1D1-bureau_1') selected="selected" @endif> For Bureaus use Ew1L1D1 bureaus General Item Attack for Bureau on Questionable Items</option>
|
||||
@endif
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group" style="clear: both;" id="template-df-{{$key}}" >
|
||||
<label>TEMPLATE LETTER FOR DATA FURNISHER/CREDITOR</label>
|
||||
<select name="info_item[template_df][]" id="lt_template_df-{{$key}}" class="form-control" >
|
||||
<option value="">Please select template</option>
|
||||
@if($obj['letter_type']=='1')
|
||||
<option value="PI-Ew1L1D1-df-creditor_1" @if($obj['template_df']=='PI-Ew1L1D1-df-creditor_1') selected="selected" @endif > For Data Furnisher Creditor or Collector use Ew1L1D1 bureaus General Item Attack for Bureau on Questionable Items</option>
|
||||
@elseif($obj['letter_type']=='2')
|
||||
<option value="INQ-Ew1L2D1-bureau_2" @if($obj['template_df']=='INQ-Ew1L2D1-bureau_2') selected="selected" @endif> For Data Furnisher or Creditor use Ew1L2D1 bureaus Inquiry(ies)</option>
|
||||
@elseif($obj['letter_type']=='3')
|
||||
<optgroup label="If ONLY 1 or 2 Lates reported in last 4 years">
|
||||
<option value="NLP12-Ew1L1D1-df-creditor_1" @if($obj['template_df']=='NLP12-Ew1L1D1-df-creditor_1') selected="selected" @endif> For Data Furnisher Creditor or Collector use Ew1L1D1 bureaus General Item Attack for Bureau on Questionable Items</option>
|
||||
</optgroup>
|
||||
<optgroup label="If 3+ Lates reported in last 4 years">
|
||||
|
||||
<option value="NLP3-Ew1LPRx1D1-df-creditor_17" @if($obj['template_df']=='NLP3-Ew1LPRx1D1-df-creditor_17') selected="selected" @endif title="For Data Furnisher Creditor or Collector use Ew1LPRx1D1 BureausORcredittors also for accounts with AT LEAST THREE(3+) Late Payments in last 4 years(48 months) with GOAL of REMOVAL FROM REPORTING (but would be HAPPY with PAANL or PAANLPR status)"> For Data Furnisher Creditor or Collector use Ew1LPRx1D1 BureausORcredittors also for accounts with AT LEAST THREE(3+) Late Payments in last 4 years(48 months) with GOAL of REMOVAL FROM REPORTING (but would be HAPPY with PAANL or PAANLPR status)</option>
|
||||
</optgroup>
|
||||
@elseif($obj['letter_type']=='4')
|
||||
<optgroup label="If a Student Loan with ONLY 1 or 2 Late Payments (that you WANT TO TRY FOR PAANL STATUS) reported in last 4 years">
|
||||
<option value="SL12-Ew1L10D1-df-creditor_10" @if($obj['template_df']=='SL12-Ew1L10D1-df-creditor_10') selected="selected" @endif > For Data Furnisher Creditor or Collector use Ew1L10D1 Data Furnisher creditor for PAANL STUDENT LOANS</option>
|
||||
</optgroup>
|
||||
<optgroup label="If a Student Loan with 3+ Late Payments (That you WANT to attempt REMOVAL of REPORTING) reported in last 4 years">
|
||||
<option value="SL3-Ew1L12D1-df-creditors_12" @if($obj['template_df']=='SL3-Ew1L12D1-df-creditors_12') selected="selected" @endif> For Data Furnisher Creditor or Collector use Ew1L12D1 Data Furnisher creditor for STUDENT LOAN DELETION</option>
|
||||
</optgroup>
|
||||
@elseif($obj['letter_type']=='5')
|
||||
<option value="NMCOL-Ew1L6D1-df-creditor_6" @if($obj['template_df']=='NMCOL-Ew1L6D1-df-creditor_6') selected="selected" @endif> or Data Furnisher Creditor or Collector use Ew1L6D1 Data Furnisher creditor for non-MEDICAL Collections</option>
|
||||
@elseif($obj['letter_type']=='6')
|
||||
|
||||
<option value="MCOL-Ew1L8D1-df-creditor_8" @if($obj['template_df']=='MCOL-Ew1L8D1-df-creditor_8') selected="selected" @endif> For Data Furnisher Creditor or Collector use Ew1L8D1 Data Furnisher creditor for MEDICAL Collections</option>
|
||||
@elseif($obj['letter_type']=='7')
|
||||
|
||||
<option value="COFF-Ew1L3D1-df-creditor_3" @if($obj['template_df']=='COFF-Ew1L3D1-df-creditor_3') selected="selected" @endif> For Data Furnisher Creditor or Collector use Ew1L3D1 Data Furnisher creditor for CHARGE OFF</option>
|
||||
@elseif($obj['letter_type']=='8')
|
||||
|
||||
<option value="REPO-Ew1L3D1-df-creditor_3" @if($obj['template_df']=='REPO-Ew1L3D1-df-creditor_3') selected="selected" @endif> For Data Furnisher Creditor or Collector use Ew1L13D1 Data Furnisher creditor for REPOSSESSION</option>
|
||||
@elseif($obj['letter_type']=='9')
|
||||
|
||||
<option value="PR-Ew1L1D1-df-creditor_1" @if($obj['template_df']=='PR-Ew1L1D1-df-creditor_1') selected="selected" @endif> For Data Furnisher Creditor or Collector use Ew1L1D1 bureaus General Item Attack for Bureau on Questionable Items</option>
|
||||
<option value="PR-Ew1L16D1-df-creditor_16" @if($obj['template_df']=='PR-Ew1L16D1-df-creditor_16') selected="selected" @endif> For Data Furnisher Creditor or Collector use Ew1L16D1 Data Furnisher creditor collectors courts for PUBLIC RECORDS</option>
|
||||
@elseif($obj['letter_type']=='10')
|
||||
<option value="GEN-Ew1L1D1-df-creditor_1" @if($obj['template_df']=='GEN-Ew1L1D1-df-creditor_1') selected="selected" @endif> For Data Furnisher Creditor or Collector use Ew1L1D1 bureaus General Item Attack for Bureau on Questionable Items</option>
|
||||
@endif
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<div class="goto_report_div" ><label>Go to Report →</label>
|
||||
<a href="#view-html"><span class="glyphicon glyphicon-info-sign icon-goto-report" title="Personal Information"></span></a>
|
||||
<a href="#Summary"><span class="glyphicon glyphicon glyphicon-open-file icon-goto-report" title="Summary Information"></span></a>
|
||||
<a href="#AccountHistory"><span class="glyphicon glyphicon glyphicon-list-alt icon-goto-report" title="AccountHistory Information"></span></a>
|
||||
<a href="#Inquiries"><span class="glyphicon glyphicon glyphicon-question-sign icon-goto-report" title="Inquiries Information"></span></a>
|
||||
<a href="#PublicInformation"><span class="glyphicon glyphicon-globe icon-goto-report" title="Public Information"></span></a>
|
||||
<a href="#CreditorContacts"><span class="glyphicon glyphicon-user icon-goto-report" title="Creditor Contacts Information"></span></a>
|
||||
<a href="#main-content-{{$key}}" style="float:right;" ><span class="glyphicon glyphicon-circle-arrow-up icon-goto-report" title="Go To Previous Content Box"></span></a>
|
||||
<a href="#lg-form" title="Go To Top of Page" style="float: right;"><label style="font-weight: bold;font-size: 16px"> TOP ↑</label></a>
|
||||
<a href="#div-img-bottom" title="Go To Generate Button" style="float: right;"><label style="font-weight: bold;font-size: 16px"> GENERATE ↓</label></a>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<textarea class="form-control " id="summernote-{{$key}}" name="info_item[content][]" rows="13" placeholder="" required>{!! $obj['content'] !!}</textarea>
|
||||
<span class="glyphicon glyphicon-menu-hamburger btn-add-line-break" title="Add Line Break" onclick="addLineBreak(0)"></span>
|
||||
<span class="glyphicon glyphicon-plus btn-add-content" title="Add Cleared Content" onclick="undoClearContent({{$key}})"></span>
|
||||
<span class="glyphicon glyphicon-remove btn-remove-content" title="Clear Content Box" id="btn-remove-content" onclick="clearContent({{$key}})"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3 pull-right div-item-dest">
|
||||
<div class="tbg" ><label>CONTENT DESTINATION(s) </label>
|
||||
<span class="glyphicon glyphicon-chevron-down pull-right gly-dest" id="toggle-dest-{{$key}}" onclick="toggleDest({{$key}})" title="Show" data-toggle="collapse" href="#dest-side-{{$key}}"></span>
|
||||
</div>
|
||||
<div id="dest-side-{{$key}}" class="collapse">
|
||||
<label class="lbl-dest check-btn" style="font-size:14px">
|
||||
<input type="checkbox" name="all" value="Select All Destinations" id="check-all-{{$key}}" onchange="checkall({{$key}})" /> <strong>Select All Destinations</strong><span class="cr"></span></label>
|
||||
<hr style="2px 0 5px">
|
||||
<label class="lbl-dest check-btn">
|
||||
<input type="checkbox" name="info_item[dest][{{$key}}][]" value="" class="check-df" onchange="showDf(event,0)" /> Data Furnisher<span class="cr"></span></label>
|
||||
<select name="info_item[dest][{{$key}}][]" class="form-control select-df" id="select-df-0" style="display: none;">
|
||||
</select>
|
||||
<input type="hidden" name="df-value" value="{{$obj['dest_df']}}">
|
||||
<label class="lbl-dest check-btn">
|
||||
<input type="checkbox" name="info_item[dest][{{$key}}][]" value="EXPERIAN PO BOX 9701, ALLEN, TX 75013" class="check-exp1" @if(in_array( 'EXPERIAN PO BOX 9701, ALLEN, TX 75013',$obj[ 'dest'] )) checked="checked" @endif /> EXPERIAN PO BOX 9701, ALLEN, TX 75013<span class="cr"></span></label>
|
||||
<label class="lbl-dest check-btn">
|
||||
<input type="checkbox" name="info_item[dest][{{$key}}][]" value="EXPERIAN PO BOX 4500, ALLEN, TX 75013" class="check-exp2" @if(in_array( 'EXPERIAN PO BOX 4500, ALLEN, TX 75013',$obj[ 'dest'] )) checked="checked" @endif /> EXPERIAN PO BOX 4500, ALLEN, TX 75013<span class="cr"></span></label>
|
||||
<label class="lbl-dest check-btn">
|
||||
<input type="checkbox" name="info_item[dest][{{$key}}][]" value="EQUIFAX PO Box740256, ATLANTA,GA 30374-0256" class="check-equ1" @if(in_array( 'EQUIFAX PO Box740256, ATLANTA,GA 30374-0256',$obj[ 'dest'] )) checked="checked" @endif /> EQUIFAX PO Box740256, ATLANTA,GA 30374-0256<span class="cr"></span></label>
|
||||
<label class="lbl-dest check-btn">
|
||||
<input type="checkbox" name="info_item[dest][{{$key}}][]" value="EQUIFAX PO Box740241, ATLANTA,GA 30374-0241" class="check-equ2" @if(in_array( 'EQUIFAX PO Box740241, ATLANTA,GA 30374-0241',$obj[ 'dest'] )) checked="checked" @endif /> EQUIFAX PO Box740241, ATLANTA,GA 30374-0241<span class="cr"></span></label>
|
||||
<label class="lbl-dest check-btn">
|
||||
<input type="checkbox" name="info_item[dest][{{$key}}][]" value="Trans Union PO Box 2000, CHESTER, PA 19016-2000" class="check-tra1" @if(in_array( 'Trans Union PO Box 2000, CHESTER, PA 19016-2000',$obj[ 'dest'] )) checked="checked" @endif /> Trans Union PO Box 2000, CHESTER, PA 19016-2000<span class="cr"></span></label>
|
||||
<label class="lbl-dest check-btn">
|
||||
<input type="checkbox" name="info_item[dest][{{$key}}][]" value="Trans Union PO Box 1000, CHESTER, PA 19022-1000" class="check-tra2" @if(in_array( 'Trans Union PO Box 1000, CHESTER, PA 19022-1000',$obj[ 'dest'] )) checked="checked" @endif /> Trans Union PO Box 1000, CHESTER, PA 19022-1000<span class="cr"></span></label>
|
||||
<label class="lbl-dest check-btn">
|
||||
<input type="checkbox" name="info_item[dest][{{$key}}][]" value="Trans Union PO Box 2000, CHESTER, PA 19022-2000" class="check-tra3" @if(in_array( 'Trans Union PO Box 2000, CHESTER, PA 19022-2000',$obj[ 'dest'] )) checked="checked" @endif /> Trans Union PO Box 2000, CHESTER, PA 19022-2000<span class="cr"></span></label>
|
||||
<label class="lbl-dest check-btn">
|
||||
<input type="checkbox" name="info_item[dest][{{$key}}][]" value="INNOVIS PO Box 1640, Pittsburgh, PA 15230-1640" class="check-ino1" @if(in_array( 'INNOVIS PO Box 1640, Pittsburgh, PA 15230-1640',$obj[ 'dest'] )) checked="checked" @endif /> INNOVIS PO Box 1640, Pittsburgh, PA 15230-1640<span class="cr"></span></label>
|
||||
<label class="lbl-dest check-btn">
|
||||
<input type="checkbox" name="info_item[dest][{{$key}}][]" value="Innovis Consumer Assistance PO Box 530088, Atlanta, GA 30353-0088" class="check-ino2" @if(in_array( 'Innovis Consumer Assistance PO Box 530088, Atlanta, GA 30353-0088',$obj[ 'dest'] )) checked="checked" @endif /> Innovis Consumer Assistance PO Box 530088, Atlanta, GA 30353-0088<span class="cr"></span></label>
|
||||
<label class="lbl-dest check-btn">
|
||||
<input type="checkbox" name="info_item[dest][{{$key}}][]" value="LexisNexis PO Box 105108, Atlanta, GA 30348" class="check-lex1" @if(in_array( 'LexisNexis PO Box 105108, Atlanta, GA 30348',$obj[ 'dest'] )) checked="checked" @endif/> LexisNexis PO Box 105108, Atlanta, GA 30348<span class="cr"></span></label>
|
||||
<label class="lbl-dest check-btn">
|
||||
<input type="checkbox" name="info_item[dest][{{$key}}][]" value="SageStream, LLC, LexisNexis Risk Solutions Consumer Center P. O. Box 105108. Atlanta, Georgia 30348-5108" class="check-sag1" @if(in_array( 'SageStream, LLC, LexisNexis Risk Solutions Consumer Center P. O. Box 105108. Atlanta, Georgia 30348-5108',$obj[ 'dest'] )) checked="checked" @endif /> SageStream, LLC, LexisNexis Risk Solutions Consumer Center P. O. Box 105108. Atlanta, Georgia 30348-5108<span class="cr"></span></label>
|
||||
<label class="lbl-dest check-btn">
|
||||
<input type="checkbox" name="info_item[dest][{{$key}}][]" value="Chex Systems ATTN: Consumer Relations, 7805 Hudson Rd., Ste. 100, Woodbury, MN 55125" class="check-chex1" @if(in_array( 'Chex Systems ATTN: Consumer Relations, 7805 Hudson Rd., Ste. 100, Woodbury, MN 55125',$obj[ 'dest'] )) checked="checked" @endif /> Chex Systems ATTN: Consumer Relations, 7805 Hudson Rd., Ste. 100, Woodbury, MN 55125<span class="cr"></span></label>
|
||||
<label class="lbl-dest check-btn">
|
||||
<input type="checkbox" name="info_item[dest][{{$key}}][]" value="(US RESIDENTS) MIB Inc 50 Braintree Hill Park, Suite 400, Braintree, MA 02184-8734" class="check-mib1" @if(in_array( '(US RESIDENTS) MIB Inc 50 Braintree Hill Park, Suite 400, Braintree, MA 02184-8734',$obj[ 'dest'] )) checked="checked" @endif /> (US RESIDENTS) MIB Inc 50 Braintree Hill Park, Suite 400, Braintree, MA 02184-8734<span class="cr"></span></label>
|
||||
<label class="lbl-dest check-btn">
|
||||
<input type="checkbox" name="info_item[dest][{{$key}}][]" value="(CANADIAN RESIDENTS) MIB Inc 330 university Avenue, Suite 501, Toronto, Canada M5G 1R7" class="check-mib2" @if(in_array( '(CANADIAN RESIDENTS) MIB Inc 330 university Avenue, Suite 501, Toronto, Canada M5G 1R7',$obj[ 'dest'] )) checked="checked" @endif /> (CANADIAN RESIDENTS) MIB Inc 330 university Avenue, Suite 501, Toronto, Canada M5G 1R7<span class="cr"></span></label>
|
||||
<label class="lbl-dest check-btn">
|
||||
<input type="checkbox" name="info_item[dest][{{$key}}][]" value="FactorTrust PO Box 3653,Alpharhetta, GA 30023" class="check-fact1" @if(in_array( 'FactorTrust PO Box 3653,Alpharhetta, GA 30023',$obj[ 'dest'] )) checked="checked" @endif /> FactorTrust PO Box 3653,Alpharhetta, GA 30023<span class="cr"></span></label>
|
||||
<label class="lbl-dest check-btn">
|
||||
<input type="checkbox" name="info_item[dest][{{$key}}][]" value="" class="check-aa" /> Audit Analysis<span class="cr"></span></label>
|
||||
|
||||
<input type="text" name="info_item[dest][{{$key}}][]" class="form-control" placeholder="OTHER" style="width: 96%" id="other-text-0">
|
||||
<span class="glyphicon glyphicon-plus btn-add-other" title="Add Other"></span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="col-md-12 text-center" style="clear: both;">
|
||||
<button class="btn btn-success btn2" onclick="addContent()" type="button"><span class="glyphicon glyphicon-plus" title="add"></span>Add Another Content</button>
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
item_count = {{$key}};
|
||||
</script>
|
||||
<div class="btn-top-html" style="display: none;">
|
||||
<a href="#main-content-{{$key}}" id="btn-arrow-up-{{$key}}"><span class="fa-stack fa-lg" style="font-size:16px;font-weight: 500;" title="Go To Content Area {{$key+1}}"><i class="fa fa-circle fa-stack-2x"></i><i class="fa-stack-1x fa-inverse">{{$key+1}}</i></span></a>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
<div id="img-container">
|
||||
<div class="col-md-12 text-center" id="div-img-bottom" style="display: none;">
|
||||
<input type="hidden" name="identity_proof_file" value="" id="identity_proof_file1">
|
||||
<input type="hidden" name="ssn_proof_file" value="" id="ssn_proof_file1">
|
||||
<input type="hidden" name="address_proof_file" value="" id="address_proof_file1">
|
||||
<input type="hidden" name="other_file" value="" id="other_file1">
|
||||
<p>Current Images</p>
|
||||
<div class="col-md-1 col-md-offset-2 ">
|
||||
<label class="check-btn"><input type="checkbox" name="include_bureau_image" value="1" checked="checked"> Bureaus<span class="cr" title="Add Images to Bureau Letters"></span></label>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<p >PHOTO IDENTIFICATION :<label id="identity_proof_file" class="span-file">..........</label><br>SSN PROOF :<label id="ssn_proof_file" class="span-file">..........</label><br>ADDRESS PROOF :<label id="address_proof_file" class="span-file">..........</label><br>OTHER FILE :<label id="other_file" class="span-file">...........</label> </p>
|
||||
</div>
|
||||
<div class="col-md-3 text-left">
|
||||
<label class="check-btn"><input type="checkbox" name="include_creditor_image" value="1" > Creditors<span class="cr" title="Add Images to Creditors Letter"></span></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<label class="col-md-12" style="text-align:center;">Add Image Here for Proof: Example: SS, Proof ID, Current Bill ect. Must be PNG or JPEG</label>
|
||||
</div>
|
||||
|
||||
<div class="col-md-12 img-content" id="img-content-1">
|
||||
<div class="col-md-offset-3 col-md-6">
|
||||
|
||||
<input type="file" name="img_bottom[]" class="form-control no-bdr"></div>
|
||||
|
||||
<div class="col-md-1" style="margin-top: 5px;margin-right: 20px"><label id="label1"><a onclick="addImage()" id="add-image-btn" style="padding: 1px 6px;" class="btn btn-success"><i class="fa fa-plus"></i></a></label>
|
||||
<label id="label1"><a onclick="removeImage(1)" id="remove" style="padding: 1px 6px;" class="btn btn-danger"><i class="fa fa-minus"></i></a></label>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="row text-center" style="margin-top: 20px;">
|
||||
@if(Auth::user()->can('Generate-letters') && $not_expired)
|
||||
<input type="submit" name="save" value="Generate Document" id="generate-pdf" class="btn btn-success btn2">
|
||||
<div id="client-loader2" style="display: none;" >
|
||||
<img src="{{ asset('public/images/ajax-loader.gif') }}"> <span> Please wait Generating Letters</span>
|
||||
</div>
|
||||
@else
|
||||
<input type="button" name="save" value="Generate Document" id="generate-pdf" class="btn btn-success btn2" onclick="alert('Access to generate and or save your above-created documents is currently unavailable, please purchase a subscription to gain immediate access without losing your work.');">
|
||||
@endif
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="row" style="clear: both;">
|
||||
<div class="view-html" id="view-html">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="clear: both;" id="top-btn">
|
||||
<!-- <a href="#" onclick="topFunction()" ><span class="glyphicon glyphicon-circle-arrow-up arrow-up-content" title="Go To Top"></span></a><br> -->
|
||||
<div id="btn-up-0" style="text-align:right">
|
||||
<a href="#main-content-0" ><span class="glyphicon glyphicon-circle-arrow-up arrow-up-content" title="Go To Content Area 1"></span></a>
|
||||
<div id="btn-up-1" style="display: none;">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@section('scripts')
|
||||
<script src="{{ asset('public/js/select2.full.min.js') }}"></script>
|
||||
<script src="{{ asset('public/js/summernote/summernote.min.js') }}"></script>
|
||||
<script src="{{ asset('public/js/bootstrap-multiselect.js') }}"></script>
|
||||
|
||||
|
||||
<script src="{{ asset('public/js/datepicker.js') }}"></script>
|
||||
<script src="{{ asset('public/js/evlg-page.min.js?1.20') }}"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
|
||||
$('.main-content').each(function(i){
|
||||
if(i==0) return true;//skip for first iteration its already initialized.
|
||||
init_summernote(i);
|
||||
});
|
||||
getClientEdit();
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
@endsection
|
||||
@endsection
|
||||
|
||||
72
resources/views/lg/index-client.blade.php
Normal file
72
resources/views/lg/index-client.blade.php
Normal file
@@ -0,0 +1,72 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-12">
|
||||
<div class="panel panel-default">
|
||||
|
||||
<div class="panel-heading">
|
||||
<h1>Generated Letters</h1>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
@if (session('status'))
|
||||
<div class="alert alert-success">
|
||||
{{ session('status') }}
|
||||
</div>
|
||||
@endif
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="x_panel">
|
||||
<div class="pull-right">
|
||||
<a href='{{ url("/lg/new") }}' class="btn btn2"><span class="glyphicon glyphicon-plus"></span>Generate New Letter</a>
|
||||
</div>
|
||||
|
||||
<div class="x_content">
|
||||
<a href='{{ url("/lg") }}' class="btn btn2 pull-right">Back</a>
|
||||
|
||||
{{ $letters->links() }}
|
||||
<table id="datatable-responsive" class="table table-striped table-hover table-responsive dt-responsive nowrap" cellspacing="0" width="100%">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Client</th>
|
||||
<th>Created Date</th>
|
||||
<th>Letter Files</th>
|
||||
<th>Number of Files</th>
|
||||
<th>Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
@foreach ($letters as $key => $obj)
|
||||
<tr>
|
||||
<td>{{ $obj->client_name }}</td>
|
||||
<td>{{ date('F-d-Y', strtotime($obj->created_at)) }}</td>
|
||||
<td><a style ="font-weight:bold" href="{{ url('/download/'.$obj->zip_file) }}" title="download file" >{{ $obj->zip_file }}</a></td>
|
||||
<td>{{ $obj->num_of_files }}</td>
|
||||
|
||||
<td>
|
||||
<a href="{{ url('/download/'.$obj->zip_file) }}" class="btn btn-success" style="padding: 1px 6px;"><span class="glyphicon glyphicon-download" title="download"></span></a>
|
||||
<a href='{{ url("/lg/edit/$obj->id") }}' class="btn btn-success" style="padding: 1px 6px;"><span class="glyphicon glyphicon-pencil" title="edit"></span></a>
|
||||
<a href='{{ url("/lg/delete/$obj->id") }}' class="btn btn-danger" style="padding: 1px 6px;" onclick="return confirm('Are you sure you want to delete this letter?');"><span class="glyphicon glyphicon-remove" title="delete"></span></a>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
{{ $letters->links() }}
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
74
resources/views/lg/index.blade.php
Normal file
74
resources/views/lg/index.blade.php
Normal file
@@ -0,0 +1,74 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-12">
|
||||
<div class="panel panel-default">
|
||||
|
||||
<div class="panel-heading">
|
||||
<h1>Generated Letters</h1>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
@if (session('status'))
|
||||
<div class="alert alert-success">
|
||||
{{ session('status') }}
|
||||
</div>
|
||||
@endif
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="x_panel">
|
||||
<div class="pull-right">
|
||||
<a href='{{ url("/lg/new") }}' class="btn btn2"><span class="glyphicon glyphicon-plus"></span>Generate New Letter</a>
|
||||
</div>
|
||||
|
||||
<div class="x_content">
|
||||
@if(!empty($letters))
|
||||
{{ $letters->links() }}
|
||||
@endif
|
||||
<table id="datatable-responsive" class="table table-striped table-hover table-responsive dt-responsive nowrap" cellspacing="0" width="100%">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Client</th>
|
||||
<th>Created Date</th>
|
||||
<th>Letter Files</th>
|
||||
<th>Number of Files</th>
|
||||
<th>Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@if(!empty($letters))
|
||||
@foreach ($letters as $key => $obj)
|
||||
<tr>
|
||||
<td><a href='{{ url("/lg/client_report/$obj->client_id") }}' style="text-decoration: underline;">{{ $obj->client_name }}</a></td>
|
||||
<td>{{ date('F-d-Y', strtotime($obj->created_at)) }}</td>
|
||||
<td><a style ="font-weight:bold" href="{{ url('/download/'.$obj->zip_file) }}" title="download file" >{{ $obj->zip_file }}</a></td>
|
||||
<td>{{ $obj->num_of_files }}</td>
|
||||
|
||||
<td>
|
||||
<a href="{{ url('/download/'.$obj->zip_file) }}" class="btn btn-success" style="padding: 1px 6px;"><span class="glyphicon glyphicon-download" title="download"></span></a>
|
||||
<a href='{{ url("/lg/edit/$obj->id") }}' class="btn btn-success" style="padding: 1px 6px;"><span class="glyphicon glyphicon-pencil" title="edit"></span></a>
|
||||
<a href='{{ url("/lg/delete/$obj->id") }}' class="btn btn-danger" style="padding: 1px 6px;" onclick="return confirm('Are you sure you want to delete this letter?');"><span class="glyphicon glyphicon-remove" title="delete"></span></a>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endif
|
||||
</tbody>
|
||||
</table>
|
||||
@if(!empty($letters))
|
||||
{{ $letters->links() }}
|
||||
@endif
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
485
resources/views/lg/new.blade.php
Normal file
485
resources/views/lg/new.blade.php
Normal file
@@ -0,0 +1,485 @@
|
||||
|
||||
@extends('layouts.app')
|
||||
@section('styles')
|
||||
<link href="{{ asset('public/css/datepicker.css') }}" rel="stylesheet">
|
||||
<link href="{{ asset('public/css/evlg-page.css') }}" rel="stylesheet">
|
||||
<link href="{{ asset('public/js/summernote/summernote.css') }}" rel="stylesheet">
|
||||
<link href="{{ asset('public/css/bootstrap-multiselect.css') }}" rel="stylesheet">
|
||||
|
||||
@endsection
|
||||
@section('content')
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="panel panel-default panel-frm">
|
||||
<div class="panel-heading">
|
||||
<h1>Epic-Velocity Template Letter</h1>
|
||||
<p>The EV-TLG is the Credit Repair Champion’s and the Metro 2 Compliance Academy’s Official Template Letter Generator Attack Wave System Software! </p>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
@if (session('status'))
|
||||
<div class="alert alert-success">
|
||||
{{ session('status') }}
|
||||
</div>
|
||||
@endif
|
||||
<div class="clearfix"></div>
|
||||
<form method="POST" action="{{ url('/lg/generate-pdf') }}" accept-charset="UTF-8" enctype="multipart/form-data" id="lg-form">
|
||||
<div class="row">
|
||||
{{ csrf_field() }}
|
||||
<input type="hidden" name="action" value="new">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="x_panel">
|
||||
<div class="x_content">
|
||||
<div class="col-md-12 text-center">
|
||||
<span class="glyphicon glyphicon-play-circle video-icon" title="Need Help" onclick="alert('Vidoes coming soon!')"></span>
|
||||
<div class="col-md-4 col-md-offset-1 ">
|
||||
<div class="form-group">
|
||||
<label>Select Client</label>
|
||||
<!-- <input id="today" type="text" class="form-control" name="today" required autofocus > -->
|
||||
<select name="client_id" onchange="getClientLetters()" class="form-control" id="client_id">
|
||||
<option value="">Please select</option>
|
||||
@if(!empty($users))
|
||||
@foreach ($users as $key => $obj)
|
||||
<option value="{{$obj->id}}">{{$obj->firstname}}</option>
|
||||
@endforeach
|
||||
@endif
|
||||
</select>
|
||||
<input type="hidden" name="client_name" id="client_name" value="">
|
||||
<input type="hidden" name="date_time" id="date_time" value="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 ">
|
||||
<div class="form-group">
|
||||
<label>Wave/Round/Attack Number</label>
|
||||
<!-- <input id="today" type="text" class="form-control" name="today" required autofocus > -->
|
||||
<select name="choose_wave" class="form-control" id="choose_wave">
|
||||
<option value="1">Wave 1</option>
|
||||
<option value="2">Wave 2</option>
|
||||
<option value="3">Wave 3</option>
|
||||
<option value="4">Wave 4</option>
|
||||
<option value="5">Wave 5</option>
|
||||
<option value="6">Wave 6</option>
|
||||
|
||||
</select>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 ">
|
||||
<div class="form-group">
|
||||
<label>Choose Work</label>
|
||||
<!-- <input id="today" type="text" class="form-control" name="today" required autofocus > -->
|
||||
<select name="choose_work" onchange="getClient('{{ url("/lg/edit/") }}')" class="form-control" id="choose_work"></select>
|
||||
<div id="client-loader" style="display: none;" >
|
||||
<img src="{{ asset('public/images/ajax-loader.gif') }}"> <span> Analysing Report and Generating Content</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="col-md-6 ">
|
||||
<div class="form-group">
|
||||
<label>Today’s Date is</label>
|
||||
<input id="today" type="text" class="form-control" name="today" required autofocus >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 ">
|
||||
<div class="form-group">
|
||||
<label>Credit Report Data Resource or Monitoring</label>
|
||||
<input id="cr_resource" type="text" class="form-control" name="cr_resource" >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 ">
|
||||
<div class="form-group">
|
||||
<label><span class="req-span">*</span>Name (at least First and Last Name)</label>
|
||||
<input id="name" type="text" class="form-control" name="name" required >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 ">
|
||||
<div class="form-group">
|
||||
<label><span class="req-span">*</span>Address (at least Street Number, Street Name, City, State spelled out)</label>
|
||||
<input id="address" type="text" class="form-control" name="address" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 ">
|
||||
<div class="form-group">
|
||||
<label>Date of Birth</label>
|
||||
<input id="dob" type="text" class="form-control datepicker" name="dob" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 ">
|
||||
<div class="form-group">
|
||||
<label>Social Security Number (last four ONLY displayed on ANY DOCUMENT)</label>
|
||||
<input id="ssn" type="text" class="form-control" name="ssn" maxlength="12" placeholder="" required >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 ">
|
||||
<div class="form-group">
|
||||
<label>Personal Tracking Number</label>
|
||||
<input id="p_tracking_number" type="text" class="form-control" name="p_tracking_number" value="{{$p_tracking_number}}">
|
||||
<span class="glyphicon glyphicon-refresh" title="Regenrate" id="btn-regenerate" onclick="gen_rand()"></span>
|
||||
</div>
|
||||
<div class="form-group" id="univ-dest-div">
|
||||
<label>Universal Template Destinatioin(s)</label><br>
|
||||
<select id="univ-dest" multiple="multiple" class="form-control" name="destination[]">
|
||||
<optgroup label="EXPERIAN DESTINATIONS">
|
||||
<option value="EXPERIAN PO BOX 9701, ALLEN, TX 75013" >EXPERIAN PO BOX 9701, ALLEN, TX 75013</option>
|
||||
<option value="EXPERIAN PO BOX 4500, ALLEN, TX 75013" >EXPERIAN PO BOX 4500, ALLEN, TX 75013</option>
|
||||
</optgroup>
|
||||
<optgroup label="EQUIFAX DESTINATIONS">
|
||||
<option value="EQUIFAX PO Box740256, ATLANTA,GA 30374-0256">EQUIFAX PO Box740256, ATLANTA,GA 30374-0256</option>
|
||||
<option value="EQUIFAX PO Box740241, ATLANTA,GA 30374-0241">EQUIFAX PO Box740241, ATLANTA,GA 30374-0241</option>
|
||||
|
||||
</optgroup>
|
||||
<optgroup label="TRANS UNION DESTINATIONS">
|
||||
<option value="Trans Union PO Box 2000, CHESTER, PA 19016-2000">Trans Union PO Box 2000, CHESTER, PA 19016-2000</option>
|
||||
<option value="Trans Union PO Box 1000, CHESTER, PA 19022-1000">Trans Union PO Box 1000, CHESTER, PA 19022-1000</option>
|
||||
<option value="Trans Union PO Box 2000, CHESTER, PA 19022-2000">Trans Union PO Box 2000, CHESTER, PA 19022-2000</option>
|
||||
</optgroup>
|
||||
<optgroup label="INNOVIS DESTINATIONS">
|
||||
<option value="INNOVIS PO Box 1640, Pittsburgh, PA 15230-1640">INNOVIS PO Box 1640, Pittsburgh, PA 15230-1640</option>
|
||||
<option value="Innovis Consumer Assistance PO Box 530088, Atlanta, GA 30353-0088">Innovis Consumer Assistance PO Box 530088, Atlanta, GA 30353-0088</option>
|
||||
|
||||
</optgroup>
|
||||
<optgroup label="LEXISNEXIS DESTINATIONS">
|
||||
<option value="LexisNexis PO Box 105108, Atlanta, GA 30348">LexisNexis PO Box 105108, Atlanta, GA 30348</option>
|
||||
|
||||
</optgroup>
|
||||
<optgroup label="SAGESTREAM LLC DESTINATIONS">
|
||||
<option value="SageStream, LLC, LexisNexis Risk Solutions Consumer Center P. O. Box 105108. Atlanta, Georgia 30348-5108">SageStream, LLC, LexisNexis Risk Solutions Consumer Center P. O. Box 105108. Atlanta, Georgia 30348-5108</option>
|
||||
|
||||
</optgroup>
|
||||
<optgroup label="CHEX SYSTEMS DESTINATIONS">
|
||||
<option value="Chex Systems ATTN: Consumer Relations, 7805 Hudson Rd., Ste. 100, Woodbury, MN 55125">Chex Systems ATTN: Consumer Relations, 7805 Hudson Rd., Ste. 100, Woodbury, MN 55125</option>
|
||||
|
||||
</optgroup>
|
||||
<optgroup label="MIB INC DESTINATIONS">
|
||||
<option value="(US RESIDENTS) MIB Inc 50 Braintree Hill Park, Suite 400, Braintree, MA 02184-8734">(US RESIDENTS) MIB Inc 50 Braintree Hill Park, Suite 400, Braintree, MA 02184-8734</option>
|
||||
<option value="(CANADIAN RESIDENTS) MIB Inc 330 university Avenue, Suite 501, Toronto, Canada M5G 1R7">(CANADIAN RESIDENTS) MIB Inc 330 university Avenue, Suite 501, Toronto, Canada M5G 1R7</option>
|
||||
|
||||
</optgroup>
|
||||
<optgroup label="FACTOR TRUST DESTINATIONS">
|
||||
<option value="FactorTrust PO Box 3653,Alpharhetta, GA 30023">FactorTrust PO Box 3653,Alpharhetta, GA 30023</option>
|
||||
</optgroup>
|
||||
<optgroup label="DATA FURNISHERS">
|
||||
<option value="" >DATA FURNISHERS</option>
|
||||
</optgroup>
|
||||
<optgroup label="OTHER">
|
||||
<option value="1" >Other</option>
|
||||
</optgroup>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class=" form-group " id="univ-df" style="display: none;">
|
||||
<div class="form-group">
|
||||
<label>Data Furnishers</label>
|
||||
<select name="destination[]" class="form-control select-df" id="select-df" >
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class=" form-group univ-other" id="univ-other" style="display: none;">
|
||||
<div>
|
||||
<input type="text" name="destination[]" class="form-control" placeholder="OTHER" style="width: 93%">
|
||||
<span class="glyphicon glyphicon-plus btn-univ-add-other" title="Add Other"></span>
|
||||
<span class="glyphicon glyphicon-minus btn-univ-remove-other" title="Remove Other"></span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 ">
|
||||
<div class="col-md-4 ">
|
||||
<div class="form-group">
|
||||
<label class="check-btn" style="color:red;"><input type="checkbox" name="exclude_all" value="1" id="exclude-all" onchange="excludeall()"> <strong>Exclude All Content Boxes</strong><span class="cr"></span></label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 ">
|
||||
<div class="col-md-4 ">
|
||||
<div class="form-group">
|
||||
<label >Number of Inquiries/letter </label>
|
||||
<input type="number" name="num_of_inquiry" min="1" max="25" value="5">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 ">
|
||||
<div class="form-group">
|
||||
<label >Number of Account/letter </label>
|
||||
<input type="number" name="num_of_account" min="1" max="25" value="4">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row text-center">
|
||||
@if(1)
|
||||
<input type="submit" name="save" value="Generate Document" id="generate-pdf" class="btn btn-success btn2" readonly="readonly">
|
||||
<div id="client-loader2" style="display: none;" >
|
||||
<img src="{{ asset('public/images/ajax-loader.gif') }}"> <span> Please wait Generating Letters</span>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
var item_count = 0;
|
||||
var image_count = 1;
|
||||
</script>
|
||||
|
||||
<div class="col-md-12 col-sm-12 col-xs-12 " >
|
||||
<div class="x_panel">
|
||||
<div class="x_content">
|
||||
<div id="content-area">
|
||||
<div class="col-md-12 main-content" id="main-content-0">
|
||||
<fieldset class="add-nother" >
|
||||
|
||||
<legend class="add-nother">
|
||||
Content Box Work Area <span class="glyphicon glyphicon-play-circle video-icon" title="Need Help" onclick="alert('Vidoes coming soon!')"></span><br>
|
||||
<span class="fa-stack fa-lg" style="font-size:16px;font-weight: 500;">
|
||||
<i class="fa fa-circle fa-stack-2x"></i>
|
||||
<i class="fa-stack-1x fa-inverse">1</i>
|
||||
</span>
|
||||
|
||||
</legend>
|
||||
<span class="pull-right" title="Exclude content box from letter" style="margin-top:10px;" >
|
||||
<label class="lbl-dest check-btn" style="color:red"><input type="checkbox" name="info_item[exclude][0][]" value="1" class="check-exclude" /> Exclude<span class="cr"></span></label>
|
||||
</span>
|
||||
|
||||
<div class="col-md-9">
|
||||
<div class="row">
|
||||
<div class="col-md-4" style="overflow: hidden;">
|
||||
<div class="form-group file-txt">
|
||||
<label>ADD IMAGE </label>
|
||||
<input type="file" name="info_item[file][]" class="" id="content_file_0">
|
||||
</div>
|
||||
<div class="col-md-1" style="margin-top: 5px;padding-left: 0px;">
|
||||
<label ><a onclick="removeContentImage(0)" style="padding: 1px 6px;" class="btn btn-danger" title="Clear attached file"><i class="fa fa-minus"></i></a></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<div class="form-group" style="clear: both;" >
|
||||
<label>DEROGATORY Decisions</label>
|
||||
<select name="info_item[wave][]" id="wave-0" class="form-control" onchange="showDtype(this,0)" required="">
|
||||
<option value="">Please select template</option>
|
||||
@if(Auth::user()->can('Wave1'))
|
||||
<option value="w1" >I want to use a Wave 1 attack for this content box's items ( Day 1-19)</option>
|
||||
@else
|
||||
<option value="w1" disabled="disabled">I want to use a Wave 1 attack for this content box's items ( Day 1-19)</option>
|
||||
@endif
|
||||
@if(Auth::user()->can('Wave2'))
|
||||
<option value="w2" >I want to use a Wave 2 attack for this content box's items (Day 20-39)</option>
|
||||
@else
|
||||
<option value="w2" disabled="disabled" >I want to use a Wave 2 attack for this content box's items (Day 20-39)</option>
|
||||
@endif
|
||||
@if(Auth::user()->can('Wave3'))
|
||||
<option value="w3" >I want to use a Wave 3 attack for this content box's items (Day 40-59)</option>
|
||||
@else
|
||||
<option value="w3" disabled="disabled">I want to use a Wave 3 attack for this content box's items (Day 40-59)</option>
|
||||
@endif
|
||||
@if(Auth::user()->can('Wave4'))
|
||||
<option value="w4" >I want to use a Wave 4 attack for this content box's items (Day 60-79)</option>
|
||||
@else
|
||||
<option value="w4" disabled="disabled">I want to use a Wave 4 attack for this content box's items (Day 60-79)</option>
|
||||
@endif
|
||||
@if(Auth::user()->can('Wave5'))
|
||||
<option value="w5" >I want to use a Wave 5 attack for this content box's items (Day 80-99)</option>
|
||||
@else
|
||||
<option value="w5" disabled="disabled">I want to use a Wave 5 attack for this content box's items (Day 80-99)</option>
|
||||
@endif
|
||||
@if(Auth::user()->can('Wave6'))
|
||||
<option value="w6" >I want to use a Wave 6+ attack for this content box's items (Day 100-119)</option>
|
||||
@else
|
||||
<option value="w6" disabled="disabled">I want to use a Wave 6+ attack for this content box's items (Day 100-119)</option>
|
||||
@endif
|
||||
|
||||
<option value="w7" >I want to use a RANDOM WAVE # Attack for this content box's item (Day ??)</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group" style="clear: both;display: none;" id="div-dtype-0">
|
||||
<label>Type of Reported Issues</label>
|
||||
<select name="info_item[letter_type][]" id="dtype-0" class="form-control" onchange="showTemplate(this,0)" required="">
|
||||
<option value="">Please select template</option>
|
||||
<option value="1">Personal Identifier Information</option>
|
||||
<option value="2">INQUIRY(ies) information</option>
|
||||
<option value="3">LATE PAYMENT (not Student Loan) Information</option>
|
||||
<option value="4">STUDENT LOAN LATE PAYMENT Information</option>
|
||||
<option value="5">Regular Non-Medical Collection Information</option>
|
||||
<option value="6">Medical Collection Information</option>
|
||||
<option value="7">CHARGE OFF Information</option>
|
||||
<option value="8">REPOSSESSION Information</option>
|
||||
<option value="9">PUBLIC RECORDS Information</option>
|
||||
<option value="10">GENERAL DELINQUENT , DEROGATORY, or QUESTIONABLY REPORTED Information</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group" style="clear: both;display: none;" id="template-0">
|
||||
<label>TEMPLATE LETTER FOR BUREAU</label>
|
||||
<select name="info_item[template][]" id="lt_template-0" class="form-control " required="" >
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group" style="clear: both;display: none;" id="template-df-0">
|
||||
<label>TEMPLATE LETTER FOR DATA FURNISHER/CREDITOR</label>
|
||||
<select name="info_item[template_df][]" id="lt_template_df-0" class="form-control" >
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<div class="goto_report_div" ><label>Go to Report →</label>
|
||||
<a href="#view-html"><span class="glyphicon glyphicon-info-sign icon-goto-report" title="Personal Information"></span></a>
|
||||
<a href="#Summary"><span class="glyphicon glyphicon glyphicon-open-file icon-goto-report" title="Summary Information"></span></a>
|
||||
<a href="#AccountHistory"><span class="glyphicon glyphicon glyphicon-list-alt icon-goto-report" title="AccountHistory Information"></span></a>
|
||||
<a href="#Inquiries"><span class="glyphicon glyphicon glyphicon-question-sign icon-goto-report" title="Inquiries Information"></span></a>
|
||||
<a href="#PublicInformation"><span class="glyphicon glyphicon-globe icon-goto-report" title="Public Information"></span></a>
|
||||
<a href="#CreditorContacts"><span class="glyphicon glyphicon-user icon-goto-report" title="Creditor Contacts Information"></span></a>
|
||||
<a href="#main-content-0" style="float:right;" ><span class="glyphicon glyphicon-circle-arrow-up icon-goto-report" title="Go To Previous Content Box"></span></a>
|
||||
<a href="#lg-form" title="Go To Top of Page" style="float: right;"><label style="font-weight: bold;font-size: 16px"> TOP ↑</label></a>
|
||||
<a href="#div-img-bottom" title="Go To Generate Button" style="float: right;"><label style="font-weight: bold;font-size: 16px"> GENERATE ↓</label></a>
|
||||
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<textarea class="form-control " id="summernote-0" name="info_item[content][]" rows="13" placeholder="" required></textarea>
|
||||
<span class="glyphicon glyphicon-menu-hamburger btn-add-line-break" title="Add Line Break" onclick="addLineBreak(0)"></span>
|
||||
<span class="glyphicon glyphicon-plus btn-add-content" title="Add Cleared Content" onclick="undoClearContent(0)"></span>
|
||||
<span class="glyphicon glyphicon-remove btn-remove-content" title="Clear Content Box" id="btn-remove-content" onclick="clearContent(0)"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3 pull-right div-item-dest">
|
||||
<div class="tbg" ><label>CONTENT DESTINATION(s) </label>
|
||||
<span class="glyphicon glyphicon-chevron-down pull-right gly-dest" id="toggle-dest-0" onclick="toggleDest(0)" title="Show" data-toggle="collapse" href="#dest-side-0"></span>
|
||||
</div>
|
||||
<div id="dest-side-0" class="collapse" >
|
||||
<label class="lbl-dest check-btn" style="font-size:14px"><input type="checkbox" name="all" value="Select All Destinations" id="check-all-0" onchange="checkall(0)" /> <strong>Select All Destinations</strong><span class="cr"></span></label><hr style="2px 0 5px">
|
||||
<label class="lbl-dest check-btn"><input type="checkbox" name="info_item[dest][0][]" value="" class="check-df" onchange="showDf(event,0)" /> Data Furnisher<span class="cr"></span></label>
|
||||
<select name="info_item[dest][0][]" class="form-control select-df" id="select-df-0" style="display: none;" >
|
||||
</select>
|
||||
<input type="text" name="info_item[dest][0][]" class="form-control" placeholder="OTHER" style="width: 96%; display:none;" id="other-text-0">
|
||||
<label class="lbl-dest check-btn"><input type="checkbox" name="info_item[dest][0][]" value="EXPERIAN PO BOX 9701, ALLEN, TX 75013" class="check-exp1" /> EXPERIAN PO BOX 9701, ALLEN, TX 75013<span class="cr"></span></label>
|
||||
<label class="lbl-dest check-btn"><input type="checkbox" name="info_item[dest][0][]" value="EXPERIAN PO BOX 4500, ALLEN, TX 75013" class="check-exp2" /> EXPERIAN PO BOX 4500, ALLEN, TX 75013<span class="cr"></span></label>
|
||||
<label class="lbl-dest check-btn"><input type="checkbox" name="info_item[dest][0][]" value="EQUIFAX PO Box740256, ATLANTA,GA 30374-0256" class="check-equ1" /> EQUIFAX PO Box740256, ATLANTA,GA 30374-0256<span class="cr"></span></label>
|
||||
<label class="lbl-dest check-btn"><input type="checkbox" name="info_item[dest][0][]" value="EQUIFAX PO Box740241, ATLANTA,GA 30374-0241" class="check-equ2" /> EQUIFAX PO Box740241, ATLANTA,GA 30374-0241<span class="cr"></span></label>
|
||||
<label class="lbl-dest check-btn"><input type="checkbox" name="info_item[dest][0][]" value="Trans Union PO Box 2000, CHESTER, PA 19016-2000" class="check-tra1" /> Trans Union PO Box 2000, CHESTER, PA 19016-2000<span class="cr"></span></label>
|
||||
<label class="lbl-dest check-btn"><input type="checkbox" name="info_item[dest][0][]" value="Trans Union PO Box 1000, CHESTER, PA 19022-1000" class="check-tra2" /> Trans Union PO Box 1000, CHESTER, PA 19022-1000<span class="cr"></span></label>
|
||||
<label class="lbl-dest check-btn"><input type="checkbox" name="info_item[dest][0][]" value="Trans Union PO Box 2000, CHESTER, PA 19022-2000" class="check-tra3" /> Trans Union PO Box 2000, CHESTER, PA 19022-2000<span class="cr"></span></label>
|
||||
<label class="lbl-dest check-btn"><input type="checkbox" name="info_item[dest][0][]" value="INNOVIS PO Box 1640, Pittsburgh, PA 15230-1640" class="check-ino1" /> INNOVIS PO Box 1640, Pittsburgh, PA 15230-1640<span class="cr"></span></label>
|
||||
<label class="lbl-dest check-btn"><input type="checkbox" name="info_item[dest][0][]" value="Innovis Consumer Assistance PO Box 530088, Atlanta, GA 30353-0088" class="check-ino2" /> Innovis Consumer Assistance PO Box 530088, Atlanta, GA 30353-0088<span class="cr"></span></label>
|
||||
<label class="lbl-dest check-btn"><input type="checkbox" name="info_item[dest][0][]" value="LexisNexis PO Box 105108, Atlanta, GA 30348" class="check-lex1"/> LexisNexis PO Box 105108, Atlanta, GA 30348<span class="cr"></span></label>
|
||||
<label class="lbl-dest check-btn"><input type="checkbox" name="info_item[dest][0][]" value="SageStream, LLC, LexisNexis Risk Solutions Consumer Center P. O. Box 105108. Atlanta, Georgia 30348-5108" class="check-sag1" /> SageStream, LLC, LexisNexis Risk Solutions Consumer Center P. O. Box 105108. Atlanta, Georgia 30348-5108<span class="cr"></span></label>
|
||||
<label class="lbl-dest check-btn"><input type="checkbox" name="info_item[dest][0][]" value="Chex Systems ATTN: Consumer Relations, 7805 Hudson Rd., Ste. 100, Woodbury, MN 55125" class="check-chex1" /> Chex Systems ATTN: Consumer Relations, 7805 Hudson Rd., Ste. 100, Woodbury, MN 55125<span class="cr"></span></label>
|
||||
<label class="lbl-dest check-btn"><input type="checkbox" name="info_item[dest][0][]" value="(US RESIDENTS) MIB Inc 50 Braintree Hill Park, Suite 400, Braintree, MA 02184-8734" class="check-mib1" /> (US RESIDENTS) MIB Inc 50 Braintree Hill Park, Suite 400, Braintree, MA 02184-8734<span class="cr"></span></label>
|
||||
<label class="lbl-dest check-btn"><input type="checkbox" name="info_item[dest][0][]" value="(CANADIAN RESIDENTS) MIB Inc 330 university Avenue, Suite 501, Toronto, Canada M5G 1R7" class="check-mib2" /> (CANADIAN RESIDENTS) MIB Inc 330 university Avenue, Suite 501, Toronto, Canada M5G 1R7<span class="cr"></span></label>
|
||||
<label class="lbl-dest check-btn"><input type="checkbox" name="info_item[dest][0][]" value="FactorTrust PO Box 3653,Alpharhetta, GA 30023" class="check-fact1" /> FactorTrust PO Box 3653,Alpharhetta, GA 30023<span class="cr"></span></label>
|
||||
<label class="lbl-dest check-btn"><input type="checkbox" name="info_item[dest][0][]" value="" class="check-aa" /> Audit Analysis<span class="cr"></span></label>
|
||||
|
||||
<input type="text" name="info_item[dest][0][]" class="form-control" placeholder="OTHER" style="width: 96%" id="other-text-0">
|
||||
<span class="glyphicon glyphicon-plus btn-add-other" title="Add Other"></span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="col-md-12 text-center" style="clear: both;">
|
||||
<button class="btn btn-success btn2" onclick="addContent()" type="button"><span class="glyphicon glyphicon-plus" title="add"></span>Add Another Content</button>
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div id="img-container">
|
||||
<div class="col-md-12 text-center" id="div-img-bottom" style="display: none;">
|
||||
<input type="hidden" name="identity_proof_file" value="" id="identity_proof_file1">
|
||||
<input type="hidden" name="ssn_proof_file" value="" id="ssn_proof_file1">
|
||||
<input type="hidden" name="address_proof_file" value="" id="address_proof_file1">
|
||||
<input type="hidden" name="other_file" value="" id="other_file1">
|
||||
<p>Current Images</p>
|
||||
<div class="col-md-1 col-md-offset-2 ">
|
||||
<label class="check-btn"><input type="checkbox" name="include_bureau_image" value="1" checked="checked"> Bureaus<span class="cr" title="Add Images to Bureau Letters"></span></label>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<p >PHOTO IDENTIFICATION :<label id="identity_proof_file" class="span-file">..........</label><br>SSN PROOF :<label id="ssn_proof_file" class="span-file">..........</label><br>ADDRESS PROOF :<label id="address_proof_file" class="span-file">..........</label><br>OTHER FILE :<label id="other_file" class="span-file">...........</label> </p>
|
||||
</div>
|
||||
<div class="col-md-3 text-left">
|
||||
<label class="check-btn"><input type="checkbox" name="include_creditor_image" value="1" > Creditors<span class="cr" title="Add Images to Creditors Letter"></span></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<label class="col-md-12" style="text-align:center;">Add Image Here for Proof: Example: SS, Proof ID, Current Bill ect. Must be PNG or JPEG</label>
|
||||
</div>
|
||||
|
||||
<div class="col-md-12 img-content" id="img-content-1">
|
||||
<div class="col-md-offset-3 col-md-6">
|
||||
|
||||
<input type="file" name="img_bottom[]" class="form-control no-bdr"></div>
|
||||
|
||||
<div class="col-md-1" style="margin-top: 5px;margin-right: 20px"><label id="label1"><a onclick="addImage()" id="add-image-btn" style="padding: 1px 6px;" class="btn btn-success"><i class="fa fa-plus"></i></a></label>
|
||||
<label id="label1"><a onclick="removeImage(1)" id="remove" style="padding: 1px 6px;" class="btn btn-danger"><i class="fa fa-minus"></i></a></label>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="row text-center" style="margin-top: 20px;">
|
||||
<div class="col-md-8 col-md-offset-4">
|
||||
<div class="col-md-2 ">
|
||||
<div class="form-group">
|
||||
<label class="check-btn" title="Generate Audit Letters Only"><input type="checkbox" name="audit_only" value="1" > <strong>Audit Only</strong><span class="cr"></span></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2 ">
|
||||
<div class="form-group">
|
||||
<label class="check-btn" title="Generate Data Furnishers Letters Only"><input type="checkbox" name="df_only" value="1" > <strong>Data Furnisher's Only</strong><span class="cr"></span></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2 ">
|
||||
<div class="form-group">
|
||||
<label class="check-btn" title="Generate Creidt Bureaus Letters Only"><input type="checkbox" name="bureau_only" value="1" > <strong>Bureaus Only</strong><span class="cr"></span></label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if(Auth::user()->can('Generate-letters') && $not_expired)
|
||||
<input type="submit" name="save" value="Generate Document" id="generate-pdf" class="btn btn-success btn2" readonly="readonly">
|
||||
<div id="client-loader2" style="display: none;" >
|
||||
<img src="{{ asset('public/images/ajax-loader.gif') }}"> <span> Please wait Generating Letters</span>
|
||||
</div>
|
||||
@else
|
||||
<input type="button" name="save" value="Generate Document" id="generate-pdf" class="btn btn-success btn2" onclick="alert('Access to generate and or save your above-created documents is currently unavailable, please purchase a subscription to gain immediate access without losing your work.');">
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="row" style="clear: both;">
|
||||
<div class="view-html" id="view-html">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="clear: both;" id="top-btn">
|
||||
<!-- <a href="#" onclick="topFunction()" ><span class="glyphicon glyphicon-circle-arrow-up arrow-up-content" title="Go To Top"></span></a><br> -->
|
||||
<div id="btn-up-0" style="text-align:right">
|
||||
<a href="#main-content-0" ><span class="glyphicon glyphicon-circle-arrow-up arrow-up-content" title="Go To Content Area 1"></span></a>
|
||||
<div id="btn-up-1" style="display: none;">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@section('scripts')
|
||||
<script src="{{ asset('public/js/select2.full.min.js') }}"></script>
|
||||
<script src="{{ asset('public/js/summernote/summernote.min.js') }}"></script>
|
||||
<script src="{{ asset('public/js/bootstrap-multiselect.js') }}"></script>
|
||||
|
||||
|
||||
<script src="{{ asset('public/js/datepicker.js') }}"></script>
|
||||
<script src="{{ asset('public/js/evlg-page.min.js?1.21') }}"></script>
|
||||
|
||||
@endsection
|
||||
@endsection
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user