1
0
mirror of https://github.com/raseels-repos/golang-saas-starter-kit.git synced 2025-06-08 23:56:37 +02:00

web-app content formatting

This commit is contained in:
Lee Brown 2019-08-06 13:02:44 -08:00
parent 098544f83b
commit a327dc0197
23 changed files with 478 additions and 557 deletions

View File

@ -4,8 +4,6 @@
{{end}}
{{ define "partials/app-wrapper" }}
<div class="container-fluid">
<!-- Error Text -->
<div class="text-center mt-5">
<div class="error mx-auto" data-text="{{ .StatusCode }}">{{ .StatusCode }}</div>
<p class="lead text-gray-800 mb-5">{{ .Error }}</p>
@ -13,6 +11,5 @@
<p class="text-gray-500 mb-0">{{ .Details }}</p>
{{ end }}
</div>
</div>
{{ end }}

View File

@ -3,9 +3,6 @@
{{end}}
{{define "content"}}
<h3 class="mt-5">Inline Validation Example</h3>
<p>Any field error that is not displayed inline will still be displayed as apart of the the validation at the top of the page.</p>
<form class="user" method="post" novalidate>
@ -19,8 +16,6 @@
</button>
<hr>
</form>
{{end}}
{{define "js"}}

View File

@ -82,8 +82,6 @@
<p class="mb-0">Result:</p><pre>&lt;img src="{{ S3Url "/images/example-image-resize-galaxy-3000x1000.png" }}" &gt;</pre>
<img src="{{ S3Url "/images/example-image-resize-galaxy-3000x1000.png" }}" style="width: 100%;" /><br/>
{{ end }}
{{end}}

View File

@ -6,7 +6,6 @@
{{ define "content" }}
<div class="container" id="page-content">
<h3 class="h3 mt-5 mb-2" >Our Butt-Covering Legal Disclaimer</h3>
<p>Information contained on or made available through the site or in any forms is not intended to
and does not constitute legal advice, recommendations or counseling. Your use of this document
@ -141,17 +140,9 @@
1000 Coolr Way<br/>
Valdez, AK, 99686</p>
</div>
{{end}}
{{define "js"}}
<script>
$(document).ready(function() {
});
</script>
{{end}}

View File

