You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
150 lines
7.2 KiB
HTML
150 lines
7.2 KiB
HTML
{% extends "add-edit-main.html" %}
|
|
{%load static%}
|
|
{% block content %}
|
|
|
|
<div class="w-full px-5 s:px-9 mb-5">
|
|
<div class="w-full h-full shadow-md rounded-md py-5 px-3 bg-white">
|
|
<h1 class="text-3xl text-secondosiblue text-center font-semibold">
|
|
Add Project
|
|
</h1>
|
|
|
|
<form class="w-full flex flex-col gap-5 justify-center items-center mt-5" method="POST"
|
|
action="{% url 'addproject' %}">
|
|
{% csrf_token %}
|
|
|
|
<div class="w-full">
|
|
<label class="text-gray-500">Project Name:</label>
|
|
<input required name="name" type="text"
|
|
class="w-full h-[50px] py-1 px-3 border border-gray-300 outline-none rounded-md mt-1">
|
|
</div>
|
|
|
|
<div class="w-full">
|
|
<label class="text-gray-500">Client:</label>
|
|
<select required name="customer"
|
|
class="w-full h-[50px] py-1 px-3 border border-gray-300 outline-none rounded-md text-gray-500 mt-1">
|
|
<option value="" selected disabled>Select Client</option>
|
|
{% for customer in customers %}
|
|
<option value="{{customer.id}}">{{customer.user.first_name}} {{customer.user.last_name}}
|
|
</option>
|
|
{% endfor %}
|
|
</select>
|
|
</div>
|
|
|
|
<div class="w-full">
|
|
<label class="text-gray-500">Project Manager:</label>
|
|
|
|
<select required name="manager" id=""
|
|
class="w-full h-[50px] py-1 px-3 border border-gray-300 outline-none rounded-md text-gray-500 mt-1">
|
|
<option value="" selected disabled>Select Project Manager</option>
|
|
{% for staff in staffs %}
|
|
<option value="{{staff.id}}">{{staff.user.first_name}} {{staff.user.last_name}}</option>
|
|
{% endfor %}
|
|
</select>
|
|
</div>
|
|
|
|
<div class="w-full">
|
|
<label class="text-gray-500">Member(s):</label>
|
|
<select required name="members" id=""
|
|
class="w-full h-[100px] py-1 px-3 border border-gray-300 outline-none rounded-md text-gray-500 mt-1"
|
|
multiple>
|
|
{% for staff in staffs %}
|
|
<option value="{{staff.id}}">{{staff.user.first_name}} {{staff.user.last_name}}</option>
|
|
{% endfor %}
|
|
</select>
|
|
</div>
|
|
|
|
<div class="w-full">
|
|
<label class="text-gray-500">Status:</label>
|
|
<select required name="status" id=""
|
|
class="w-full h-[50px] py-1 px-3 border border-gray-300 outline-none rounded-md text-gray-500 mt-1">
|
|
<option value="" selected disabled>Select Status</option>
|
|
<option value="Pending">Pending</option>
|
|
<option value="Active">Active</option>
|
|
<option value="Completed">Completed</option>
|
|
<option value="Cancelled">Cancelled</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="w-full">
|
|
<label class="text-gray-500">Project Type(s):</label>
|
|
<select required name="project_type"
|
|
class="w-full h-[100px] py-1 px-3 border border-gray-300 outline-none rounded-md text-gray-500 mt-1"
|
|
multiple>
|
|
{%for type in project_types %}
|
|
<option value="{{type.id}}">{{type.name}}</option>
|
|
{% endfor %}
|
|
</select>
|
|
</div>
|
|
|
|
<div class="w-full">
|
|
<label class="text-gray-500">Project Details:</label>
|
|
<textarea required name="details" type="text" rows="5" cols="5"
|
|
class="w-full py-3 px-3 border border-gray-300 outline-none rounded-md resize-none mt-1"></textarea>
|
|
</div>
|
|
|
|
<div class="w-full">
|
|
<label class="text-gray-500">Requirement(s):</label>
|
|
<div class="w-full p-3 border border-gray-300 mt-1 rounded-md">
|
|
<div class="w-full mt-2" id="addReqContainer">
|
|
<input name="requirements" type="text" placeholder="Requirement"
|
|
class="w-full p-3 border border-gray-300 rounded-md bg-transparent outline-none">
|
|
</div>
|
|
|
|
<!-- THE CLONED CONTAINER -->
|
|
<div class="mt-2 hidden" id="addReqContainerTemplate">
|
|
<div class="w-full flex flex-col gap-2">
|
|
<input name="requirements" type="text" placeholder="Requirement"
|
|
class="w-full p-3 border border-gray-300 rounded-md bg-transparent outline-none">
|
|
<button
|
|
class="w-full h-[40px] s:h-[55px] rounded-md bg-gray-300 border-none outline-none shadow-md text-white text-xl cursor-pointer py-2"
|
|
id="removeReqButton" type="button">
|
|
<i class="fa fa-minus"></i>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
|
|
<button
|
|
class="w-full h-[40px] s:h-[55px] rounded-md bg-gray-400 border-none outline-none shadow-md text-white text-xl cursor-pointer py-2 mt-2"
|
|
id="addReqButton" type="button">
|
|
<i class="fa fa-plus"></i>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="w-full">
|
|
<label class="text-gray-500">Start Date:</label>
|
|
<input required name="start_date" type="date" id="date" name="date"
|
|
class="w-full p-3 border border-gray-300 rounded-md bg-transparent outline-none mt-1">
|
|
</div>
|
|
|
|
<div class="w-full">
|
|
<label class="text-gray-500">End Date:</label>
|
|
<input required name="end_date" type="date" id="date" name="date"
|
|
class="w-full p-3 border border-gray-300 rounded-md bg-transparent outline-none mt-1">
|
|
</div>
|
|
<div class="w-full flex justify-center items-center mt-3">
|
|
<button type="submit"
|
|
class="w-fit py-1 px-5 bg-osiblue rounded-md outline-none text-white border border-osiblue text-xl cursor-pointer hover:bg-white hover:text-osiblue duration-300">Save</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<!-- POPUP MODAL -->
|
|
<div class="w-full h-full bg-black bg-opacity-40 z-20 fixed justify-center items-center hidden inset-0" id="popUpModal">
|
|
<div class="w-[95%] md:w-fit h-fit bg-white rounded-md p-9 relative">
|
|
<button class="absolute top-3 right-5 text-slate-800 text-xl cursor-pointer outline-none border-none"
|
|
id="closeModalButton">
|
|
<i class="fa fa-close"></i>
|
|
</button>
|
|
<iframe id="popupModalFrame" frameborder="0"></iframe>
|
|
</div>
|
|
</div>
|
|
|
|
<!-------------- JS SCRIPTS --------------->
|
|
<script type="text/javascript" src='{% static "js/add-project.js" %}'></script>
|
|
|
|
<script type="text/javascript" src='{% static "js/pop-modals.js" %}'></script>
|
|
|
|
{% endblock content %} |