Commit f28fc69d authored by dexsap's avatar dexsap

poggers

parent 3977069a
# Generated by Django 4.2 on 2023-05-16 12:52
# Generated by Django 4.2 on 2023-05-16 16:45
from django.db import migrations, models
import django.db.models.deletion
......@@ -14,11 +14,8 @@ class Migration(migrations.Migration):
migrations.CreateModel(
name="Employee",
fields=[
("employee_id", models.CharField(max_length=10)),
(
"employee_name",
models.CharField(max_length=255, primary_key=True, serialize=False),
),
("employee_id", models.AutoField(primary_key=True, serialize=False)),
("employee_name", models.CharField(max_length=255)),
(
"employee_sex",
models.CharField(blank=True, default="", max_length=1, null=True),
......@@ -52,10 +49,7 @@ class Migration(migrations.Migration):
),
("username", models.CharField(max_length=300, unique=True)),
("password", models.CharField(max_length=300)),
("first_name", models.CharField(max_length=300)),
("last_name", models.CharField(max_length=300)),
("birthday", models.DateField()),
("sex", models.CharField(max_length=50)),
("name", models.CharField(max_length=300)),
],
),
migrations.CreateModel(
......@@ -77,7 +71,7 @@ class Migration(migrations.Migration):
("prod_date", models.DateField(null=True)),
("totalduration", models.DurationField()),
(
"employee_name",
"employee_id",
models.ForeignKey(
default="",
on_delete=django.db.models.deletion.CASCADE,
......@@ -95,18 +89,15 @@ class Migration(migrations.Migration):
("duration", models.CharField(max_length=5)),
("status", models.CharField(max_length=255)),
(
"employee_name",
"employee_id",
models.ForeignKey(
default="",
on_delete=django.db.models.deletion.CASCADE,
to="IPSapp.employee",
unique=True,
),
),
(
"sr_no",
models.ForeignKey(
default="",
on_delete=django.db.models.deletion.CASCADE,
to="IPSapp.summaryreport",
),
......
# Generated by Django 4.2 on 2023-05-16 17:22
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
("IPSapp", "0001_initial"),
]
operations = [
migrations.AddField(
model_name="employee",
name="position_name",
field=models.ForeignKey(
default="",
on_delete=django.db.models.deletion.CASCADE,
to="IPSapp.position",
),
),
migrations.AlterField(
model_name="position",
name="position_id",
field=models.AutoField(primary_key=True, serialize=False),
),
]
# Generated by Django 4.2 on 2023-05-16 17:22
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("IPSapp", "0002_employee_position_name_alter_position_position_id"),
]
operations = [
migrations.RenameField(
model_name="employee", old_name="position_name", new_name="position_id",
),
]
......@@ -2,20 +2,22 @@ from django.db import models
#from .employee import Employee
class Employee(models.Model):
employee_id = models.CharField(max_length=10)
employee_name = models.CharField(max_length=255, primary_key=True)
employee_id = models.AutoField(primary_key=True)
employee_name = models.CharField(max_length=255)
employee_sex = models.CharField(max_length=1, blank=True, null=True, default='')
employee_bday = models.DateField(blank=True, null=True, default='')
employee_email = models.CharField(max_length=255, blank=True, null=True, default='')
employee_num = models.CharField(max_length=10, blank=True, null=True, default='')
employee_emergnum = models.CharField(max_length=10, blank=True, null=True, default='')
position_id = models.ForeignKey('Position', on_delete=models.CASCADE, default='')
def __str__(self):
return str(self.employee_name)
class Productivity(models.Model):
report_no = models.AutoField(primary_key=True)
employee_name = models.ForeignKey('Employee', on_delete=models.CASCADE, default='', unique=True)
sr_no = models.ForeignKey('SummaryReport', on_delete=models.CASCADE, default='')
employee_id = models.ForeignKey('Employee', on_delete=models.CASCADE)
sr_no = models.ForeignKey('SummaryReport', on_delete=models.CASCADE)
remarks = models.TextField(max_length=2000, blank=True)
process = models.CharField(max_length=255)
duration = models.CharField(max_length=5)
......@@ -36,13 +38,16 @@ class Productivity(models.Model):
def getStatus(self):
return self.status
def __str__(self):
return "PK No.: " + str(self.report_no) + ", " + str(self.status) + ", " + str(self.process) + ", " + str(self.duration) + ", " + str(self.remarks)
class Position(models.Model):
position_id = models.CharField(max_length=10, primary_key=True)
position_id = models.AutoField(primary_key=True)
position_name = models.CharField(max_length=255)
def __str__(self):
return str(self.position_name)
class History(models.Model):
history_no = models.CharField(max_length=10, primary_key=True)
employee = models.ForeignKey('Employee', on_delete=models.CASCADE)
......@@ -52,7 +57,7 @@ class History(models.Model):
class SummaryReport(models.Model):
sr_no = models.AutoField(primary_key=True)
employee_name = models.ForeignKey('Employee', on_delete=models.CASCADE, default='')
employee_id = models.ForeignKey('Employee', on_delete=models.CASCADE, default='')
prod_score = models.FloatField()
totalworkhrs = models.DurationField()
prod_date = models.DateField(null=True)
......@@ -80,11 +85,7 @@ class SummaryReport(models.Model):
class IPSUser(models.Model):
username = models.CharField(max_length=300, unique=True)
password = models.CharField(max_length=300)
first_name = models.CharField(max_length=300)
last_name = models.CharField(max_length=300)
birthday = models.DateField()
sex = models.CharField(max_length=50)
objects = models.Manager()
name = models.CharField(max_length=300)
def getUsername(self):
return self.username
......@@ -92,17 +93,8 @@ class IPSUser(models.Model):
def getPassword(self):
return self.password
def getFirstName(self):
return self.first_name
def getLastName(self):
return self.last_name
def getBirthday(self):
return self.birthday
def getSex(self):
return self.sex
def getName(self):
return self.name
def __str__(self):
return "pk: " + str(self.pk) + ": " + self.username + ", " + self.first_name + " " + self.last_name + ", " + str(self.birthday) + ", " + self.sex
return "pk: " + str(self.pk) + ": " + self.username + ", " + self.name
......@@ -2,6 +2,8 @@
@import url('https://unpkg.com/css.gg@2.0.0/icons/css/user-add.css');
@import url('https://unpkg.com/css.gg@2.0.0/icons/css/import.css');
@import url('https://unpkg.com/css.gg@2.0.0/icons/css/log-out.css');
@import url('https://unpkg.com/css.gg@2.0.0/icons/css/user-list.css');
@import url('https://unpkg.com/css.gg@2.0.0/icons/css/user-list.css');
body {
font-family: Helvetica ;
......@@ -13,11 +15,14 @@ body {
}
.footer {
position: fixed;
left: 0;
bottom: 0;
position: sticky;
bottom: 0px;
width: 100%;
height: max-content;
text-align: center;
margin-top: 10px;
padding-bottom: 5px;
margin-bottom: 0px;
}
.base-logo {
......@@ -46,6 +51,10 @@ body {
padding: 16px 16px 16px;
display: flex;
justify-content: space-between;
position: fixed;
z-index: 2;
top: 0px;
width: 100%;
}
......@@ -95,7 +104,7 @@ body {
height: 100%;
width: 85px;
position: fixed;
top: 102.4;
top: 102.4px;
left: 0;
background-color: #461E0A;
color: white;
......@@ -116,6 +125,7 @@ body {
/* .sidebar-button:hover {
background-color: #2C1206;
color: white;
text-decoration: none;
} */
.sidebar p {
......@@ -135,9 +145,19 @@ body {
color: white;
}
.sidebar-hover {
background-color: #461E0A;
color: white;
text-decoration: none;
}
.sidebar-hover a:hover {
color: white;
}
.sidebar-hover:hover {
background-color: #2C1206;
color: white;
}
.icon-align {
......@@ -147,6 +167,8 @@ body {
.main {
margin-left: 85px;
margin-top: 130px;
width: 93%;
}
.search-and-add-cont {
......@@ -186,3 +208,12 @@ body {
background-color: #00802B;
color: white;
}
.content-wrap {
padding-bottom: 2.5rem;
}
.page-container {
position: relative;
/* min-height: 100vh; */
}
......@@ -156,3 +156,7 @@ input[type="radio"] {
margin-right: 15px;
margin-top: 50px;
}
.long-textbox {
width: 660px;
}
\ No newline at end of file
.top-cont {
margin: 30px 50px 0px;
}
body {
font-family: Helvetica;
}
.centercont {
margin: auto;
display: flex;
justify-content: center;
}
h2.bold {
margin-top: 30px;
font-weight: bold;
}
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"],
input[type="date"],
select,
textarea {
display: block;
width: 100%;
padding: 0.375rem 0.75rem;
font-size: 1rem;
font-weight: 400;
line-height: 1;
color: #212529;
background-color: #fff;
background-clip: padding-box;
border: 1px solid #ced4da;
border-radius: 0.25rem;
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
input[type="file"] {
width: 100%;
padding: 0.375rem 0.75rem;
font-size: 0.8rem;
font-weight: 400;
line-height: 1;
border-radius: 0.25rem;
margin-left: 25px;
}
input[type="radio"] {
padding: 0.375rem 0.75rem;
font-size: 0.8rem;
border-radius: 0.25rem;
margin-left: 25px;
margin-right: 5px;
transform: scale(1.5);
}
.top-cont {
margin: 30px 50px 0px;
}
.profile-info-cont {
margin-top: 30px;
}
.profile-info-form {
border: none;
}
/* button{
border-radius: 4px;
} */
.input-dimension input, select {
border: 1px solid black;
border-radius: 4px;
width: 60%;
}
.label-row {
width: 100%;
display: flex;
justify-content: space-between;
}
.label-row input, select {
display: flex;
width: 260px;
}
.input-row {
width: 100%;
display: flex;
width: 100%;
justify-content: space-evenly;
}
.text-input-grouping {
display: flex;
flex-direction: column;
}
.text-input-grouping span {
color: grey;
font-size: 13px;
font-style: italic;
}
.text-input-grouping p {
font-size: 18px;
}
.box {
width: 260px;
background-color: white;
height: 60px;
}
.sex-input {
width: 260px;
display: flex;
}
.sex-input input {
display: flex;
}
.sex-input label {
display: block;
margin: 0 auto;
width: 150px;
}
.sex-input input[type="radio"] {
line-height: 30px;
vertical-align: bottom;
width: 15px;
margin-left: 15px;
}
.button-cancel button {
border-radius: 4px;
border: 1px solid black;
padding: 5px 10px;
background-color: white;
width: max-content;
width: 200px;
/* margin-right: 15px; */
}
.button-save button {
border-radius: 4px;
border: 1px solid white;
padding: 5px 10px;
background-color: #00802B;
color: white;
width: max-content;
width: 200px;
margin-right: 15px;
}
.profile-options {
display: flex;
justify-content: end;
}
.bottom-cont {
margin-right: 15px;
margin-top: 50px;
display: flex;
align-items: flex-end;
}
.long-textbox {
width: 660px;
}
.vert-line {
border: 0.5px solid grey;
height: 80%;
width: 0.3px;
margin-top: 5px;
margin-bottom: 5px;
opacity: 50%;
}
.hori-line {
border: 0.5px solid grey;
width: 100%;
height: 0.3px;
margin-top: 15px;
}
.invisible-box {
border: 0.5px solid white;
background-color: white;
width: 260px;
height: 56px;
/* margin-top: 15px; */
}
.search-add-cont {
width: 560px;
display: flex;
align-items: left;
justify-content: space-between;
margin-bottom: 10px;
}
.search-and-add-cont button {
border-radius: 4px;
border: 1px solid black;
padding: 5px 10px;
}
.searchbar {
width: 75%;
/* padding-left: 30px; */
}
.searchbar input {
border-radius: 4px;
border: 1px solid black;
padding: 5px 10px;
/* margin-right: 20px; */
width: 350px;
height: 100%;
}
.position-buttons-cont {
display: flex;
justify-content: start;
}
.add-profile-button {
width: 200px;
height: 50px;
background-color: #00802B;
color: white;
border: none;
border-radius: 4px;
}
.add-button:hover {
background-color: #004316;
}
.participant-table-cont {
margin-top: 15px;
/* margin top not working */
overflow:hidden;
overflow-y: scroll;
width: 660px;
/* height: 340px; */
border-width: 5px;
}
.button-remove button {
border-radius: 4px;
border: 1px solid black;
padding: 5px 10px;
background-color: white ;
color: black;
width: max-content;
width: 100px;
margin-right: 15px;
}
.button-remove button:hover {
border: 1px solid white;
background-color: #8b0000 ;
color: white
}
#participant {
width: 100%;
margin-top: 15px;
height: 100%;
/* display: flex;
/* flex-direction: column; */
/* justify-content: space-between; */
}
#participant th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
background-color: #00802D;
color: white;
}
#participant td, #participant th {
border: 1px solid #ddd;
padding: 8px;
}
#participant td:nth-child(1) {
width:10%;
text-align: center;
}
#participant td:nth-child(3) {
border-left: unset;
width: 20%
}
#participant td:nth-child(2) {
border-right: unset;
width: 70%
}
#participant tr:nth-child(even){
background-color: #f2f2f2;
}
#participant tr:hover {
background-color: #ddd;
}
#td-align td{
display: flex;
/* flex-direction: column; */
justify-content: space-between;
}
.left-cont {
width: 660px;
height: auto;
margin-right: 10px;
}
#cell-remove button{
width: 200px;
border-left: 0px white;
align-items: end;
}
.table-cont {
height: 200px;
overflow:hidden;
overflow-y: scroll;
}
\ No newline at end of file
body {
font-family: Helvetica;
}
.centercont {
margin: auto;
display: flex;
justify-content: center;
}
h2.bold {
margin-top: 30px;
font-weight: bold;
}
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"],
input[type="date"],
select,
textarea {
display: block;
width: 100%;
padding: 0.375rem 0.75rem;
font-size: 1rem;
font-weight: 400;
line-height: 1;
color: #212529;
background-color: #fff;
background-clip: padding-box;
border: 1px solid #ced4da;
border-radius: 0.25rem;
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
input[type="file"] {
width: 100%;
padding: 0.375rem 0.75rem;
font-size: 0.8rem;
font-weight: 400;
line-height: 1;
border-radius: 0.25rem;
margin-left: 25px;
}
input[type="radio"] {
padding: 0.375rem 0.75rem;
font-size: 0.8rem;
border-radius: 0.25rem;
margin-left: 25px;
margin-right: 5px;
transform: scale(1.5);
}
.top-cont {
margin: 30px 50px 0px;
}
.profile-info-cont {
margin-top: 30px;
}
.profile-info-form {
border: none;
}
/* button{
border-radius: 4px;
} */
.input-dimension input, select {
border: 1px solid black;
border-radius: 4px;
width: 60%;
}
.label-row {
width: 100%;
display: flex;
justify-content: space-between;
}
.label-row input, select {
display: flex;
width: 260px;
}
.input-row {
width: 100%;
display: flex;
width: 100%;
justify-content: space-evenly;
}
.text-input-grouping {
display: flex;
flex-direction: column;
}
.box {
width: 260px;
background-color: white;
height: 60px;
}
.sex-input {
width: 260px;
display: flex;
}
.sex-input input {
display: flex;
}
.sex-input label {
display: block;
margin: 0 auto;
width: 150px;
}
.sex-input input[type="radio"] {
line-height: 30px;
vertical-align: bottom;
width: 15px;
margin-left: 15px;
}
.button-cancel button {
border-radius: 4px;
border: 1px solid black;
padding: 5px 10px;
background-color: white;
width: max-content;
width: 200px;
margin-right: 15px;
}
.button-save button {
border-radius: 4px;
border: 1px solid white;
padding: 5px 10px;
background-color: #00802B;
color: white;
width: max-content;
width: 200px;
}
.button-delete button {
border-radius: 4px;
border: 1px solid white;
padding: 5px 10px;
background-color: #8b0000 ;
color: white;
width: max-content;
width: 200px;
margin-right: 15px;
}
.profile-options {
display: flex;
justify-content: end;
}
.bottom-cont {
margin-right: 15px;
margin-top: 50px;
}
.long-textbox {
width: 660px;
}
.top-cont {
margin: 30px 50px 0px;
}
body {
font-family: Helvetica;
}
.centercont {
margin: auto;
display: flex;
justify-content: center;
}
h2.bold {
margin-top: 30px;
font-weight: bold;
}
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"],
input[type="date"],
select,
textarea {
display: block;
width: 100%;
padding: 0.375rem 0.75rem;
font-size: 1rem;
font-weight: 400;
line-height: 1;
color: #212529;
background-color: #fff;
background-clip: padding-box;
border: 1px solid #ced4da;
border-radius: 0.25rem;
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
input[type="file"] {
width: 100%;
padding: 0.375rem 0.75rem;
font-size: 0.8rem;
font-weight: 400;
line-height: 1;
border-radius: 0.25rem;
margin-left: 25px;
}
input[type="radio"] {
padding: 0.375rem 0.75rem;
font-size: 0.8rem;
border-radius: 0.25rem;
margin-left: 25px;
margin-right: 5px;
transform: scale(1.5);
}
.top-cont {
margin: 30px 50px 0px;
}
.profile-info-cont {
margin-top: 30px;
}
.profile-info-form {
border: none;
}
/* button{
border-radius: 4px;
} */
.input-dimension input,
select {
border: 1px solid black;
border-radius: 4px;
width: 60%;
}
.label-row {
width: 100%;
display: flex;
justify-content: space-between;
}
.label-row input,
select {
display: flex;
width: 260px;
}
.input-row {
width: 100%;
display: flex;
width: 100%;
justify-content: space-evenly;
}
.text-input-grouping {
display: flex;
flex-direction: column;
}
.text-input-grouping span {
color: grey;
font-size: 13px;
font-style: italic;
}
.text-input-grouping p {
font-size: 18px;
}
.box {
width: 260px;
background-color: white;
height: 60px;
}
.sex-input {
width: 260px;
display: flex;
}
.sex-input input {
display: flex;
}
.sex-input label {
display: block;
margin: 0 auto;
width: 150px;
}
.sex-input input[type="radio"] {
line-height: 30px;
vertical-align: bottom;
width: 15px;
margin-left: 15px;
}
.button-delete {
display: flex;
justify-content: end;
}
.button-delete button {
border: 1px solid white;
background-color: #8b0000;
color: white;
margin-top: 15px;
display: flex;
justify-content: center;
}
.button-dim button{
border-radius: 4px;
padding: 5px 10px;
width: 150px;
}
.button-cancel {
border: 1px solid black;
background-color: white;
/* margin-right: 15px; */
}
.button-save {
border: 1px solid white;
background-color: #00802b;
color: white;
margin-right: 15px;
}
.profile-options {
display: flex;
justify-content: end;
flex-direction: column;
}
.bottom-cont {
display: flex;
align-items: flex-end;
flex-grow: 1;
}
.long-textbox {
width: 660px;
}
.vert-line {
border: 0.5px solid grey;
height: 80%;
width: 0.3px;
margin-top: 5px;
margin-bottom: 5px;
opacity: 50%;
}
.hori-line {
border: 0.5px solid grey;
width: 100%;
height: 0.3px;
margin-top: 15px;
}
.invisible-box {
border: 0.5px solid white;
background-color: white;
width: 260px;
height: 56px;
/* margin-top: 15px; */
}
.search-add-cont {
width: 560px;
display: flex;
align-items: left;
justify-content: space-between;
margin-bottom: 10px;
}
.search-and-add-cont button {
border-radius: 4px;
border: 1px solid black;
padding: 5px 10px;
}
.searchbar {
width: 75%;
/* padding-left: 30px; */
}
.searchbar input {
border-radius: 4px;
border: 1px solid black;
padding: 5px 10px;
/* margin-right: 20px; */
width: 350px;
height: 100%;
}
.position-buttons-cont {
display: flex;
justify-content: start;
}
.add-profile-button {
width: 200px;
height: 50px;
background-color: #00802b;
color: white;
border: none;
border-radius: 4px;
}
.add-button:hover {
background-color: #004316;
}
.participant-table-cont {
margin-top: 15px;
/* margin top not working */
overflow: hidden;
overflow-y: scroll;
width: 660px;
/* height: 340px; */
border-width: 5px;
}
.button-remove button {
border-radius: 4px;
border: 1px solid black;
padding: 5px 10px;
background-color: white;
color: black;
width: max-content;
margin-right: 15px;
}
.button-remove button:hover {
border: 1px solid white;
background-color: #8b0000;
color: white;
}
#participant {
width: 100%;
margin-top: 15px;
height: 100%;
/* display: flex;
/* flex-direction: column; */
/* justify-content: space-between; */
}
#participant th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
background-color: #00802d;
color: white;
}
#participant td,
#participant th {
border: 1px solid #ddd;
padding: 8px;
}
#participant td:nth-child(1) {
width: 10%;
text-align: center;
}
#participant td:nth-child(3) {
border-left: unset;
width: 20%;
}
#participant td:nth-child(2) {
border-right: unset;
width: 70%;
}
#participant tr:nth-child(even) {
background-color: #f2f2f2;
}
#participant tr:hover {
background-color: #ddd;
}
#td-align td {
display: flex;
/* flex-direction: column; */
justify-content: space-between;
}
.left-cont {
width: 660px;
height: auto;
margin-right: 10px;
}
#cell-remove button {
width: 200px;
border-left: 0px white;
align-items: end;
}
.table-cont {
height: 200px;
overflow: hidden;
overflow-y: scroll;
}
@import url('https://unpkg.com/css.gg@2.0.0/icons/css/search.css');
body {
font-family: Helvetica ;
}
......@@ -19,7 +20,7 @@ body {
.searchbar {
width: 78%;
background: url(images/comment-author.gif) no-repeat scroll 7px 7px;
background: url("%images/search-icon.png%") top left no-repeat scroll 7px 7px;
padding-left: 30px;
}
......@@ -49,14 +50,17 @@ body {
}
.employee-table-cont {
margin-top: 15px;
/* margin top not working */
overflow:hidden;
overflow-y: scroll;
height: 350px;
height: 340px;
border-width: 5px;
}
#employee {
width: 91.5%;
margin-top: 30px;
margin-top: 15px;
margin-left: 50px;
height: 100%;
/* display: flex;
......
@import url('https://unpkg.com/css.gg@2.0.0/icons/css/search.css');
body {
font-family: Helvetica ;
}
.search-and-add-cont {
margin: 30px 50px 0px;
display: flex;
/* flex-direction: column; */
justify-content: space-between;
}
.search-and-add-cont button {
border-radius: 4px;
border: 1px solid black;
padding: 5px 10px;
}
.searchbar {
width: 78%;
background: url("%images/search-icon.png%") top left no-repeat scroll 7px 7px;
padding-left: 30px;
}
.searchbar input {
border-radius: 4px;
border: 1px solid black;
padding: 5px 10px;
margin-right: 20px;
width: 100%;
height: 100%;
}
.add-button {
border: none;
}
.add-profile-button {
width: 200px;
height: 50px;
background-color: #00802B;
color: white;
border: none;
border-radius: 4px;
}
.add-button:hover {
background-color: #004316;
}
.employee-table-cont {
margin-top: 15px;
overflow:hidden;
overflow-y: scroll;
height: 340px;
}
#employee {
width: 91.5%;
margin-top: 15px;
margin-left: 50px;
height: 100%;
/* display: flex;
/* flex-direction: column; */
/* justify-content: space-between; */
}
#employee th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
background-color: #00802D;
color: white;
}
#employee td, #employee th {
border: 1px solid #ddd;
padding: 8px;
}
#employee tr:nth-child(even){
background-color: #f2f2f2;
}
#employee tr:hover {
background-color: #ddd;
}
#employee td:nth-child(1) {
width: 5%;
text-align: center;
}
#employee td:nth-child(2) {
width: 65%;
}
#employee td:nth-child(3) {
border-right: unset;
width:15%;
}
#employee td:nth-child(5) {
/* display: flex; */
/* align-items: center; */
width: 15%;
}
.button-cont {
width: 100%;
display: flex;
justify-content: space-evenly;
align-items: center;
}
.button-save button {
border-radius: 4px;
border: 1px solid white;
padding: 5px 10px;
background-color: #00802B;
color: white;
width: max-content;
width: 100px;
margin-right: 10px;
}
.button-delete button {
border-radius: 4px;
border: 1px solid white;
padding: 5px 10px;
background-color: #8b0000 ;
color: white;
width: max-content;
width: 100px;
/* margin-right: 15px; */
}
\ No newline at end of file
body {
font-family: Helvetica ;
}
.centercont {
margin: auto;
display: flex;
justify-content: center;
}
.loginheader {
background-color: #00802B;
color: white;
text-transform: uppercase;
font-family: Helvetica, Arial, sans-serif;
}
.loginheader span {
font-size: 14px;
}
.headertextcontainer {
margin-top: 16px;
}
.login-logo {
margin: 20px;
}
.login-logo img {
width: 150px;
height: auto;
}
.column-direction {
flex-direction: column;
align-items: center;
}
.column-direction b {
font-size: 24px;
}
.login-input-align {
margin: 5px;
}
.login-input-align input {
border-radius: 8px;
border: 1px solid black;
padding: 5px 10px;
margin: 5px;
}
.login-box {
width: 200px;
}
.login-button {
width: 200px;
border: 1px solid white;
padding: 5px 10px;
margin-top: 10px;
font-weight: bold;
}
.login-borders {
border-radius: 4px;
}
.button-login {
background-color: #00802B;
color: white;
}
.button-cancel {
background-color: white;
border: 1px solid black;
}
.horizontal-align {
display: flex;
justify-content: space-between;
}
.sex-input {
width: 150px;
display: flex;
}
.sex-input input {
display: flex;
}
.sex-input label {
display: block;
}
.sex-inner {
display: flex;
flex-direction: row;
}
\ No newline at end of file
......@@ -21,14 +21,6 @@ body {
/* align-items: center; */
}
input[type="file"] {
display: none;
}
#file-upload{
display: none;
}
.cf-button {
width: 20%;
border-radius: 4px;
......@@ -43,8 +35,7 @@ input[type="file"] {
}
.upload-table-cont {
overflow:hidden;
overflow-y: scroll;
color: white;
height: 200px;
}
......
body {
font-family: Helvetica;
}
.employee-info-cont {
margin: 30px 50px 0px;
background-color: #00802d;
color: white;
width: 91.5%;
height: 100px;
margin-right: 50px;
border-radius: 4px;
padding: 5px 10px;
display: flex;
justify-content: space-between;
}
.employee-info-contact {
display: flex;
margin-right: 50px;
}
.employee-nameID {
display: flex;
height: 100%;
margin-left: 30px;
flex-direction: column;
width: 30%;
justify-content: center;
}
#ID {
background-color: white;
color: #00802d;
border-radius: 4px;
padding: 3px;
font-weight: bold;
}
/* .employee-info-contact {
display: flex;
flex-direction: column;
} */
.SBP {
display: flex;
height: 100%;
margin-left: 30px;
flex-direction: column;
justify-content: center;
}
.SBP h6 {
font-size: 16px;
margin: 0px;
}
.bold {
font-weight: bold;
}
.dashboard-options {
margin: 15px 50px 0px;
display: flex;
justify-content: space-between;
}
.print-out button {
border-radius: 4px;
border: 1px solid black;
padding: 5px 10px;
background-color: white;
width: max-content;
}
.print-out button:hover {
background-color: #ddd;
}
.select-range {
display: flex;
justify-content: space-between;
align-items: center;
}
.range-selected {
border-radius: 4px;
border: 1px solid black;
margin: 0px 5px;
padding: 5px 10px;
font-weight: bold;
background-color: white;
}
.range-selected:hover,
.range-selected:focus {
background-color: #00802b;
color: white;
}
.vert-line {
border: 0.5px solid grey;
height: 80%;
width: 0.3px;
margin-top: 5px;
margin-bottom: 5px;
opacity: 50%;
}
.seperator {
display: flex;
justify-content: center;
}
.hori-line {
border: 0.5px solid grey;
width: 91.5%;
height: 0.3px;
margin-top: 15px;
}
.main {
margin-left: 85px;
}
.search-and-add-cont {
margin: 15px 50px 0px;
display: flex;
/* flex-direction: column; */
justify-content: space-between;
}
.search-and-add-cont button {
border-radius: 4px;
border: 1px solid black;
padding: 5px 10px;
}
.searchbar {
width: 80%;
background: url("%images/search-icon.png%") top left no-repeat scroll 7px 7px;
}
.searchbar input {
border-radius: 4px;
border: 1px solid black;
padding: 5px 10px;
margin-right: 20px;
width: 100%;
height: 100%;
}
.productivity-table-cont {
margin-left: 85px;
margin-top: 15px;
}
.productivity-table {
width: 95%;
text-align: center;
}
.productivity-table th {
background-color: #a9deba;
margin-top: 15px;
padding-top: 12px;
padding-bottom: 12px;
}
.productivity-table td {
border-bottom: 1px solid #ddd;
border-right: 1px solid #ddd;
border-left: 1px solid #ddd;
padding: 8px;
}
.productivity-table tr:nth-child(even) {
background-color: #f2f2f2;
}
.productivity-table tr:hover {
background-color: #ddd;
}
/* kebab styling */
.kebab {
cursor: pointer;
position: relative;
display: inline-block;
box-sizing: border-box;
padding: 0 16px;
}
.kebab figure {
width: 6px;
height: 6px;
border-radius: 5px;
background: white;
margin: 3px 0;
}
.middle {
transition: all 0.25s cubic-bezier(0.72, 1.2, 0.71, 0.72);
transform: scale(1);
position: relative;
box-shadow: 0 0.1px 0.1px 0 rgba(0, 0, 0, 0.16),
0 0.1px 0.3px 0 rgba(0, 0, 0, 0.12);
-webkit-filter: blur(0.1px);
filter: blur(0.1px);
}
.middle.active {
transform: scale(4.5);
transition: all 0.25s cubic-bezier(0.32, 2.04, 0.85, 0.54);
box-shadow: 0 0.1px 0.1px 0 rgba(0, 0, 0, 0.16),
0 0.1px 0.3px 0 rgba(0, 0, 0, 0.12);
}
.cross {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) scale(0);
margin-top: -1px;
color: white;
transition: all 0.2s cubic-bezier(0.72, 1.2, 0.71, 0.72);
font-size: 22px;
user-select: none;
}
.cross.active {
transform: translate(-50%, -50%) scale(1);
transition: all 0.15s cubic-bezier(0.32, 2.04, 0.85, 0.54);
color: black;
}
h1 {
font-size: 26px;
background: white;
color: white;
padding: 40px 0 40px 20%;
margin-bottom: 50px;
}
a,
li {
color: darken(grey, 20%);
text-decoration: none;
}
.dropdown {
position: absolute;
right: 0;
top: 3em;
transition: all 0.25s ease-out;
transform: scale(0);
transform-origin: 100% 0;
/* box-shadow: $shadow; */
}
.dropdown ul:hover {
transform: scale(1);
}
.dropdown li {
display: block;
width: 100%;
}
.dropdown li:hover {
background-color: #ddd;
}
.dropdown a {
width: 100%;
padding: 1em 18px;
display: inline-block;
white-space: pre;
box-sizing: border-box;
color: black;
}
.dropdown a:hover {
background: darken(grey, 30%);
text-decoration: none;
}
.dropdown.active {
transform: scale(1);
transition: all 0.25s cubic-bezier(0.5, 1.8, 0.9, 0.8);
box-shadow: 2px 4px 0 rgba(0, 0, 0, 0.16), 0 2px 8px 0 rgba(0, 0, 0, 0.12);
background-color: white;
padding: 0px;
}
......@@ -3,20 +3,23 @@
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="{% static 'css/style.css' %}" />
<link
<!-- <link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css"
integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65"
crossorigin="anonymous"
/>
/> -->
<link rel="stylesheet" href="{% static 'css/base.css' %}" />
<link rel="stylesheet" href="{% static 'css/base.css' %}">
<link rel="stylesheet" href="{% static 'css/style.css' %}" />
<!-- <link rel="stylesheet" href="{% static 'css/loginpage.css' %}"> -->
<link rel = "icon" href = "{% static 'images/logo-circle.png' %}" type = "image/x-icon" >
<title>{% block title %}{% endblock %}</title>
</head>
<body>
<div class="page-container">
<!-- <div class="content-wrap"> -->
<div class="base-header">
<div class="base-header-align">
<div class="base-logo">
......@@ -36,10 +39,7 @@
<div class="user-identifier">
<p>
Signed in as:
<b
>Bo Caj
<!-- PUT INFO HERE --></b
>
<b>{{ request.session.username }}</b>
</p>
</div>
</div>
......@@ -47,17 +47,27 @@
<div class="sidebar">
<div class="sidebar-icon-placing sidebar-button">
<div>
<div class="sidebar-hover">
<a href="{% url 'home' %}">
<div class="icon-align sidebar-button">
<i class="gg-list"></i>
</div>
<p>Record List</p>
<p>Employee List</p>
</a>
</div>
<div class="sidebar-hover">
<a href="{% url 'positionlist' %}">
<div class="icon-align sidebar-button">
<i><img src="{% static 'images/position_list.png' %}" style="width: 30px;"></i>
</div>
<p>Position List</p>
</a>
</div>
<div class="sidebar-hover">
<a href="">
<a href="{% url 'create_emp_profile' %}">
<div class="icon-align sidebar-button">
<i class="gg-user-add"></i>
</div>
......@@ -87,6 +97,7 @@
</div>
<div class="main">{% block content %}{% endblock %}</div>
<!-- </div> -->
<script
src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.min.js"
integrity="sha384-cuYeSxntonz0PPNlHhBs68uyIAVpIIOZZ5JqeqvYYIcEL727kskC66kF92t6Xl2V"
......@@ -101,5 +112,6 @@
</script>
</p>
</footer>
</div>
</body>
</html>
......@@ -25,15 +25,14 @@
<div class="">
<div class="label-row">
<div class="text-input-grouping">
<label for="first-name" class="">First Name:</label>
<div class="">
<input type="text" class="" name="first-name" required />
</div>
</div>
<div class="text-input-grouping">
<label for="address" class="">Address:</label>
<div class="input-row">
<input type="text" name="address" required />
<label for="full-name" class="">Full Name:</label>
<div class="long-textbox">
<input
type="text"
style="width: 660px"
name="full-name"
required
/>
</div>
</div>
<div class="text-input-grouping">
......@@ -45,13 +44,6 @@
</div>
<div class="label-row">
<div class="text-input-grouping">
<label for="mid-name" class="">Middle Name:</label>
<div class="">
<input type="text" name="middle-name" required />
</div>
</div>
<div class="text-input-grouping">
<label for="bday">Birthday:</label>
<div class="">
......@@ -59,22 +51,6 @@
</div>
</div>
<div class="text-input-grouping">
<label for="emerg_num">Emergency Contact:</label>
<div class="tex">
<input type="tel" name="emerg-number" required />
</div>
</div>
</div>
<div class="label-row">
<div class="text-input-grouping">
<label for="last-name">Last Name:</label>
<div class="">
<input type="text" name="last-name" required />
</div>
</div>
<div class="text-input-grouping">
<label for="email" class="">Email:</label>
<div class="">
......@@ -83,21 +59,15 @@
</div>
<div class="text-input-grouping">
<label for="position" class="">Position:</label>
<div class="">
<select name="position">
<option value="" disabled selected>
Select a position
</option>
<option value="packager">Packager</option>
<option value="handler">Handler</option>
<option value="cutter">Cutter</option>
</select>
<label for="emerg_num">Emergency Contact:</label>
<div class="tex">
<input type="tel" name="emerg-number" required />
</div>
</div>
</div>
<div class="label-row">
<!-- sex & id -->
<div class="text-input-grouping" id="sex">
<label for="sex" class="">Sex:</label>
<div class="sex-input">
......@@ -127,6 +97,21 @@
</div>
</div>
<div class="text-input-grouping">
<label for="position" class="">Position:</label>
<div class="">
<select name="position_name">
<option value="" disabled selected>Select a position</option>
{% for position in positions %}
<option value="{{ position.position_name }}">{{ position.position_name }}</option>
{% endfor %}
</select>
</div>
</div>
</div>
</div>
<div class="label-row">
<div class="text-input-grouping">
<div class="box"></div>
</div>
......@@ -138,20 +123,10 @@
<div class="col-md-8"></div>
<div class="profile-options">
<div class="button-cancel">
<button
name="Save"
type="submit"
>
Cancel
</button>
<button name="Save" type="submit">Cancel</button>
</div>
<div class="button-save">
<button
name="Save"
type="submit"
>
Save Changes
</button>
<button name="Save" type="submit">Save Changes</button>
</div>
</div>
</div>
......
{% extends 'EmployeeProdDB/base.html' %} {% load static %} {% block content %}
<html lang="en">
<head>
<link rel="stylesheet" href="{% static 'css/style.css' %}" />
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css"
integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65"
crossorigin="anonymous"
/>
<link rel="stylesheet" href="{% static 'css/create_position.css' %}" />
</head>
<body>
<div class="top-cont">
<div class="header">
<h2 class="bold">Create Position</h2>
</div>
<main class="profile-info-cont">
<form method="POST" action="" class="profile-info-form input-dimension">
{% csrf_token %}
<div>
<div class="">
<div class="label-row">
<div class="text-input-grouping" id="name">
<label for="position-name" class="">Position Name:</label>
<div class="long-textbox">
<input type="text" name="position-name" required />
</div>
</div>
<div class="text-input-grouping" id="buttons">
<br />
<div class="profile-options">
<div class="button-save">
<button name="Save" type="submit">
<a href="{% url 'positionlist'%}" style="color: white"
>Save Changes</a
>
</button>
</div>
<div class="button-cancel">
<button name="Save" type="submit">
<a href="{% url 'positionlist'%}" style="color: black"
>Cancel</a
>
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</form>
<div class="large-filler"></div>
</main>
</div>
<div class="">
<div class="invisible-box"></div>
</div>
<script
src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.min.js"
integrity="sha384-cuYeSxntonz0PPNlHhBs68uyIAVpIIOZZ5JqeqvYYIcEL727kskC66kF92t6Xl2V"
crossorigin="anonymous"
></script>
</body>
{% endblock %}
</html>
{% extends 'EmployeeProdDB/base.html' %} {% load static %} {% block content %}
<html lang="en">
<head>
<link rel="stylesheet" href="{% static 'css/style.css' %}" />
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css"
integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65"
crossorigin="anonymous"
/>
<link rel="stylesheet" href="{% static 'css/edit_emp_profile.css' %}" />
<!-- <link rel="stylesheet" href="{% static 'css/create_emp_profile.css' %}" /> -->
</head>
<body>
<div class="top-cont">
<div class="header">
<h2 class="bold">Edit Profile</h2>
</div>
<main class="profile-info-cont">
<form method="POST" action="" class="profile-info-form input-dimension">
{% csrf_token %}
<div>
<div class="row g-0">
<div class="">
<div class="label-row">
<div class="text-input-grouping">
<label for="full-name" class="">Full Name:</label>
<div class="long-textbox">
<input
type="text"
style="width: 660px"
name="full-name"
required
/>
</div>
</div>
<div class="text-input-grouping">
<label for="phonenum" class="">Phone Number:</label>
<div class="input-row">
<input type="tel" name="phone-number" required />
</div>
</div>
</div>
<div class="label-row">
<div class="text-input-grouping">
<label for="bday">Birthday:</label>
<div class="">
<input type="date" name="birthday" />
</div>
</div>
<div class="text-input-grouping">
<label for="email" class="">Email:</label>
<div class="">
<input type="email" name="email" required />
</div>
</div>
<div class="text-input-grouping">
<label for="emerg_num">Emergency Contact:</label>
<div class="tex">
<input type="tel" name="emerg-number" required />
</div>
</div>
</div>
<div class="label-row">
<!-- sex & id -->
<div class="text-input-grouping" id="sex">
<label for="sex" class="">Sex:</label>
<div class="sex-input">
<input
type="radio"
id="male"
name="gender"
value="male"
required
/>
<label for="male">Male</label>
<input
type="radio"
id="female"
name="gender"
value="female"
required
/>
<label for="female">Female</label>
</div>
</div>
<div class="text-input-grouping">
<label for="id-num" class="">ID Number:</label>
<div class="">
<input type="text" name="id-num" required />
</div>
</div>
<div class="text-input-grouping">
<label for="position" class="">Position:</label>
<div class="">
<select name="position">
<option value="" disabled selected>
Select a position
</option>
<option value="packager">Packager</option>
<option value="handler">Handler</option>
<option value="cutter">Cutter</option>
</select>
</div>
</div>
</div>
<div class="label-row">
<div class="text-input-grouping">
<div class="box"></div>
</div>
</div>
</div>
</div>
<div class="bottom-cont">
<div class="col-md-8"></div>
<div class="profile-options">
<div class="button-cancel">
<button name="Save" type="submit">Cancel</button>
</div>
<div class="button-delete">
<button name="Delete" type="submit">
Delete Profile
</button>
</div>
<div class="button-save">
<button name="Save" type="submit">Save Changes</button>
</div>
</div>
</div>
<div class="row g-0" style="margin-top: 5px">
<div class="col-md-10"></div>
<div class="col-md-2"></div>
</div>
</div>
</form>
</main>
</div>
<script
src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.min.js"
integrity="sha384-cuYeSxntonz0PPNlHhBs68uyIAVpIIOZZ5JqeqvYYIcEL727kskC66kF92t6Xl2V"
crossorigin="anonymous"
></script>
</body>
{% endblock %}
</html>
{% extends 'EmployeeProdDB/base.html' %} {% load static %} {% block content %}
<html lang="en">
<head>
<link rel="stylesheet" href="{% static 'css/style.css' %}" />
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css"
integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65"
crossorigin="anonymous"
/>
<link rel="stylesheet" href="{% static 'css/create_position.css' %}" />
</head>
<body>
<div class="top-cont">
<div class="header">
<h2 class="bold">Edit Position</h2>
</div>
<main class="profile-info-cont">
<form
id="buttonform"
method="POST"
action=""
class="profile-info-form input-dimension"
>
{% csrf_token %}
<div>
<div class="">
<div class="label-row">
<div class="text-input-grouping" id="name">
<label for="position-name" class="">New Position Name:</label>
<div class="long-textbox">
<input type="text" name="position_name" required />
</div>
</div>
<div class="text-input-grouping" id="buttons">
<br />
<div class="profile-options">
<div class="button-save">
<button name="Save" type="submit">Save Changes</button>
</div>
<div class="button-cancel">
<button name="Cancel" type="submit">
<a href="{% url 'positionlist'%}" style="color: black"
>Cancel</a
>
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</form>
<div class="large-filler"></div>
</main>
</div>
<div class="">
<div class="invisible-box"></div>
</div>
<script
src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.min.js"
integrity="sha384-cuYeSxntonz0PPNlHhBs68uyIAVpIIOZZ5JqeqvYYIcEL727kskC66kF92t6Xl2V"
crossorigin="anonymous"
></script>
</body>
{% endblock %}
</html>
......@@ -14,6 +14,7 @@
/>
<link rel="stylesheet" href="{% static 'css/emp_record.css' %}" />
<title>Employee Record</title>
</head>
<body>
<div class="employee-info-cont">
......@@ -90,11 +91,6 @@
</button>
</div>
</div>
<div class="print-out">
<button type="submit" class="">
Print Out
</button>
</div>
</div>
<div class="seperator">
......
......@@ -9,53 +9,54 @@
integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65"
crossorigin="anonymous"
/>
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.2/css/all.min.css" rel="stylesheet"/>
<link
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.2/css/all.min.css"
rel="stylesheet"
/>
<link rel="stylesheet" href="{% static 'css/home.css' %}" />
<title>Home Page</title>
</head>
<body>
<div class="search-and-add-cont">
<div class="searchbar">
<input placeholder='&#xf002 Search Name' />
<form method="GET" action="{% url 'search_employees' %}">
<input type="text" name="search_query" placeholder="Search Name" />
</form>
</div>
<button type="submit"><i class="fa fa-search"></i></button>
<div class="add-button">
<button type="submit" class="add-profile-button">
Add Profile
<a href="{% url 'create_emp_profile' %}" style="color: white">
Add Employee
</a>
</button>
</div>
</div>
<!-- TABLE -->
<div class="employee-table-cont">
<table id="employee">
<tr>
<th>Summary Report No.</th>
<th>ID</th>
<th>Employee Name</th>
<th>Date</th>
<th>Productivity Score</th>
<th>Total Work Hours</th>
<th>Last Record Update</th>
<th>Position</th>
</tr>
{% for row in csv_data %}
{% for employee in employees %}
<tr>
<td>{{ row.sr_no}}</td>
<td>{{ row.employee_name}}</td>
<td>{{ row.prod_date}}</td>
<td>{{ row.prod_score }}</td>
<td>{{ row.totalworkhrs }}</td>
<!-- add more cells for additional fields -->
<td>{{ employee.employee_id }}</td>
<td>{{ employee.employee_name }}</td>
<td></td>
<td>{{ employee.position_id}}</td>
</tr>
{% endfor %}
</table>
</div>
<script
src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.min.js"
integrity="sha384-cuYeSxntonz0PPNlHhBs68uyIAVpIIOZZ5JqeqvYYIcEL727kskC66kF92t6Xl2V"
crossorigin="anonymous"
></script>
</body>
{% endblock %}
<!DOCTYPE html>
{% load static %}
<html lang="en">
<head>
<head>
<title>Login</title>
<link rel="stylesheet" href="{% static 'css/style.css' %}"/>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous">
<link rel="stylesheet" href="{% static 'css/loginpage.css' %}">
</head>
<body>
<link rel="stylesheet" href="{% static 'css/style.css' %}" />
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css"
integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65"
crossorigin="anonymous"
/>
<link rel="stylesheet" href="{% static 'css/loginpage.css' %}" />
<link
rel="icon"
href="{% static 'images/logo-circle.png' %}"
type="image/x-icon"
/>
</head>
<body>
<div class="loginheader centercont">
<div class="headertextcontainer">
<span>Thousand Oaks Packaging Corporation</span>
......@@ -20,33 +29,60 @@
<div class="centercont column-direction">
<div class="login-logo">
<a href="#"><img src="{% static 'images/topc_logo.jpg' %}" class="img logo rounded-circle"></a>
<a href="#"
><img
src="{% static 'images/topc_logo.jpg' %}"
class="img logo rounded-circle"
/></a>
</div>
<b>Log In</b>
<div class="login-box centercont">
<form method="POST" action="{% url 'loginpage' %}">{% csrf_token %}
<form method="POST" action="{% url 'loginpage' %}">
{% csrf_token %}
<div class="login-input-align">
<div class="form-group has-feedback">
<input type="text" name="username" id="username" placeholder="Enter Username">
<input
type="text"
name="username"
id="username"
placeholder="Enter Username"
/>
</div>
<div class="form-group has-feedback">
<input type="password" name="password" id="password" placeholder="Enter Password">
<input
type="password"
name="password"
id="password"
placeholder="Enter Password"
/>
</div>
</div>
<!-- <input type="submit"> -->
<div class="centercont column-direction">
<button type="submit" class="login-button login-borders button-login">Continue</button>
<button type="submit" class="login-button login-borders button-cancel">Cancel</button>
<button
type="submit"
class="login-button login-borders button-login"
>
<a href="{% url 'home' %}" style="color: black">Continue</a>
</button>
<button
type="submit"
class="login-button login-borders button-cancel"
>
<a href="{% url 'signin' %}" style="color: black">Cancel</a>
</button>
</div>
</form>
</div>
</div>
{% endblock content %}
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.min.js" integrity="sha384-cuYeSxntonz0PPNlHhBs68uyIAVpIIOZZ5JqeqvYYIcEL727kskC66kF92t6Xl2V" crossorigin="anonymous"></script>
</body>
<script
src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.min.js"
integrity="sha384-cuYeSxntonz0PPNlHhBs68uyIAVpIIOZZ5JqeqvYYIcEL727kskC66kF92t6Xl2V"
crossorigin="anonymous"
></script>
</body>
</html>
{% extends 'EmployeeProdDB/base.html' %} {% load static %} {% block content %}
<head>
<title>Login</title>
<link rel="stylesheet" href="{% static 'css/style.css' %}" />
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css"
integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65"
crossorigin="anonymous"
/>
<link
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.2/css/all.min.css"
rel="stylesheet"
/>
<link rel="stylesheet" href="{% static 'css/positionlist.css' %}" />
<title>Home Page</title>
</head>
<body>
<div class="search-and-add-cont">
<div class="searchbar">
<form method="GET">
<input
type="text"
name="q"
placeholder="Search Position"
value="{{ request.GET.q }}"
/>
</form>
</div>
<button type="submit"><i class="fa fa-search"></i></button>
<div class="add-button">
<button type="submit" class="add-profile-button">
<a href="{% url 'create_position' %}" style="color: white">
Add Position
</a>
</button>
</div>
</div>
<!-- TABLE -->
<div class="employee-table-cont">
<table id="employee">
<tr>
<th>ID</th>
<th>Position</th>
<th></th>
</tr>
{% for position in positions %}
<tr>
<td>{{ position.position_id }}</td>
<td>{{ position.position_name }}</td>
<td>
<div class="button-cont">
<div class="button-save">
<button>
<a
href="{% url 'edit_position' position_id=position.position_id %}"
style="color: white"
>Edit</a
>
</button>
</div>
<div class="button-delete">
<form method="post" class="delete-form">
{% csrf_token %}
<input
type="hidden"
name="position_id"
value="{{ position.position_id }}"
/>
<button type="button" onclick="confirmDelete(this)">
Delete
</button>
</form>
</div>
</div>
</td>
</tr>
{% endfor %}
</table>
</div>
<script>
function confirmDelete(button) {
if (confirm("Are you sure you want to delete this position?")) {
button.form.submit();
}
}
</script>
<script
src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.min.js"
integrity="sha384-cuYeSxntonz0PPNlHhBs68uyIAVpIIOZZ5JqeqvYYIcEL727kskC66kF92t6Xl2V"
crossorigin="anonymous"
></script>
</body>
{% endblock %}
......@@ -6,6 +6,7 @@
<link rel="stylesheet" href="{% static 'css/style.css' %}"/>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous">
<link rel="stylesheet" href="{% static 'css/signin.css' %}">
<link rel = "icon" href = "{% static 'images/logo-circle.png' %}" type = "image/x-icon" >
</head>
<body>
......
<!DOCTYPE html>
{% load static %}
<!doctype html>
<html lang="en">
<head>
<title> Sign up </title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Poppins:300,400,500,600,700,800,900">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="{% static 'css/style_signup.css' %}">
<link rel="stylesheet" href="{% static 'css/bootstrap-4.1.3-dist/css/bootstrap.css' %}">
<link rel="icon" href="{% static 'images/halalan_2022_logo.png' %}" sizes="9x16">
<title>Login</title>
<link rel="stylesheet" href="{% static 'css/style.css' %}"/>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous">
<link rel="stylesheet" href="{% static 'css/signup.css' %}">
<link rel = "icon" href = "{% static 'images/logo-circle.png' %}" type = "image/x-icon" >
</head>
<body>
<section class="h-100 gradient-form" style="background-color: #eee;">
<div class="container py-5 h-100">
<div class="row d-flex justify-content-center align-items-center h-100">
<div class="col-xl-10">
<div class="card rounded-3 text-black">
<div class="row g-0">
<div class="col-lg-6">
<div class="card-body p-md-5 mx-md-4">
<div class="text-center">
<img src="{% static 'images/halalan_2022_logo.png' %}" style="width: 150px;" alt="logo">
<div class="loginheader centercont">
<div class="headertextcontainer">
<span>Thousand Oaks Packaging Corporation</span>
<h2>Employee Performance</h2>
</div>
{% include 'EmployeeProdDB/messages.html' %}
<div class="row">
{% block content %}
{% endblock %}
</div>
<form method="POST" action="{% url 'signup' %}">{% csrf_token %}
<h5 class="mb-4" style="font-family:'Poppins';">Sign up</h5>
<!-- {% block content %} -->
<label class="form-label" for="username" style="font-family:'Poppins';">Username: </label>
<input class ="form-control" type="text" name="username" id="username" placeholder="Enter username@email.com" Required>
<br>
<label class="form-label" for="password" style="font-family:'Poppins';">Password: </label>
<input class ="form-control" type="password" name="password" id="password" minlength="8" placeholder="Enter Password (min. 8 characters)" Required>
<br>
<label class="form-label" for="confirm_password" style="font-family:'Poppins';">Confirm Password: </label>
<input class ="form-control" type="password" name="confirm_password" id="confirm_password" minlength="8" placeholder="Confirm Password" Required>
<br>
<label class="form-label" for="first_name" style="font-family:'Poppins';">First name: </label>
<input class ="form-control" type="text" name="first_name" id="first_name" placeholder="Enter Firstname" Required>
<br>
<label class="form-label" for="last_name" style="font-family:'Poppins';">Last name: </label>
<input class ="form-control" type="text" name="last_name" id="last_name" placeholder="Enter Lastname" Required>
<br>
<label class="form-label" for="birthday" style="font-family:'Poppins';">Birthday: </label>
<input class ="form-control" type="text" name="birthday" id="birthday" placeholder= "format (yyyy-mm-dd)" Required>
<br>
<label class="form-label" for="sex" style="font-family:'Poppins';">Sex: </label>
<input class ="form-control" type="text" name="sex" id="sex" placeholder="Enter sex" Required>
<br>
<div class="text-center">
<button id=signupbtn class="btn btn-success btn-block fa-lg gradient-custom-2 mb-3" type="submit" style="font-family:'Poppins';">Submit</button>
<div class="centercont column-direction">
<div class="login-logo">
<a href="#"><img src="{% static 'images/topc_logo.jpg' %}" class="img logo rounded-circle"></a>
</div>
</form>
<b>Sign Up</b>
<div class="text-center">
<a href="{% url 'loginpage' %}"><button class="btn btn-primary btn-block fa-lg gradient-custom-2 mb-3" style="font-family:'Poppins';">Go back to Login</button></a>
</div>
<div class="login-box centercont">
<form method="POST" action="{% url 'signup' %}">{% csrf_token %}
<div class="login-input-align">
<div class="form-group has-feedback horizontal-align">
<input type="text" name="name" id="name" placeholder="Enter Full Name">
<input type="text" name="username" id="username" placeholder="Enter Username">
</div>
<div class="form-group has-feedback horizontal-align">
<input type="password" name="password" id="password" placeholder="Enter Password">
<input type="password" name="confirm_password" id="confirm_password" placeholder="Re-enter Password">
</div>
<div class="col-lg-6 d-flex align-items-center gradient-custom-2">
<div class="text-white px-3 py-4 p-md-5 mx-md-4"><img src="{% static 'images/topc_logo.png' %}" style="width: 300px;">
</div>
</div>
</div>
</div>
<!-- <input type="submit"> -->
<div class="centercont column-direction">
<button type="submit" class="login-button login-borders button-login">Continue</button>
<button type="submit" class="login-button login-borders button-cancel"><a href="{% url 'signin' %}" style="color: black">Cancel</a></button>
</div>
</form>
</div>
</div>
</section>
{% endblock content %}
<script src="{% static 'css/bootstrap-4.1.3-dist/js/bootstrap.min.js' %}"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.min.js" integrity="sha384-cuYeSxntonz0PPNlHhBs68uyIAVpIIOZZ5JqeqvYYIcEL727kskC66kF92t6Xl2V" crossorigin="anonymous"></script>
</body>
</html>
\ No newline at end of file
......@@ -14,75 +14,36 @@
<link rel="stylesheet" href="{% static 'css/upload_csv.css' %}" />
<title>Home Page</title>
</head>
<body>
<div class="top-cont">
<h1 clas="choose-file">Choose file</h1>
<div class="secondline">
<!-- <button type="file" name="csv_file" accept=".csv">Choose File</button> -->
<form method="post" enctype="multipart/form-data" action="{% url 'upload_csv' %}">
{% csrf_token %}
<label for="file">Choose a file to upload:</label>
<input type="file" name="file" id="file">
<input type="submit" value="Upload">
</form>
<!-- <label for="csv_file">Upload a CSV file:</label> -->
<!-- <input type="file" class="cf-button" name="csv_file" accept=".csv"> -->
<!-- <input type="submit" value="Upload"> -->
<!-- <label for="file">Upload File</label> -->
<div class="top-cont">
<h1 class="choose-file">Choose file</h1>
<div class="secondline">
<textarea readonly></textarea>
<input type="file" name="file" id="file" class=""/>
<!-- <label for="file"></label> -->
<!-- <label for="file" class="custom-file-upload">
Custom Upload
</label>
<input id="file" type="file"/> -->
</div>
</div>
<div class="upload-table-cont top-cont">
<table id="input-file">
<!-- CHANGE TO FOR LOOP -->
<tr>
<td class="file-name">askjdfhasdf.csv</td>
<td><button type="submit" class="remove-button">Remove</button></td>
</tr>
<tr>
<td class="file-name">askjdfhasdf.csv</td>
<td><button type="submit" class="remove-button">Remove</button></td>
</tr>
<tr>
<td class="file-name" >askjdfhasdf.csv</td>
<td><button type="submit" class="remove-button">Remove</button></td>
</tr> <tr>
<td class="file-name" >askjdfhasdf.csv</td>
<td><button type="submit" class="remove-button">Remove</button></td>
</tr> <tr>
<td class="file-name" >askjdfhasdf.csv</td>
<td><button type="submit" class="remove-button">Remove</button></td>
</tr> <tr>
<td class="file-name" >askjdfhasdf.csv</td>
<td><button type="submit" class="remove-button">Remove</button></td>
</tr> <tr>
<td class="file-name" >askjdfhasdf.csv</td>
<td><button type="submit" class="remove-button">Remove</button></td>
</tr> <tr>
<td class="file-name" >askjdfhasdf.csv</td>
<td><button type="submit" class="remove-button">Remove</button></td>
</tr> <tr>
<td class="file-name" >askjdfhasdf.csv</td>
<td><button type="submit" class="remove-button">Remove</button></td>
</tr> <tr>
<td class="file-name" >askjdfhasdf.csv</td>
<td><button type="submit" class="remove-button">Remove</button></td>
</tr> <tr>
<td class="file-name" >askjdfhasdf.csv</td>
<td><button type="submit" class="remove-button">Remove</button></td>
</tr> <tr>
<td class="file-name" >askjdfhasdf.csv</td>
<td><button type="submit" class="remove-button">Remove</button></td>
</tr> <tr>
<td class="file-name" >askjdfhasdf.csv</td>
<td><button type="submit" class="remove-button">Remove</button></td>
</tr>
</table>
</div>
<div class="button-cont top-cont">
<button type="submit" class="cancel-button">Cancel</button>
<button type="submit" class="confirm-button" value="Upload">Confirm</button>
</form>
<input type="submit" value="Confirm" class="confirm-button">
</div>
</form>
</body>
{% endblock %}
\ No newline at end of file
{% extends 'EmployeeProdDB/base.html' %} {% load static %} {% block content %}
<head>
<link rel="stylesheet" href="{% static 'css/style.css' %}" />
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css"
integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65"
crossorigin="anonymous"
/>
<link
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.2/css/all.min.css"
rel="stylesheet"
/>
<link rel="stylesheet" href="{% static 'css/view_all_productivity.css' %}" />
<title>Employee Record</title>
</head>
<body>
<div class="employee-info-cont">
<div class="employee-nameID">
<h4 class="bold">March Leighton Chua</h4>
<div>
<span id="ID">ID# 1</span>
<span>Dataset: 44 Reports</span>
</div>
</div>
<div class="employee-info-contact">
<div class="SBP">
<h6>
Sex:
<span class="bold"> Male<!-- IMPORT INFO HERE --> </span>
</h6>
<h6>
Birthday:
<span class="bold"> 4/3/2023<!-- IMPORT INFO HERE --> </span>
</h6>
<h6>
Position: <span class="bold"> Leader<!-- IMPORT INFO HERE --> </span>
</h6>
</div>
<div class="SBP">
<h6>
Phone Number:
<span class="bold"> 098765143223<!-- IMPORT INFO HERE --> </span>
</h6>
<h6>
Email:
<span class="bold">
march.chua@obf.ateneo.edu<!-- IMPORT INFO HERE -->
</span>
</h6>
<h6>
Emergency Contact:
<span class="bold"> 0912344567<!-- IMPORT INFO HERE --> </span>
</h6>
</div>
<div class="SBP">
<div class="kebab">
<figure></figure>
<figure class="middle"></figure>
<p class="cross">x</p>
<figure></figure>
<ul class="dropdown">
<li><a href="#">View all Productivity Reports</a></li>
<li><a href="#">Edit User Profile</a></li>
</ul>
</div>
</div>
</div>
</div>
<div class="search-and-add-cont">
<div class="searchbar">
<input placeholder="Search Name" />
</div>
<div class="add-button">
<button type="submit" class="add-profile-button">Import File</button>
</div>
</div>
<div class="seperator">
<div class="hori-line"></div>
</div>
<div class="productivity-table-cont">
<h2>variable.name</h2>
<table class="productivity-table">
<tr>
<th>Report Number</th>
<th>Date</th>
<th>Duration</th>
<th>Process</th>
<th>Status</th>
<th>Productivity Score</th>
</tr>
<tr>
<td>1</td>
<td>Juan Dela Cruz</td>
<td>Jan 12, 2022</td>
<td>Packager</td>
<td>Juan Dela Paz</td>
<td>69.9%</td>
</tr>
<tr>
<td>1</td>
<td>Juan Dela Cruz</td>
<td>Jan 12, 2022</td>
<td>Packager</td>
<td>Juan Dela Paz</td>
<td>69.9%</td>
</tr>
<tr>
<td>1</td>
<td>Juan Dela Cruz</td>
<td>Jan 12, 2022</td>
<td>Packager</td>
<td>Juan Dela Paz</td>
<td>69.9%</td>
</tr>
<tr>
<td>1</td>
<td>Juan Dela Cruz</td>
<td>Jan 12, 2022</td>
<td>Packager</td>
<td>Juan Dela Paz</td>
<td>69.9%</td>
</tr>
</table>
</div>
<!-- EXTEND CHART JS AND REMARKS PAGE HEREHERE HERE HERE HERE -->
<!-- DUNNO HOW TO EXTEND ANOTHER HTML HERE -->
<script>
const kebab = document.querySelector('.kebab');
const middle = document.querySelector('.middle');
const cross = document.querySelector('.cross');
const dropdown = document.querySelector('.dropdown');
kebab.addEventListener('click', () => {
middle.classList.toggle('active');
cross.classList.toggle('active');
dropdown.classList.toggle('active');
})
</script>
</body>
{% endblock %}
......@@ -4,16 +4,20 @@ from . import views
urlpatterns = [
path('admin/', admin.site.urls),
path('', views.signin, name='signin'),
path('login/', views.loginpage, name='loginpage'),
path('home/', views.home, name='home'),
path('upload_csv/', views.upload_csv, name = 'upload_csv'),
path('show_csv_data/', views.show_csv_data, name ='show_csv_data'),
path('signup/', views.signup, name='signup'),
path('show_csv_data2/', views.show_csv_data2, name='show_csv_data2'),
path('chart_template/', views.chart_template, name='chart_template'),
# path('', views.login_page, name='loginpage'),
path('', views.signin, name='signin'),
path('emp_record/', views.emp_record, name='emp_record'),
path('create_profile/' ,views.create_emp_profile, name='create_emp_profile')
path('create_profile/' ,views.create_emp_profile, name='create_emp_profile'),
path('edit_profile/', views.edit_emp_profile, name='edit_emp_profile'),
path('positionlist/', views.positionlist, name='positionlist'),
path('create_position/', views.create_position, name='create_position'),
path('edit_position/<int:position_id>/', views.edit_position, name='edit_position'),
path('view_all_productivity/', views.view_all_productivity, name='view_all_productivity'),
path('search/', views.search_employees, name='search_employees'),
]
\ No newline at end of file
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment