From e6824e7913c4fae40103c4c00e07c783df0ff1dd Mon Sep 17 00:00:00 2001 From: nataly Date: Fri, 5 Jan 2024 15:36:00 +0200 Subject: [PATCH] New changes. --- osinaweb/db.sqlite3 | Bin 602112 -> 606208 bytes .../__pycache__/views.cpython-311.pyc | Bin 51229 -> 51229 bytes .../osinaweb/__pycache__/urls.cpython-311.pyc | Bin 10199 -> 10199 bytes osinaweb/static/dist/output.css | 37 ++++- .../templates/add_pages/create-project.html | 2 +- .../add_pages/createtask-project.html | 2 +- .../details_pages/project-details.html | 8 +- .../templates/listing_pages/businesses.html | 105 +++++++------ .../templates/listing_pages/customers.html | 140 +++++++++--------- .../listing_pages/daily-reports.html | 14 +- .../listing_pages/project-types.html | 60 ++++---- .../templates/listing_pages/projects.html | 137 +++++++++-------- .../templates/listing_pages/references.html | 84 ++++++----- .../listing_pages/staff-positions.html | 60 ++++---- osinaweb/templates/listing_pages/staffs.html | 89 +++++------ osinaweb/templates/listing_pages/tags.html | 60 ++++---- osinaweb/templates/listing_pages/tasks.html | 134 +++++++++++------ osinaweb/templates/main.html | 2 +- 18 files changed, 531 insertions(+), 403 deletions(-) diff --git a/osinaweb/db.sqlite3 b/osinaweb/db.sqlite3 index 5920e5243b78d7a25eb18b616ade546503164667..703801d6f70de7f49df98ab6af82b3e4e459869d 100644 GIT binary patch delta 12047 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 delta 1480 zcmZuxZ%kWN6u#?-+PAw6$%szXuxFDmO@)Z!5^Ma2P|P zp@VIHkSG(DoAE*M0}D|WxA5m-VkXh}K^8Ki$v&8oZ7_v69Cevfw>iA8Olqe0ymQ{o zdFOZj-E&_&{z&}t!$Y}hJwj-haVcZ|Sg9Y^pV^n#g~j2y_`#6Yzm$NvTmU$eZR@)jO7> z${*^Wc2ApzsIp({kjLe? zv!5j%b2>F8a4Ri3%_pWBoO2SNPwFroIxgnu?%R0jjUtx2u?XWZ%tBD0lvB4dGIOl-zZHH0!7=lBLufjI=%b!CY=3C9{F z+Vwuq(=RS@&k-y1QPX9vn0apk+PBFa$q`@~!JlvguEAAUhUpYBqZ2^&Ev~>Mv4D?a znJ#Z}CFu&BMQ{gh!LP6ZSKtEtG?PunQjxv_QlF=&)dbGLacBmoc18PCt5R>Or?f7$ zN3EU;b!DkMcg|+hs~zN9?!mMkBS)BOl$zYc$g~T#EBLU69ANs7si`)pfAhY6d=Cje zSjG(O5c4n!bS_BpO_EVZDW=OoQo;}`2yVkoxDM;E0`nQ<7)>%qT-@gfzaAq1!36|iU%nqIh1 zD3;iOrHPd-f{JXm5=Vh7<7PRxCw#EyAFeevuGU!8AE*j=*ow47dczfdx0|K~xzfr# z>|{}*5%!MthHKlRp-88ZM0tSGj+;D>FW__gyyaDHx6kkD=nA(rau#H_ z`W*!rWB=|@PpGrEu7!@toXzU@c&dDUuXhJd=Yw2!Ekcdhg0k$}7|+Y0&Peo`WcY)| zb~}?)2CNMpqYo)B*Mgi~OSbkT%)%n9!3aCiet6PKO0dzrofZl}it)di!aqbj_`gLG zJMrUW&bzp5;+Ow753?~8#(CalS1AEM!&MgayZbY}9^>+Kc9riIWU9=ysRhIy5JJ`b|-M-UA$ym2Wz+sq$E+7Ifq@}8yL zTrcODZi!36C;VYHW9_`uU+fiL9B8T=PE0u8nH&)roAk*MsVP^~N|8_WQqyTE%51+B zbnmR>l^obe{{UONV`UvO$}PmG5IJ5;9$2|Pa8^20N1l=fXH4?j9K%VXJ}AjOC4U2p CBCn4C diff --git a/osinaweb/osinacore/__pycache__/views.cpython-311.pyc b/osinaweb/osinacore/__pycache__/views.cpython-311.pyc index eceaf45d91c2710d64154be1bfa51ad11cdb18ab..205ed401503e9f33057b5ed5452834daa05a7529 100644 GIT binary patch delta 22 ccmbO`fqCu(X71&@yj%=GAo+g!MsA@K07&-+YybcN delta 22 ccmbO`fqCu(X71&@yj%=G@ZWpdMsA@K083;BtpET3 diff --git a/osinaweb/osinaweb/__pycache__/urls.cpython-311.pyc b/osinaweb/osinaweb/__pycache__/urls.cpython-311.pyc index 8215dd6255ebe1275591e9788f2bf2546f5b0399..cbef19a4178de84d8995abe6d763bd5d49f49692 100644 GIT binary patch delta 20 acmccaf8C#ZIWI340}y1toxYL#j5+{Ed :not([hidden]) ~ :not([hidden]) { + --tw-divide-y-reverse: 0; + border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))); + border-bottom-width: calc(1px * var(--tw-divide-y-reverse)); +} + +.divide-gray-200 > :not([hidden]) ~ :not([hidden]) { + --tw-divide-opacity: 1; + border-color: rgb(229 231 235 / var(--tw-divide-opacity)); +} + .overflow-hidden { overflow: hidden; } @@ -1325,6 +1332,11 @@ video { border-color: rgb(21 128 61 / var(--tw-border-opacity)); } +.border-orange-500 { + --tw-border-opacity: 1; + border-color: rgb(249 115 22 / var(--tw-border-opacity)); +} + .border-orange-700 { --tw-border-opacity: 1; border-color: rgb(194 65 12 / var(--tw-border-opacity)); @@ -1405,6 +1417,11 @@ video { background-color: rgb(156 163 175 / var(--tw-bg-opacity)); } +.bg-gray-50 { + --tw-bg-opacity: 1; + background-color: rgb(249 250 251 / var(--tw-bg-opacity)); +} + .bg-gray-500 { --tw-bg-opacity: 1; background-color: rgb(107 114 128 / var(--tw-bg-opacity)); @@ -1733,6 +1750,10 @@ video { text-transform: uppercase; } +.leading-8 { + line-height: 2rem; +} + .text-blue-500 { --tw-text-opacity: 1; color: rgb(59 130 246 / var(--tw-text-opacity)); diff --git a/osinaweb/templates/add_pages/create-project.html b/osinaweb/templates/add_pages/create-project.html index d95a091d..867f88da 100644 --- a/osinaweb/templates/add_pages/create-project.html +++ b/osinaweb/templates/add_pages/create-project.html @@ -18,7 +18,7 @@ class="w-full h-[50px] py-1 px-3 border border-gray-300 outline-none rounded-md text-gray-500"> {% for customer in customers %} - + {% endfor %} diff --git a/osinaweb/templates/add_pages/createtask-project.html b/osinaweb/templates/add_pages/createtask-project.html index 9e05c583..2cf31093 100644 --- a/osinaweb/templates/add_pages/createtask-project.html +++ b/osinaweb/templates/add_pages/createtask-project.html @@ -43,7 +43,7 @@ class="w-full h-[50px] py-1 px-3 border border-gray-300 outline-none rounded-md text-gray-500"> {% for staff in staffs %} - + {% endfor %} diff --git a/osinaweb/templates/details_pages/project-details.html b/osinaweb/templates/details_pages/project-details.html index 1f56fe68..5a65ced2 100644 --- a/osinaweb/templates/details_pages/project-details.html +++ b/osinaweb/templates/details_pages/project-details.html @@ -128,13 +128,13 @@