@ -6,7 +6,6 @@
{{ define "content" }}
<div class="container" id="page-content">
<h3 class="h3 mt-5 mb-2" >Our Butt-Covering Legal Disclaimer</h3>
<p>Information contained on or made available through the site or in any forms is not intended to
and does not constitute legal advice, recommendations or counseling. Your use of this document
@ -28,21 +27,17 @@
documents necessary for your particular transactions, as the documents are only samples and
may not be applicable to a particular situation.</p>
<h1 class="h1 mt-5 mb-3 text-dark">Terms of Service</h1>
<p>SaaS Company ("we", "us", "our", "Your SaaS Company, Inc.") provides a software-as-a-service solution available anytime, anywhere, on any device. Please read this Terms of Service agreement carefully before accessing or using SaaS Company. Because it is such an important contract between us and our users, we have tried to make it as clear as possible. For your convenience, we have presented these terms in a short non-binding summary followed by the full legal terms.</p>
<p class="mb-3"><b>Effective July 01, 2050</b></p>
<h2 class="text-dark mt-5">Definitions</h2>
<p><b>Short version</b>: <i>We use these basic terms throughout the agreement, and they have specific meanings. You should know what we mean when we use each of the terms. There's not going to be a test on it, but it's still useful information.</i><p>
<p>The "Agreement" refers, collectively, to all the terms, conditions, notices contained or referenced in this document (the "Terms of Service" or the "Terms") and all other operating rules and policies including the SaaS Company <a href="/legal/privacy">Privacy Policy</a> that we may publish from time to time on the Website.</p>
<p>The "Service" refers to the applications, software, products, and services provided by SaaS Company.</p>
<p>The "Website" refers to SaaS Company's website located at ExampleDomain.com, and all content, services, and products provided by SaaS Company at or through the Website. It also refers to SaaS Company owned subdomains of ExampleDomain.com, such as app.ExampleDomain.com. These Terms also govern SaaS Company's conference websites. Occasionally, websites owned by SaaS Company may provide different or additional terms of service. If those additional terms conflict with this Agreement, the more specific terms apply to the relevant page or service.</p>
@ -55,7 +50,6 @@
<p>An "Account" represents your legal relationship with SaaS Company. A "User Account" represents an individual User's authorization to log in to and use the Service and serves as a User's identity on SaaS Company. "Organizations" are shared workspaces that may be associated with a single entity or with one or more Users where multiple Users can collaborate across many projects at once. A User Account can be a member of any number of Organizations.</p>
<h3 class="h4 mt-3">Account Terms</h3>
<p><b>Short version</b>: <i>User Accounts and Organizations have different administrative controls; a human must create your Account; you must be 18 or over; you must provide a valid email address; and you may not have more than one free Account. You alone are responsible for your Account and anything that happens while you are signed in to or using your Account. You are responsible for keeping your Account secure.</i></p>
@ -91,9 +85,6 @@
<h3 class="h4 mt-3">Additional Terms</h3>
<p>In some situations, third parties' terms may apply to your use of SaaS Company. For example, you may be a member of an organization on SaaS Company with its own terms or license agreements; you may download an application that integrates with SaaS Company; or you may use SaaS Company to authenticate to another service. Please be aware that while these Terms are our full agreement with you, other parties' terms govern their relationships with you.</p>
<h2 class="text-dark mt-5">Acceptable Use</h2>
<p><b>Short version</b>: <i>SaaS Company hosts a wide variety of collaborative projects privately for your teams, and that collaboration only works when our users are able to work together in good faith. While using the service, you are restricted on content that can be included in your private projects, conduct on the service, and other limitations.</i></p>
@ -164,7 +155,6 @@
<h3 class="h4 mt-3">Exclusions</h3>
<p>If we have reason to believe the contents of a private procedure are in violation of the law or of these Terms, we have the right to access, review, and remove them. Additionally, we may be compelled by law to disclose the contents of your private projects.</p>
<h2 class="text-dark mt-5">Service Subscriptions</h2>
<p><b>Short version</b>: <i>We offer paid subscriptions in order to provide your team with more robust solution. It is optional for you to subscribe to a paid plan.</i></p>
@ -178,7 +168,6 @@
<h3 class="h4 mt-3">Usage Fees</h3>
<p>The Premium Service includes a fee for number of users (seats) with status of active in a given month.</p>
<h2 class="text-dark mt-5">Payment</h2>
<p><b>Short version</b>: <i>You are responsible for any fees associated with your use of SaaS Company. We are responsible for communicating those fees to you clearly and accurately, and letting you know well in advance if those prices change.</i></p>
@ -236,15 +225,12 @@
<p>SaaS Company may offer subscription-based access to our API for those Users who require high-throughput access or access that would result in resale of SaaS Company's Service.</p>
<h2 class="text-dark mt-5">Intellectual Property Notice</h2>
<p><b>Short version</b>: <i>We own the service and all of our content. In order for you to use our content, we give you certain rights to it, but you may only use our content in the way we have allowed.</i></p>
<h3 class="h4 mt-3">SaaS Company's Rights to Content</h3>
<p>SaaS Company and our licensors, vendors, agents, and/or our content providers retain ownership of all intellectual property rights of any kind related to the Website and Service. We reserve all rights that are not expressly granted to you under this Agreement or by law. The look and feel of the Website and Service is copyright © SaaS Company, Inc. All rights reserved. You may not duplicate, copy, or reuse any portion of the HTML/CSS, Javascript, or visual design elements or concepts without express written permission from SaaS Company.</p>
<h2 class="text-dark mt-5">Communications with SaaS Company</h2>
<p><b>Short version</b>: <i>We use email and other electronic means to stay in touch with our users.</i></p>
@ -311,15 +297,9 @@
<h2 class="text-dark mt-5">Questions</h2>
<p>Questions about the Terms of Service? Contact <a href="/support">Support</a>.</p>
</div>
{{end}}
{{define "js"}}
<script>
$(document).ready(function() {
});
</script>
{{end}}

View File

