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.
		
		
		
		
		
			
		
			
				
	
	
		
			122 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			HTML
		
	
			
		
		
	
	
			122 lines
		
	
	
		
			5.8 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">
 | |
|             Edit Project
 | |
|         </h1>
 | |
| 
 | |
|         <form class="w-full flex flex-col gap-5 justify-center items-center" method="POST"
 | |
|             action="{% url 'editproject' project.project_id %}">
 | |
|             {% csrf_token %}
 | |
|                 <div class="w-full">
 | |
|                     <label class="text-gray-500">Name:</label>
 | |
|                     <input required name="name" type="text"
 | |
|                     value="{{project.name}}"
 | |
|                     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="" disabled>Clients</option>
 | |
|                     {% for customer in customers %}
 | |
|                     <option value="{{customer.id}}" {% if customer.id == current_client.id %} selected {%endif%}>{{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"
 | |
|                     class="w-full h-[50px] py-1 px-3 border border-gray-300 outline-none rounded-md text-gray-500 mt-1">
 | |
|                     <option value="" disabled>Project Manager</option>
 | |
|                     {% for staff in staffs %}
 | |
|                     <option value="{{staff.id}}" {% if staff.id == current_manager.id %} selected {%endif%}>{{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 %}
 | |
|                         {% if staff in project.members.all %}
 | |
|                          <option value="{{staff.id}}" selected>{{staff.user.first_name}} {{staff.user.last_name}}</option>
 | |
|                         {% else %}
 | |
|                          <option value="{{staff.id}}">{{staff.user.first_name}} {{staff.user.last_name}}</option>
 | |
|                         {% endif %}
 | |
|                     {% endfor %}
 | |
|                 </select>
 | |
|             </div>
 | |
| 
 | |
|             <div class="w-full">
 | |
|                 <label class="text-gray-500">Type(s):</label>
 | |
|                 <select required name="types" 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 type in types %}
 | |
|                         <option value="{{type.id}}"  {% if type in project.project_type.all %} selected {% endif %} >{{type.name}}</option>
 | |
|                     {% endfor %}
 | |
|                 </select>
 | |
|             </div>
 | |
| 
 | |
|             <div class="w-full">
 | |
|                 <label class="text-gray-500">Description:</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">{{project.details}}
 | |
|                 </textarea>
 | |
|             </div>
 | |
| 
 | |
|             <div class="w-full">
 | |
|                 <label class="text-gray-500">Start Date:</label>
 | |
|                 <input required name="start_date" type="date"  id="startDateDisplay" name="date"
 | |
|                 value='{{project.start_date|date:"Y-m-d"}}'
 | |
|                 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="closingDateDisplay" name="date"
 | |
|                 value='{{project.end_date|date:"Y-m-d"}}'
 | |
|                 class="w-full p-3 border border-gray-300 rounded-md bg-transparent outline-none mt-2">
 | |
|             </div>
 | |
| 
 | |
| 
 | |
|             <script>
 | |
|                 const startDatePicker = document.getElementById('startDate');
 | |
|                 const startDateDisplay = document.getElementById('startDateDisplay');
 | |
|                 const closingDatePicker = document.getElementById('closingDate');
 | |
|                 const closingDateDisplay = document.getElementById('closingDateDisplay');
 | |
|                 // Adding an input event listener to the starting date picker input
 | |
|                 startDatePicker.addEventListener('input', () => {
 | |
|                     // When a date is selected, update the value of the starting date display input
 | |
|                     startDateDisplay.value = startDatePicker.value;
 | |
|                 });
 | |
| 
 | |
|                 closingDatePicker.addEventListener('input', () => {
 | |
|                     closingDateDisplay.value = closingDatePicker.value;
 | |
|                 });
 | |
| 
 | |
|                 drawDatePicker.addEventListener('input', () => {
 | |
|                     drawDateDisplay.value = drawDatePicker.value;
 | |
|                 });
 | |
|             </script>
 | |
| 
 | |
|             <div class="w-full flex justify-center items-center mt-4">
 | |
|                 <button type="submit"
 | |
|                     class="w-fit bg-osiblue border border-osiblue rounded-md text-white text-xl px-5 py-1 hover:bg-white hover:text-osiblue duration-300">Save</button>
 | |
|             </div>
 | |
|         </form>
 | |
|     </div>
 | |
| </div>
 | |
| 
 | |
| 
 | |
| {% endblock content %} |