Client: {{project.customer.first_name}} - {{project.customer.last_name}}

+ class="text-slate-800 text-xl font-semibold">{{project.customer.user.first_name}} + {{project.customer.user.last_name}}

Project Manager: {{project.manager.first_name}} + class="text-slate-800 text-xl font-semibold">{{project.manager.user.first_name}} {{project.manager.last_name}}

@@ -143,7 +143,7 @@

Member(s): {% for member in project.members.all %} - {{member.first_name}} {{member.last_name}} {% if not forloop.last %}, {% endif %} + {{member.user.first_name}} {{member.user.last_name}} {% if not forloop.last %}, {% endif %} {% endfor %}

diff --git a/osinaweb/templates/listing_pages/businesses.html b/osinaweb/templates/listing_pages/businesses.html index 964a230f..31ef27a6 100644 --- a/osinaweb/templates/listing_pages/businesses.html +++ b/osinaweb/templates/listing_pages/businesses.html @@ -81,58 +81,69 @@ -
-
- -
-
-

Name

-
-
-

Business Type

-
-
-

Financial number

-
-
-

Actions

-
-
- -
- +
+ + + + + + + + + + + + + + {% for business in businesses %} -
-
-

{{business.name}}

-
-
-

{{business.business_type}}

-
-
-

{{business.financial_number}}