@ -24,9 +24,10 @@
<div class="col-md-6">
<div class="form-group">
<label for="inputName">Project Name</label>
<input type="text" class="form-control {{ ValidationFieldClass $.validationErrors "Name" }}"
placeholder="Enter name for your project" name="Name" id="inputName" value="{{ .form.Name }}" required>
{{template "invalid-feedback" dict "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors "fieldName" "Name" }}
<input type="text" id="inputName"
class="form-control {{ ValidationFieldClass $.validationErrors "Name" }}"
placeholder="Enter name for your project" name="Name"value="{{ .form.Name }}" required>
{{template "invalid-feedback" dict "fieldName" "Name" "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors }}
</div>
</div>
</div>

View File

@ -12,7 +12,8 @@
<h1 class="h3 mb-0 text-gray-800">Projects</h1>
{{ if HasRole $._Ctx "admin" }}
<a href="{{ .urlProjectsCreate }}" class="d-none d-sm-inline-block btn btn-sm btn-primary shadow-sm"><i class="fas fa-folder-plus fa-sm text-white-50 mr-1"></i>Create Project</a>
<a href="{{ .urlProjectsCreate }}" class="d-none d-sm-inline-block btn btn-sm btn-primary shadow-sm">
<i class="fas fa-folder-plus fa-sm text-white-50 mr-1"></i>Create Project</a>
{{ end }}
</div>
@ -34,10 +35,10 @@
{{define "js"}}
{{ template "partials/datatable/js" . }}
<script>
<script>
$(document).ready(function(){
//$("#dataTable_filter").hide();
});
</script>
</script>
{{end}}

View File

@ -12,16 +12,13 @@
</ol>
</nav>
<div class="d-sm-flex align-items-center justify-content-between mb-4">
<h1 class="h3 mb-0 text-gray-800">Update Project</h1>
</div>
<form class="user" method="post" novalidate>
<div class="card shadow mb-4">
<div class="card-body">
<div class="row mb-2">
<div class="col-12">
@ -29,14 +26,14 @@
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label for="inputName">Name</label>
<input type="text" class="form-control {{ ValidationFieldClass $.validationErrors "Name" }}"
placeholder="enter name" name="Name" id="inputName" value="{{ .form.Name }}" required>
{{template "invalid-feedback" dict "validationDefaults" $.userValidationDefaults "validationErrors" $.validationErrors "fieldName" "Name" }}
<input type="text" id="inputName"
class="form-control {{ ValidationFieldClass $.validationErrors "Name" }}"
placeholder="enter name" name="Name" value="{{ .form.Name }}" required>
{{template "invalid-feedback" dict "fieldName" "Name" "validationDefaults" $.userValidationDefaults "validationErrors" $.validationErrors }}
</div>
<div class="form-group">
<label for="selectStatus">Status</label>
@ -46,7 +43,7 @@
<option value="{{ $t.Value }}" {{ if $t.Selected }}selected="selected"{{ end }}>{{ $t.Title }}</option>
{{ end }}
</select>
{{template "invalid-feedback" dict "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors "fieldName" "Status" }}
{{template "invalid-feedback" dict "fieldName" "Status" "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors }}
</div>
</div>
</div>

View File

@ -34,7 +34,6 @@
</div>
</div>
<div class="card-body">
<div class="row">
<div class="col-md-6">
<p>
@ -55,14 +54,12 @@
</p>
</div>
<div class="col-md-6">
<p>
<small>ID</small><br/>
<b>{{ .project.ID }}</b>
</p>
</div>
</div>
</div>
</div>

View File

@ -4,12 +4,10 @@
{{end}}
{{define "content"}}
<div class="d-sm-flex align-items-center justify-content-between mb-4">
<h1 class="h3 mb-0 text-gray-800">Dashboard</h1>
</div>
<div class="row mb-4">
<div class="col">
@ -34,9 +32,6 @@
</div>
</div>
<!-- Content Row -->
<div class="row">
@ -119,7 +114,6 @@
</div>
<!-- Content Row -->
<div class="row">
<!-- Area Chart -->
@ -309,14 +303,9 @@
</div>
</div>
{{end}}
{{define "js"}}
<!-- Page level plugins -->
<script src="{{ SiteAssetUrl "/assets/vendor/chart.js/Chart.min.js" }}"></script>

View File

@ -30,24 +30,31 @@
<div class="form-group row">
<div class="col-sm-6 mb-3 mb-sm-0">
<input type="text" class="form-control form-control-user {{ ValidationFieldClass $.validationErrors "Account.Name" }}" name="Account.Name" value="{{ $.form.Account.Name }}" placeholder="Company Name" required>
{{template "invalid-feedback" dict "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors "fieldName" "Account.Name" }}
<input type="text"
class="form-control form-control-user {{ ValidationFieldClass $.validationErrors "Account.Name" }}"
name="Account.Name" value="{{ $.form.Account.Name }}" placeholder="Company Name" required>
{{template "invalid-feedback" dict "fieldName" "Account.Name" "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors }}
</div>
</div>
<div class="form-group row">
<div class="col-sm-6 mb-3 mb-sm-0">
<input type="text" class="form-control form-control-user {{ ValidationFieldClass $.validationErrors "Account.Address1" }}" name="Account.Address1" value="{{ $.form.Account.Address1 }}" placeholder="Address Line 1" required>
{{template "invalid-feedback" dict "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors "fieldName" "Account.Address1" }}
<input type="text"
class="form-control form-control-user {{ ValidationFieldClass $.validationErrors "Account.Address1" }}"
name="Account.Address1" value="{{ $.form.Account.Address1 }}" placeholder="Address Line 1" required>
{{template "invalid-feedback" dict "fieldName" "Account.Address1" "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors }}
</div>
<div class="col-sm-6">
<input type="text" class="form-control form-control-user {{ ValidationFieldClass $.validationErrors "Account.Address2" }}" name="Account.Address2" value="{{ $.form.Account.Address2 }}" placeholder="Address Line 2">
{{template "invalid-feedback" dict "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors "fieldName" "Account.Address2" }}
<input type="text"
class="form-control form-control-user {{ ValidationFieldClass $.validationErrors "Account.Address2" }}"
name="Account.Address2" value="{{ $.form.Account.Address2 }}" placeholder="Address Line 2">
{{template "invalid-feedback" dict "fieldName" "Account.Address2" "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors }}
</div>
</div>
<div class="form-group row">
<div class="col-sm-6 mb-3 mb-sm-0">
<div class="form-control-select-wrapper">
<select class="form-control form-control-select-box {{ ValidationFieldClass $.validationErrors "Account.Country" }}" id="selectAccountCountry" name="Account.Country" placeholder="Country" required>
<select id="selectAccountCountry" name="Account.Country" placeholder="Country" required
class="form-control form-control-select-box {{ ValidationFieldClass $.validationErrors "Account.Country" }}">
{{ range $i := $.countries }}
{{ $hasGeonames := false }}
{{ range $c := $.geonameCountries }}
@ -56,28 +63,30 @@
<option value="{{ $i.Code }}" data-geonames="{{ if $hasGeonames }}1{{ else }}0{{ end }}" {{ if eq $.form.Account.Country $i.Code }}selected="selected"{{ end }}>{{ $i.Name }}</option>
{{ end }}
</select>
{{template "invalid-feedback" dict "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors "fieldName" "Account.Country" }}
{{template "invalid-feedback" dict "fieldName" "Account.Country" "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors }}
</div>
</div>
</div>
<div class="form-group row">
<div class="col-sm-6 mb-3 mb-sm-0">
<div id="divAccountZipcode"></div>
{{template "invalid-feedback" dict "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors "fieldName" "Account.Zipcode" }}
{{template "invalid-feedback" dict "fieldName" "Account.Zipcode" "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors }}
</div>
<div class="col-sm-6 mb-3 mb-sm-0">
<div id="divAccountRegion"></div>
{{template "invalid-feedback" dict "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors "fieldName" "Account.Region" }}
{{template "invalid-feedback" dict "fieldName" "Account.Region" "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors }}
</div>
</div>
<div class="form-group row mb-4">
<div class="col-sm-6 mb-3 mb-sm-0">
<input type="text" class="form-control form-control-user {{ ValidationFieldClass $.validationErrors "Account.City" }}" id="inputAccountCity" name="Account.City" value="{{ $.form.Account.City }}" placeholder="City" required>
<input type="text" id="inputAccountCity"
class="form-control form-control-user {{ ValidationFieldClass $.validationErrors "Account.City" }}"
name="Account.City" value="{{ $.form.Account.City }}" placeholder="City" required>
{{template "invalid-feedback" dict "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors "fieldName" "Account.City" }}
</div>
<!-- div class="col-sm-6 mb-3 mb-sm-0">
<select class="form-control {{ ValidationFieldClass $.validationErrors "Account.Timezone" }}" id="selectAccountTimezone" name="Account.Timezone" placeholder="Timezone"></select>
{{template "invalid-feedback" dict "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors "fieldName" "Account.Timezone" }}
{{template "invalid-feedback" dict "fieldName" "Account.Timezone" "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors }}
</div -->
</div>
@ -89,26 +98,36 @@
<div class="form-group row">
<div class="col-sm-6 mb-3 mb-sm-0">
<input type="text" class="form-control form-control-user {{ ValidationFieldClass $.validationErrors "User.FirstName" }}" name="User.FirstName" value="{{ $.form.User.FirstName }}" placeholder="First Name" required>
{{template "invalid-feedback" dict "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors "fieldName" "User.FirstName" }}
<input type="text"
class="form-control form-control-user {{ ValidationFieldClass $.validationErrors "User.FirstName" }}"
name="User.FirstName" value="{{ $.form.User.FirstName }}" placeholder="First Name" required>
{{template "invalid-feedback" dict "fieldName" "User.FirstName" "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors }}
</div>
<div class="col-sm-6">
<input type="text" class="form-control form-control-user {{ ValidationFieldClass $.validationErrors "User.LastName" }}" name="User.LastName" value="{{ $.form.User.LastName }}" placeholder="Last Name" required>
{{template "invalid-feedback" dict "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors "fieldName" "User.LastName" }}
<input type="text"
class="form-control form-control-user {{ ValidationFieldClass $.validationErrors "User.LastName" }}"
name="User.LastName" value="{{ $.form.User.LastName }}" placeholder="Last Name" required>
{{template "invalid-feedback" dict "fieldName" "User.LastName" "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors }}
</div>
</div>
<div class="form-group">
<input type="email" class="form-control form-control-user {{ ValidationFieldClass $.validationErrors "User.Email" }}" name="User.Email" value="{{ $.form.User.Email }}" placeholder="Email Address" required>
{{template "invalid-feedback" dict "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors "fieldName" "User.Email" }}
<input type="email"
class="form-control form-control-user {{ ValidationFieldClass $.validationErrors "User.Email" }}"
name="User.Email" value="{{ $.form.User.Email }}" placeholder="Email Address" required>
{{template "invalid-feedback" dict "fieldName" "User.Email" "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors }}
</div>
<div class="form-group row">
<div class="col-sm-6 mb-3 mb-sm-0">
<input type="password" class="form-control form-control-user {{ ValidationFieldClass $.validationErrors "User.Password" }}" name="User.Password" value="{{ $.form.User.Password }}" placeholder="Password" required>
{{template "invalid-feedback" dict "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors "fieldName" "User.Password" }}
<input type="password"
class="form-control form-control-user {{ ValidationFieldClass $.validationErrors "User.Password" }}"
name="User.Password" value="{{ $.form.User.Password }}" placeholder="Password" required>
{{template "invalid-feedback" dict "fieldName" "User.Password" "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors }}
</div>
<div class="col-sm-6">
<input type="password" class="form-control form-control-user {{ ValidationFieldClass $.validationErrors "User.PasswordConfirm" }}" name="User.PasswordConfirm" value="{{ $.form.User.PasswordConfirm }}" placeholder="Repeat Password" required>
{{template "invalid-feedback" dict "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors "fieldName" "User.PasswordConfirm" }}
<input type="password"
class="form-control form-control-user {{ ValidationFieldClass $.validationErrors "User.PasswordConfirm" }}"
name="User.PasswordConfirm" value="{{ $.form.User.PasswordConfirm }}" placeholder="Repeat Password" required>
{{template "invalid-feedback" dict "fieldName" "User.PasswordConfirm" "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors }}
</div>
</div>

View File

@ -70,10 +70,6 @@
</div>
{{end}}
{{define "js"}}
<script>
$(document).ready(function() {
});
</script>
{{end}}

View File

@ -5,8 +5,6 @@
{{end}}
{{ define "content" }}
<div id="myCarousel" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators">
<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
@ -54,8 +52,6 @@
</a>
</div>
<div class="container" id="page-content" >
<div class="row mt-5">
@ -79,11 +75,6 @@
</div>
{{end}}
{{define "js"}}
<script>
$(document).ready(function() {
});
</script>
{{end}}

View File

@ -6,7 +6,6 @@
{{ define "content" }}
<div class="container" id="page-content">
<h1 class="h1 mt-5 mb-3 text-dark">Pricing</h1>
<p class="lead mb-5">Start your Free 30 Day Trial. Solution to increase the performance and efficiency of your businesses processes that scales with you, your team and your company. No credit card needed.</p>
@ -104,7 +103,6 @@
</div>
<!-- Start the Signup Container -->
<div class="container ">
<div class="row pt-5">
<div class="col-sm-8">
@ -116,17 +114,10 @@
</div>
</div>
</div>
<!-- /End the Featurettes -->
{{end}}
{{define "js"}}
<script>
$(document).ready(function() {
});
</script>
{{end}}

View File

@ -6,13 +6,8 @@
{{ define "content" }}
<div class="container" id="page-content">
<h1 class="h1 mt-5 mb-3 text-dark">Support</h1>
<div class="row">
<div class="col">
@ -23,13 +18,11 @@
</div>
</div>
<div class="row mt-5 mb-5">
<div class="col text-center">
<h2 class="h2 text-purple">Search our Knowledge Base</h2>
<form action="https://keeni.zendesk.com/hc/en-us/search" method="GET">
<div class="input-group">
<input type="text" class="form-control font-24" name="query" placeholder="What can we help with?">
@ -43,7 +36,6 @@
</div>
</div>
<div class="row mt-5 mb-5">
<div class="col text-center">
<h2 class="h2 text-purple">Contact us 24/7 for support via email, phone and chat!</h2>
@ -55,29 +47,18 @@
<div class="col-sm-6 text-center">
<h3 class="h2"><i class="far fa-envelope"></i>Email Us</h3>
<a href="mailto:support@ExampleDomain.com">support@ExampleDomain.com</a>
</div>
<div class="col-sm-6 text-center">
<h3 class="h2"><i class="fas fa-phone"></i>Call Us</h3>
<a href="tel:1-907-100-2000">+1 (907) 100-2000</a>
</div>
</div>
<hr class="featurette-divider mt-5 mb-5">
</div>
<!-- Start the Signup Container -->
<div class="container ">
<div class="row pt-5">
@ -92,14 +73,8 @@
</div>
<!-- /End the Signup Container -->
{{end}}
{{define "js"}}
<script>
$(document).ready(function() {
});
</script>
{{end}}

View File

@ -28,16 +28,21 @@
<form class="user" method="post" novalidate>
<div class="form-group">
<input type="email" class="form-control form-control-user {{ ValidationFieldClass $.validationErrors "AuthenticateRequest.Email" }}" name="Email" value="{{ $.form.Email }}" placeholder="Enter Email Address...">
{{template "invalid-feedback" dict "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors "fieldName" "AuthenticateRequest.Email" }}
<input type="email"
class="form-control form-control-user {{ ValidationFieldClass $.validationErrors "AuthenticateRequest.Email" }}"
name="Email" value="{{ $.form.Email }}" placeholder="Enter Email Address...">
{{template "invalid-feedback" dict "fieldName" "AuthenticateRequest.Email" "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors }}
</div>
<div class="form-group">
<input type="password" class="form-control form-control-user {{ ValidationFieldClass $.validationErrors "AuthenticateRequest.Password" }}" name="Password" value="{{ $.form.Password }}" placeholder="Password">
{{template "invalid-feedback" dict "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors "fieldName" "AuthenticateRequest.Password" }}
<input type="password"
class="form-control form-control-user {{ ValidationFieldClass $.validationErrors "AuthenticateRequest.Password" }}"
name="Password" value="{{ $.form.Password }}" placeholder="Password">
{{template "invalid-feedback" dict "fieldName" "AuthenticateRequest.Password" "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors }}
</div>
<div class="form-group">
<div class="custom-control custom-checkbox small">
<input type="checkbox" class="custom-control-input" id="inputRemberMe" name="RememberMe" value="1" {{ if $.form.RememberMe }}checked="checked"{{end}}>
<input type="checkbox" class="custom-control-input"
id="inputRemberMe" name="RememberMe" value="1" {{ if $.form.RememberMe }}checked="checked"{{end}}>
<label class="custom-control-label" for="inputRemberMe">Remember Me</label>
</div>
</div>

View File

@ -29,8 +29,10 @@
<form class="user" method="post" novalidate>
<div class="form-group">
<input type="email" class="form-control form-control-user {{ ValidationFieldClass $.validationErrors "Email" }}" name="Email" value="{{ $.form.Email }}" placeholder="Enter Email Address...">
{{template "invalid-feedback" dict "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors "fieldName" "Email" }}
<input type="email"
class="form-control form-control-user {{ ValidationFieldClass $.validationErrors "Email" }}"
name="Email" value="{{ $.form.Email }}" placeholder="Enter Email Address..." required>
{{template "invalid-feedback" dict "fieldName" "Email" "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors }}
</div>
<button class="btn btn-primary btn-user btn-block">
Reset Password

View File

@ -27,12 +27,13 @@
<form class="user" method="post" novalidate>
<div class="form-group">
<select class="form-control form-control-select-box {{ ValidationFieldClass $.validationErrors "AccountID" }}" name="AccountID" placeholder="AccountID" required>
<select name="AccountID" placeholder="AccountID" required
class="form-control form-control-select-box {{ ValidationFieldClass $.validationErrors "AccountID" }}">
{{ range $i := $.accounts }}
<option value="{{ $i.ID }}" {{ if eq $.form.AccountID $i.ID }}selected="selected"{{ end }}>{{ $i.Name }}</option>
{{ end }}
</select>
{{template "invalid-feedback" dict "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors "fieldName" "AccountID" }}
{{template "invalid-feedback" dict "fieldName" "AccountID" "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors }}
</div>
<button class="btn btn-primary btn-user btn-block">
Login

View File

@ -20,33 +20,39 @@
</div>
</div>
<div class="row mb-2">
<div class="col-md-6">
<div class="form-group">
<label for="inputFirstName">First Name</label>
<input type="text" class="form-control {{ ValidationFieldClass $.validationErrors "FirstName" }}" placeholder="enter first name" name="FirstName" value="{{ .form.FirstName }}" required>
{{template "invalid-feedback" dict "validationDefaults" $.userValidationDefaults "validationErrors" $.validationErrors "fieldName" "FirstName" }}
<input type="text"
class="form-control {{ ValidationFieldClass $.validationErrors "FirstName" }}"
placeholder="enter first name" name="FirstName" value="{{ .form.FirstName }}" required>
{{template "invalid-feedback" dict "fieldName" "FirstName" "validationDefaults" $.userValidationDefaults "validationErrors" $.validationErrors }}
</div>
<div class="form-group">
<label for="inputLastName">Last Name</label>
<input type="text" class="form-control {{ ValidationFieldClass $.validationErrors "LastName" }}" placeholder="enter last name" name="LastName" value="{{ .form.LastName }}" required>
{{template "invalid-feedback" dict "validationDefaults" $.userValidationDefaults "validationErrors" $.validationErrors "fieldName" "LastName" }}
<input type="text"
class="form-control {{ ValidationFieldClass $.validationErrors "LastName" }}"
placeholder="enter last name" name="LastName" value="{{ .form.LastName }}" required>
{{template "invalid-feedback" dict "fieldName" "LastName" "validationDefaults" $.userValidationDefaults "validationErrors" $.validationErrors }}
</div>
<div class="form-group">
<label for="inputEmail">Email</label>
<input type="text" class="form-control {{ ValidationFieldClass $.validationErrors "Email" }}" placeholder="enter email" name="Email" value="{{ .form.Email }}" required>
{{template "invalid-feedback" dict "validationDefaults" $.userValidationDefaults "validationErrors" $.validationErrors "fieldName" "Email" }}
<input type="text"
class="form-control {{ ValidationFieldClass $.validationErrors "Email" }}"
placeholder="enter email" name="Email" value="{{ .form.Email }}" required>
{{template "invalid-feedback" dict "fieldName" "Email" "validationDefaults" $.userValidationDefaults "validationErrors" $.validationErrors }}
</div>
<div class="form-group">
<label for="inputTimezone">Timezone</label>
<select class="form-control {{ ValidationFieldClass $.validationErrors "Timezone" }}" name="Timezone">
<label for="selectTimezone">Timezone</label>
<select id="selectTimezone" name="Timezone"
class="form-control {{ ValidationFieldClass $.validationErrors "Timezone" }}">
<option value="">Not set</option>
{{ range $idx, $t := .timezones }}
<option value="{{ $t }}" {{ if CmpString $t $.form.Timezone }}selected="selected"{{ end }}>{{ $t }}</option>
{{ end }}
</select>
{{template "invalid-feedback" dict "validationDefaults" $.userValidationDefaults "validationErrors" $.validationErrors "fieldName" "Timezone" }}
{{template "invalid-feedback" dict "fieldName" "Timezone" "validationDefaults" $.userValidationDefaults "validationErrors" $.validationErrors }}
</div>
</div>
</div>
@ -56,8 +62,6 @@
<a href="/user" class="ml-2 btn btn-secondary" >Cancel</a>
</div>
</div>
</div>
</div>
@ -65,23 +69,16 @@
<form class="user" method="post" novalidate>
<div class="card mt-4">
<div class="card-body">
<div class="row mb-2">
<div class="col-12">
<h4 class="card-title">Change Password</h4>
<p><small><b>Optional</b>. You can change your password by specifying a new one below. Otherwise leave the fields empty.</small></p>
</div>
</div>
<div class="row mb-2">
<div class="col-md-6">
<div class="form-group">
<label for="inputPassword">Password</label>
<input type="password" class="form-control" id="inputPassword" placeholder="" name="Password" value="">
@ -94,21 +91,17 @@
{{template "invalid-feedback" dict "validationDefaults" $.passwordValidationDefaults "validationErrors" $.validationErrors "fieldName" "PasswordConfirm" }}
</div>
</div>
</div>
<div class="row">
<div class="col">
<input id="btnSubmit2" type="submit" name="action" value="Change Password" class="btn btn-primary btn-sm"/>
<input type="submit" name="action" value="Change Password" class="btn btn-primary btn-sm"/>
</div>
</div>
</div>
</div>
</form>
{{end}}
{{define "js"}}
<script>

View File

@ -9,8 +9,7 @@
<!-- a href="/user/update" class="d-none d-sm-inline-block btn btn-sm btn-primary shadow-sm"><i class="far fa-edit fa-sm text-white-50 mr-1"></i>Edit Details</a -->
</div>
<div class="card shadow">
<div class="card shadow">
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
<h6 class="m-0 font-weight-bold text-dark">User Details</h6>
@ -27,8 +26,6 @@
</div>
<div class="card-body">
<div class="row mt-2">
<div class="col-lg-2 mb-2">
<img src="{{ .user.Gravatar.Medium }}" alt="gravatar image" class="rounded">
@ -85,9 +82,8 @@
</p>
</div>
</div>
</div>
</div>
</div>
{{end}}
{{define "js"}}

View File

@ -27,12 +27,13 @@
<form class="user" method="post" novalidate>
<div class="form-group">
<select class="form-control form-control-select-box {{ ValidationFieldClass $.validationErrors "User" }}" name="UserID" placeholder="UserID" required>
<select name="UserID" placeholder="UserID" required
class="form-control form-control-select-box {{ ValidationFieldClass $.validationErrors "User" }}">
{{ range $i := $.users }}
<option value="{{ $i.ID }}" {{ if eq $.form.UserID $i.ID }}selected="selected"{{ end }}>{{ $i.Name }}</option>
{{ end }}
</select>
{{template "invalid-feedback" dict "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors "fieldName" "UserID" }}
{{template "invalid-feedback" dict "fieldName" "UserID" "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors }}
</div>
<button class="btn btn-primary btn-user btn-block">
Login

View File

@ -36,41 +36,50 @@
<div class="col-md-6">
<div class="form-group">
<label for="inputFirstName">First Name</label>
<input type="text" class="form-control {{ ValidationFieldClass $.validationErrors "FirstName" }}" placeholder="enter first name" name="FirstName" value="{{ .form.FirstName }}" required>
{{template "invalid-feedback" dict "validationDefaults" $.userValidationDefaults "validationErrors" $.validationErrors "fieldName" "FirstName" }}
<input type="text" id="inputFirstName"
class="form-control {{ ValidationFieldClass $.validationErrors "FirstName" }}"
placeholder="enter first name" name="FirstName" value="{{ .form.FirstName }}" required>
{{template "invalid-feedback" dict "fieldName" "FirstName" "validationDefaults" $.userValidationDefaults "validationErrors" $.validationErrors }}
</div>
<div class="form-group">
<label for="inputLastName">Last Name</label>
<input type="text" class="form-control {{ ValidationFieldClass $.validationErrors "LastName" }}" placeholder="enter last name" name="LastName" value="{{ .form.LastName }}" required>
{{template "invalid-feedback" dict "validationDefaults" $.userValidationDefaults "validationErrors" $.validationErrors "fieldName" "LastName" }}
<input type="text" id="inputLastName"
class="form-control {{ ValidationFieldClass $.validationErrors "LastName" }}"
placeholder="enter last name" name="LastName" value="{{ .form.LastName }}" required>
{{template "invalid-feedback" dict "fieldName" "LastName" "validationDefaults" $.userValidationDefaults "validationErrors" $.validationErrors }}
</div>
<div class="form-group">
<label for="inputEmail">Email</label>
<input type="text" class="form-control {{ ValidationFieldClass $.validationErrors "Email" }}" placeholder="enter email" name="Email" value="{{ .form.Email }}" required>
{{template "invalid-feedback" dict "validationDefaults" $.userValidationDefaults "validationErrors" $.validationErrors "fieldName" "Email" }}
<input type="text" id="inputEmail"
class="form-control {{ ValidationFieldClass $.validationErrors "Email" }}"
placeholder="enter email" name="Email" value="{{ .form.Email }}" required>
{{template "invalid-feedback" dict "fieldName" "Email" "validationDefaults" $.userValidationDefaults "validationErrors" $.validationErrors }}
</div>
<div class="form-group">
<label for="inputTimezone">Timezone</label>
<select class="form-control {{ ValidationFieldClass $.validationErrors "Timezone" }}" name="Timezone">
<label for="selectTimezone">Timezone</label>
<select id="selectTimezone" name="Timezone"
class="form-control {{ ValidationFieldClass $.validationErrors "Timezone" }}">
<option value="">Not set</option>
{{ range $idx, $t := .timezones }}
<option value="{{ $t }}" {{ if CmpString $t $.form.Timezone }}selected="selected"{{ end }}>{{ $t }}</option>
{{ end }}
</select>
{{template "invalid-feedback" dict "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors "fieldName" "Timezone" }}
{{template "invalid-feedback" dict "fieldName" "Timezone" "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors }}
</div>
<div class="form-group">
<label for="inputPassword">Password</label>
<input type="password" class="form-control" id="inputPassword" placeholder="" name="Password" value="">
<input type="password" class="form-control"
id="inputPassword" placeholder="" name="Password" value="" required>
<span class="help-block "><small><a a href="javascript:void(0)" id="btnGeneratePassword"><i class="fas fa-random mr-1"></i>Generate random password </a></small></span>
{{template "invalid-feedback" dict "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors "fieldName" "Password" }}
{{template "invalid-feedback" dict "fieldName" "Password" "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors }}
</div>
<div class="form-group">
<label for="inputPasswordConfirm">Confirm Password</label>
<input type="password" class="form-control" id="inputPasswordConfirm" placeholder="" name="PasswordConfirm" value="">
{{template "invalid-feedback" dict "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors "fieldName" "PasswordConfirm" }}
<input type="password" class="form-control"
id="inputPasswordConfirm" placeholder="" name="PasswordConfirm" value="" required>
{{template "invalid-feedback" dict "fieldName" "PasswordConfirm" "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors }}
</div>
</div>
@ -83,7 +92,6 @@
</div>
</div>
</div>
</div>

View File

@ -27,7 +27,9 @@
</div>
</div>
<p class="mt-2 mb-0"><a href="javascript:void(0)" class="btn btn-outline-primary btn-sm" id="inviteUser1"><i class="fas fa-user-plus mr-1"></i>Add another invitation</a></p>
<p class="mt-2 mb-0">
<a href="javascript:void(0)" class="btn btn-outline-primary btn-sm" id="inviteUser1">
<i class="fas fa-user-plus mr-1"></i>Add another invitation</a></p>
</div>
</div>
@ -37,7 +39,6 @@
<div class="form-group">
<label for="selectRoles">Roles <small>- Select at least one role for invited user(s).</small></label>
{{ range $t := .roles.Options }}
<div class="form-check">
<input class="form-check-input {{ ValidationFieldClass $.validationErrors "Roles" }}"
@ -50,17 +51,15 @@
</div>
{{ end }}
{{template "invalid-feedback" dict "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors "fieldName" "Roles" }}
{{template "invalid-feedback" dict "fieldName" "Roles" "validationDefaults" $.validationDefaults "validationErrors" $.validationErrors }}
</div>
</div>
</div>
</div>
</div>
<div class="row mt-4">
<div class="col">
<input id="btnSubmit" type="submit" value="Invite Users" class="btn btn-primary"/>
@ -89,8 +88,6 @@
newHtml = newHtml + '<input type="text" class="form-control invite-user-email" placeholder="enter email" name="Emails" value="">';
newHtml = newHtml + '</div>';
$('#email-form-groups').append(newHtml);
}
$(document).ready(function(){