-
-
+ + + + + + + + {% endfor %} - - - + +
+ Name + + Business Type + + Financial Number + + Actions +
+

{{business.name}}

+
+

{{business.business_type}}

+
+

{{business.financial_number}}

+
+
+ +
+ +
+
+ +
+ +
+
+
+
- -
-
-
- +
diff --git a/osinaweb/templates/listing_pages/customers.html b/osinaweb/templates/listing_pages/customers.html index 23d2b28f..741dbe39 100644 --- a/osinaweb/templates/listing_pages/customers.html +++ b/osinaweb/templates/listing_pages/customers.html @@ -66,7 +66,8 @@
-
@@ -80,86 +81,93 @@
-
-
+
+ -
-
-

First Name

-
-
-

Last Name

-
-
-

User

-
-
-

Status

-
-
-

Business

-
-
- Actions -
-
+ + + + + + + + + -
- {% for customer in customers %} +
-
-
-

{{customer.user.first_name}}

-
-
-

{{customer.user.last_name}}

-
-
-

{{customer.user.username}}

-
+ {% for customer in customers %} +
+ + + + {% if customer.status == 'Active' %} -
+
{% endif %} + {% if customer.status == 'Terminated' %} -
+
{% endif %} + {% if customer.status == 'Suspended' %} -
+
{% endif %} -
-

{{customer.business}}

-
- + + + {% endfor %} - - - + +
+ Customer + + User + + Status + + Business + + Actions +
+

{{customer.user.first_name}} + {{customer.user.last_name}}

+
+

{{customer.user.username}}

+

{{customer.status}}

- +

{{customer.status}}

- +

{{customer.status}}

- +
+

{{customer.business}}

+
+
+ +
+ +
+
+ + +
+ +
+
+ +
+
- -
-
-
- +
@@ -168,7 +176,7 @@

USERS ACTIVITY

- {% include 'recent-activities.html' %} + {% include 'recent-activities.html' %}
diff --git a/osinaweb/templates/listing_pages/daily-reports.html b/osinaweb/templates/listing_pages/daily-reports.html index c99e0d47..714b9bab 100644 --- a/osinaweb/templates/listing_pages/daily-reports.html +++ b/osinaweb/templates/listing_pages/daily-reports.html @@ -89,7 +89,8 @@ class="w-full flex justify-between items-center h-[60px] border-b border-gray-300 rounded-t-md">

Report By {{report.staff.first_name}} {{report.staff.last_name}} On {{report.staff.user.first_name}} + {{report.user.staff.last_name}} On {{report.date}}

@@ -98,11 +99,8 @@
-
-

- {{report.text}} -

+
+ {{ report.text|linebreaks }}
@@ -111,7 +109,7 @@ {% endfor %} - +
@@ -120,7 +118,7 @@

USERS ACTIVITY

- {% include 'recent-activities.html' %} + {% include 'recent-activities.html' %}
diff --git a/osinaweb/templates/listing_pages/project-types.html b/osinaweb/templates/listing_pages/project-types.html index c436c164..bb3ec194 100644 --- a/osinaweb/templates/listing_pages/project-types.html +++ b/osinaweb/templates/listing_pages/project-types.html @@ -77,41 +77,47 @@ -
-
+
+ -
-
-

Project Type

-
-
- Actions -
-
+ + + + + + -
+
{% for type in projecttypes %} -
-
-

{{type.name}}

-
-
+ + + + {% endfor %} - - + +
+ Project Type + + Actions +
+

{{type.name}}

+
+
+ +
+ +
+
+
+
- -
-
-
- +
diff --git a/osinaweb/templates/listing_pages/projects.html b/osinaweb/templates/listing_pages/projects.html index b2df1a25..d4a63fa4 100644 --- a/osinaweb/templates/listing_pages/projects.html +++ b/osinaweb/templates/listing_pages/projects.html @@ -62,7 +62,7 @@
-
+
@@ -89,86 +89,99 @@
-
-
+ +
+ -
-
-

#

-
-
-

Project

-
-
-

Client

-
-
-

Status

-
-
-

Action

-
-
+ + + + + + + + + -
+
{% for project in projects %} -
-
-

{{project.project_id}}

-
-
-

{{project.name}}

-
-
-

{{project.customer}}

-
+
+ + + + + + {% if project.status == 'Completed' %} -
+
{% endif %} + + {% if project.status == 'Cancelled' %} -
+
{% endif %} + + {% if project.status == 'Active' %} -
+
{% endif %} + {% if project.status == 'Pending' %} -
+
{% endif %} - + {% endfor %} - - - + +
+ # + + Project + + Client + + Status + + Actions +
+

{{project.project_id}}

+
+

{{project.name}}

+
+

{{project.customer}}

+

{{project.status}}

- +

{{project.status}}

- +

{{project.status}}

- +

{{project.status}}

- +
+
+ +
+ +
+
+ +
+ +
+
+
+
- -
-
-
- +
@@ -178,7 +191,7 @@

USERS ACTIVITY

- {% include 'recent-activities.html' %} + {% include 'recent-activities.html' %}
diff --git a/osinaweb/templates/listing_pages/references.html b/osinaweb/templates/listing_pages/references.html index 591b17d2..70aae6ee 100644 --- a/osinaweb/templates/listing_pages/references.html +++ b/osinaweb/templates/listing_pages/references.html @@ -65,59 +65,69 @@
-
+ class="w-fit text-base px-3 py-2 bg-blue-500 text-white outline-none border border-blue-500 rounded-md cursor-pointer hover:bg-white hover:text-blue-500 addReferenceButton" + data-modal-url="{% url 'addreference' %}">Add + Reference
-
-
+
+ -
-
-

Reference

-
-
-

Date

-
-
- Actions -
-
+ + + + + + + -
+
{% for reference in references %} -
-
-

{{reference.name}}

-
-
-

{{reference.formatted_date}}

-
-
+ + + + + + {% endfor %} - - + +
+ Reference + + Date + + Actions +
+

{{reference.name}}

+
+

{{reference.formatted_date}}

+
+
+ +
+ +
+
+
+
- -
-
-
- +
@@ -127,7 +137,7 @@

USERS ACTIVITY

- {% include 'recent-activities.html' %} + {% include 'recent-activities.html' %}
diff --git a/osinaweb/templates/listing_pages/staff-positions.html b/osinaweb/templates/listing_pages/staff-positions.html index 62996121..2c46dbb7 100644 --- a/osinaweb/templates/listing_pages/staff-positions.html +++ b/osinaweb/templates/listing_pages/staff-positions.html @@ -80,41 +80,47 @@ -
-
+
+ -
-
-

Position

-
-
- Actions -
-
+ + + + + + -
+
{% for position in staffpositions %} -
-
-

{{position.name}}

-
-
+ + + + {% endfor %} - - + +
+ Position + + Actions +
+

{{position.name}}

+
+
+ +
+ +
+
+
+
- -
-
-
- +
diff --git a/osinaweb/templates/listing_pages/staffs.html b/osinaweb/templates/listing_pages/staffs.html index 849f4d77..5faf28f4 100644 --- a/osinaweb/templates/listing_pages/staffs.html +++ b/osinaweb/templates/listing_pages/staffs.html @@ -80,61 +80,66 @@ -
-
+
+ -
-
-

Full Name

-
-
-

Email

-
-
- Actions -
-
+ + + + + + + -
+
- {% for staff in staffs %} -
-
-
+
+ + + + + + {% endfor %} - - + +
+ Name + + Email + + Actions +
+
user-image
-
-

{{staff.user.first_name}} {{staff.user.last_name}}

-
- -
-

{{staff.user.email}}

-
-
+

{{staff.user.email}}

+
+ - +
diff --git a/osinaweb/templates/listing_pages/tags.html b/osinaweb/templates/listing_pages/tags.html index 62438c9a..7fd8828a 100644 --- a/osinaweb/templates/listing_pages/tags.html +++ b/osinaweb/templates/listing_pages/tags.html @@ -77,41 +77,47 @@ -
-
+
+ -
-
-

Tag Name

-
-
- Actions -
-
+ + + + + + -
+
{% for tag in tags %} -
-
-

{{tag.name}}

-
-
+ + + + {% endfor %} - - + +
+ Tag Name + + Actions +
+

{{tag.name}}

+
+
+ +
+ +
+
+
+
- -
-
-
- +
diff --git a/osinaweb/templates/listing_pages/tasks.html b/osinaweb/templates/listing_pages/tasks.html index aafd8af1..996e9757 100644 --- a/osinaweb/templates/listing_pages/tasks.html +++ b/osinaweb/templates/listing_pages/tasks.html @@ -61,7 +61,7 @@
-
+
@@ -102,44 +102,79 @@ {% for task in my_tasks %} -
-
+ {% for task in my_tasks %} +
+
-
- {% if task.status == 'Open' %} -
-

{{task.name}}

-
- {% endif %} - {% if task.status == 'Working On' %} -
-

{{task.name}}

-
- {% endif %} - {% if task.status == 'Closed' %} +
-

{{task.name}}

-
- {% endif %} - -
-

{{task.status}}

+ class="flex justify-center items-center border-r border-b border-gray-200 bg-slate-600 rounded-tl-md text-xl text-white font-semibold"> +

{{task.name}}

-
-

{{task.formatted_start_date}}

-
-
-

{{task.formatted_end_date}}

+ +
+ {% if task.status == 'Closed' %} +
+

{{task.status}}

+
+ {% endif %} + + {% if task.status == 'Open' %} +
+

{{task.status}}

+
+ {% endif %} + + {% if task.status == 'Working On' %} +
+

{{task.status}}

+
+ {% endif %} + + {% if task.status == 'Closed' %} +
+

{{task.formatted_start_date}}

+
+ {% endif %} + + {% if task.status == 'Open' %} +
+

{{task.formatted_start_date}}

+
+ {% endif %} + + {% if task.status == 'Working On' %} +
+

{{task.formatted_start_date}}

+
+ {% endif %} + + + {% if task.status == 'Closed' %} +
+

{{task.formatted_end_date}}

+
+ {% endif %} + + {% if task.status == 'Open' %} +
+

{{task.formatted_end_date}}

+
+ {% endif %} + + {% if task.status == 'Working On' %} +
+

{{task.formatted_end_date}}

+
+ {% endif %}
+
-