emile 2 years ago
parent 3c0969cbed
commit 13fb9701e5

Binary file not shown.

@ -80,10 +80,10 @@ def my_projects(request, *args, **kwargs):
if user.is_superuser: if user.is_superuser:
# Superadmin can see all projects # Superadmin can see all projects
projects = Project.objects.all() projects = Project.objects.all().order_by('-project_id')
else: else:
# Non-superuser, filter projects where the user is either the manager or a member # Non-superuser, filter projects where the user is either the manager or a member
projects = Project.objects.filter(Q(manager=user.staffprofile) | Q(members=user.staffprofile)).distinct() projects = Project.objects.filter(Q(manager=user.staffprofile) | Q(members=user.staffprofile)).distinct().order_by('-project_id')
context = { context = {
@ -96,8 +96,10 @@ def my_projects(request, *args, **kwargs):
@login_required @login_required
def my_tasks(request, *args, **kwargs): def my_tasks(request, *args, **kwargs):
my_tasks = Task.objects.all().filter(assigned_to=request.user.staffprofile).order_by('-id')
context = { context = {
'my_tasks' : my_tasks
} }
return render(request, 'tasks.html', context) return render(request, 'tasks.html', context)
@ -963,27 +965,41 @@ def edit_staff_position(request):
@login_required @login_required
def edit_project_type(request, *args, **kwargs): def edit_project_type(request, projecttype_id):
projecttype = get_object_or_404(ProjectType, id=projecttype_id)
context = { if request.method == 'POST':
projecttype.name = request.POST.get('name')
projecttype.save()
} return redirect('projecttypes')
return render(request, 'edit_pages/edit-project-type.html', context)
return render(request, 'edit_pages/edit-project-type.html', {'projecttype': projecttype})
@login_required @login_required
def edit_reference(request, *args, **kwargs): def edit_reference(request, reference_id):
reference = get_object_or_404(Reference, id=reference_id)
context = { if request.method == 'POST':
reference.name = request.POST.get('name')
reference.date = request.POST.get('date')
reference.save()
} return redirect('references')
return render(request, 'edit_pages/edit-reference.html', context)
return render(request, 'edit_pages/edit-reference.html', {'reference': reference})
@login_required @login_required
def edit_tag(request, *args, **kwargs): def edit_tag(request, tag_id):
tag = get_object_or_404(Tag, id=tag_id)
context = { if request.method == 'POST':
tag.name = request.POST.get('name')
tag.save()
} return redirect('tags')
return render(request, 'edit_pages/edit-tag.html', context)
return render(request, 'edit_pages/edit-tag.html', {'tag': tag})

@ -96,9 +96,9 @@ urlpatterns = [
path('editcustomer/', views.edit_customer, name='editcustomer'), path('editcustomer/', views.edit_customer, name='editcustomer'),
path('editbusiness/', views.edit_business, name='editbusiness'), path('editbusiness/', views.edit_business, name='editbusiness'),
path('editstaff/', views.edit_staff, name='editstaff'), path('editstaff/', views.edit_staff, name='editstaff'),
path('editprojecttype/', views.edit_project_type, name='editprojecttype'), path('editprojecttype/<int:projecttype_id>', views.edit_project_type, name='editprojecttype'),
path('editreference/', views.edit_reference, name='editreference'), path('editreference/<int:reference_id>', views.edit_reference, name='editreference'),
path('edittag/', views.edit_tag, name='edittag'), path('edittag/<int:tag_id>', views.edit_tag, name='edittag'),
path('editstaffposition/', views.edit_staff_position, name='editstaffposition'), path('editstaffposition/', views.edit_staff_position, name='editstaffposition'),
] ]

@ -48,7 +48,7 @@
<option value="Cancelled">Cancelled</option> <option value="Cancelled">Cancelled</option>
</select> </select>
<select required name="members" id="" <select required name="project_type" id=""
class="w-full h-[100px] py-1 px-3 border border-gray-300 outline-none rounded-md text-gray-500" class="w-full h-[100px] py-1 px-3 border border-gray-300 outline-none rounded-md text-gray-500"
multiple> multiple>
<option value="" selected disabled>Project Type</option> <option value="" selected disabled>Project Type</option>

@ -8,12 +8,12 @@
Edit Project Type Edit Project Type
</h1> </h1>
<form id="hiddenContent" method="POST" action="{% url 'save_projecttype' %}"> <form id="hiddenContent" method="POST" action="{% url 'editprojecttype' projecttype.id %}">
{% csrf_token %} {% csrf_token %}
<div class="w-full flex justify-center items-center"> <div class="w-full flex justify-center items-center">
<input name="name" type="text" placeholder="Project Type Name" <input name="name" type="text" placeholder="Project Type Name"
value="name1" value="{{projecttype.name}}"
class="w-full p-3 border border-gray-300 rounded-md bg-transparent outline-none mt-4" class="w-full p-3 border border-gray-300 rounded-md bg-transparent outline-none mt-4"
required> required>
</div> </div>

@ -8,12 +8,12 @@
Edit Reference Edit Reference
</h1> </h1>
<form id="hiddenContent" method="POST" action="{% url 'save_reference' %}"> <form id="hiddenContent" method="POST" action="{% url 'editreference' reference.id %}">
{% csrf_token %} {% csrf_token %}
<div class="w-full flex flex-col justify-center items-center"> <div class="w-full flex flex-col justify-center items-center">
<input name="name" type="text" placeholder="Reference Name" <input name="name" type="text" placeholder="Reference Name"
value="Reference 1" value="{{reference.name}}"
class="w-full p-3 border border-gray-300 rounded-md bg-transparent outline-none mt-4" class="w-full p-3 border border-gray-300 rounded-md bg-transparent outline-none mt-4"
required> required>

@ -8,12 +8,12 @@
Edit Tag Edit Tag
</h1> </h1>
<form id="hiddenContent" method="POST" action="{% url 'save_tag' %}"> <form id="hiddenContent" method="POST" action="{% url 'edittag' tag.id %}">
{% csrf_token %} {% csrf_token %}
<div class="w-full flex justify-center items-center"> <div class="w-full flex justify-center items-center">
<input name="name" type="text" placeholder="Tag Name" <input name="name" type="text" placeholder="Tag Name"
value="Tag1" value="{{tag.name}}"
class="w-full p-3 border border-gray-300 rounded-md bg-transparent outline-none mt-4" class="w-full p-3 border border-gray-300 rounded-md bg-transparent outline-none mt-4"
required> required>
</div> </div>

@ -126,11 +126,11 @@
<div class="flex justify-start items-center gap-2"> <div class="flex justify-start items-center gap-2">
<p class="text-gray-400 text-base">Files:</p> <p class="text-gray-400 text-base">Files:</p>
<p class="text-slate-700 text-base">Documentation.pdf, Project.doc</p> <p class="text-slate-700 text-base"></p>
</div> </div>
<div class="flex justify-start items-center gap-2"> <div class="flex justify-start items-center gap-2">
<p class="text-gray-400 text-base">Tags:</p> <p class="text-gray-400 text-base">Tags:</p>
<p class="text-slate-700 text-base">Live Streaming, Media Streaming</p> <p class="text-slate-700 text-base"></p>
</div> </div>
<div class="flex justify-start items-center gap-2"> <div class="flex justify-start items-center gap-2">

@ -99,7 +99,7 @@
<p class="text-gray-500">{{type.name}}</p> <p class="text-gray-500">{{type.name}}</p>
</div> </div>
<div class="w-[40%] h-full flex justify-center items-center gap-3"> <div class="w-[40%] h-full flex justify-center items-center gap-3">
<a href="{% url 'editprojecttype' %}"> <a href="{% url 'editprojecttype' type.id %}">
<div class="text-[15px] text-blue-500 cursor-pointer"> <div class="text-[15px] text-blue-500 cursor-pointer">
<i class="fa fa-edit"></i> <i class="fa fa-edit"></i>
</div> </div>

@ -105,7 +105,7 @@
<p class="text-gray-500">{{reference.formatted_date}}</p> <p class="text-gray-500">{{reference.formatted_date}}</p>
</div> </div>
<div class="w-[20%] h-full flex justify-center items-center gap-3"> <div class="w-[20%] h-full flex justify-center items-center gap-3">
<a href="{% url 'editreference' %}"> <a href="{% url 'editreference' reference.id %}">
<div class="text-[15px] text-blue-500 cursor-pointer"> <div class="text-[15px] text-blue-500 cursor-pointer">
<i class="fa fa-edit"></i> <i class="fa fa-edit"></i>
</div> </div>

@ -99,7 +99,7 @@
<p class="text-gray-500">{{tag.name}}</p> <p class="text-gray-500">{{tag.name}}</p>
</div> </div>
<div class="w-[40%] h-full flex justify-center items-center gap-3"> <div class="w-[40%] h-full flex justify-center items-center gap-3">
<a href="{% url 'edittag' %}"> <a href="{% url 'edittag' tag.id %}">
<div class="text-[15px] text-blue-500 cursor-pointer"> <div class="text-[15px] text-blue-500 cursor-pointer">
<i class="fa fa-edit"></i> <i class="fa fa-edit"></i>
</div> </div>

@ -100,188 +100,114 @@
<!-- ALL TASKS --> <!-- ALL TASKS -->
<div class="w-full mt-10"> <div class="w-full mt-10">
<!-- TASKS TABLE --> <!-- TASKS TABLE -->
<div class="w-full bg-white h-fit rounded-md border border-gray-300 mt-5">
<!-- TABLE HEADER -->
<div class="w-full flex h-[70px] rounded-t-md">
<div
class="w-[55%] flex justify-center items-center border-r border-b border-gray-300 bg-green-700 rounded-tl-md">
<p class="text-xl text-white">Task Name</p>
</div>
<div class="w-[15%] flex justify-center items-center border-r border-b border-gray-300">
<p class="text-xl text-slate-700">Open</p>
</div>
<div class="w-[15%] flex justify-center items-center border-r border-b border-gray-300">
<p class="text-xl text-slate-700">1/2/2021</p>
</div>
<div class="w-[15%] flex justify-center items-center border-b border-gray-300">
<p class="text-xl text-slate-700">1/2/2022</p>
</div>
</div>
<!-- TABLE BODY -->
<div class="w-full h-fit flex">
<!-- LEFT SIDE OF TABLE BODY -->
<div class="w-[55%] h-fit bg-white p-3 rounded-bl-md">
<!-- 1st row -->
<div class="w-full flex flex-col gap-2">
<div class="flex justify-start items-center gap-2">
<p class="text-gray-400 text-base">Project:</p>
<p class="text-slate-700 text-base">Osina Project</p>
</div>
<div class="flex justify-start items-center gap-2">
<p class="text-gray-400 text-base">Epic:</p>
<p class="text-slate-700 text-base">epic</p>
</div>
<div class="flex justify-start items-center gap-2">
<p class="text-gray-400 text-base">Assigned To:</p>
<p class="text-slate-700 text-base">Nataly</p>
</div>
<div class="flex justify-start items-center gap-2">
<p class="text-gray-400 text-base">Files:</p>
<p class="text-slate-700 text-base">Documentation.pdf, Project.doc</p>
</div>
<div class="flex justify-start items-center gap-2">
<p class="text-gray-400 text-base">Tags:</p>
<p class="text-slate-700 text-base">Live Streaming, Media Streaming</p>
</div>
<div class="flex justify-start items-center gap-2"> {% for task in my_tasks %}
<p class="text-gray-400 text-base">Extra:</p> <div class="w-full h-fit bg-white p-3 rounded-md shadow-md mt-5">
<p class="text-slate-700 text-base">Yes</p> <div class="w-full bg-white h-fit rounded-md border border-gray-300">
</div> <!-- TABLE HEADER -->
<div class="w-full flex h-[70px] rounded-t-md">
{% if task.status == 'Open' %}
<div
class="w-[55%] flex justify-center items-center border-r border-b border-gray-300 bg-green-700 rounded-tl-md">
<p class="text-xl text-white">{{task.name}}</p>
</div>
{% endif %}
{% if task.status == 'Working On' %}
<div
class="w-[55%] flex justify-center items-center border-r border-b border-gray-300 bg-yellow-400 rounded-tl-md">
<p class="text-xl text-white">{{task.name}}</p>
</div>
{% endif %}
<div class="w-[15%] flex justify-center items-center border-r border-b border-gray-300">
<p class="text-slate-700">{{task.status}}</p>
</div>
<div class="w-[15%] flex justify-center items-center border-r border-b border-gray-300">
<p class="text-slate-700">{{task.formatted_start_date}}</p>
</div>
<div class="w-[15%] flex justify-center items-center border-b border-gray-300">
<p class="text-slate-700">{{task.formatted_end_date}}</p>
</div> </div>
</div> </div>
<!-- RIGHT SIDE OF TABLE BODY --> <!-- TABLE BODY -->
<div class="w-[45%] h-fit bg-white flex flex-wrap justify-start rounded-br-md"> <div class="w-full h-fit flex">
<button <!-- LEFT SIDE OF TABLE BODY -->
class="w-[33.33%] p-2 border border-gray-200 text-base h-[70px] bg-gray-300 text-gray-500">Close</button> <div class="w-[55%] h-fit bg-white p-3 rounded-bl-md">
<button <!-- 1st row -->
class="w-[33.33%] p-2 border border-gray-200 text-base h-[70px] bg-gray-300 text-gray-500" <div class="w-full flex flex-col gap-2">
id="updateStatusButton" data-modal-url="{% url 'updatestatus' %}">Update <div class="flex justify-start items-center gap-2">
Status</button> <p class="text-gray-400 text-base">Project:</p>
<button <p class="text-slate-700 text-base">{{task.project.name}}</p>
class="w-[33.33%] p-2 border border-gray-200 text-base h-[70px] bg-gray-300 text-gray-500" </div>
id="addTimeButton" data-modal-url="{% url 'addtime' %}">Add
Time</button> <div class="flex justify-start items-center gap-2">
<button <p class="text-gray-400 text-base">Epic:</p>
class="w-[33.33%] p-2 border border-gray-200 text-base h-[70px] bg-red-500 text-white" <p class="text-slate-700 text-base">{{task.epic.title}}</p>
id="deleteTaskButton" data-modal-url="{% url 'deletetask' %}">Delete</button> </div>
<button
class="w-[33.33%] p-2 border border-gray-200 text-base h-[70px] bg-blue-500 text-white">Update</button> <div class="flex justify-start items-center gap-2">
<button <p class="text-gray-400 text-base">Assigned To:</p>
class="w-[33.33%] p-2 border border-gray-200 text-base h-[70px] bg-gray-300 text-gray-500" <p class="text-slate-700 text-base">{{task.assigned_to.first_name}}
id="showPointsButton" data-modal-url="{% url 'showpoints' %}">Show {{task.assigned_to.last_name}}</p>
Points</button> </div>
<button
class="w-[33.33%] p-2 border border-gray-200 text-base h-[70px] bg-gray-300 text-gray-500" <div class="flex justify-start items-center gap-2">
id="addPointButton" data-modal-url="{% url 'addpoint' %}">Add <p class="text-gray-400 text-base">Files:</p>
Point</button> <p class="text-slate-700 text-base"></p>
<a href="./task-details.html" class="w-[33.33%]"> </div>
<button <div class="flex justify-start items-center gap-2">
class="w-full p-2 border border-gray-200 text-base h-[70px] bg-gray-300 text-gray-500">Details</button> <p class="text-gray-400 text-base">Tags:</p>
</a> <p class="text-slate-700 text-base"></p>
<button </div>
class="w-[33.33%] p-2 border border-gray-200 text-base h-[70px] bg-gray-300 text-gray-500 rounded-br-md"
id="timelineButton" data-modal-url="{% url 'timeline' %}">Timeline</button> <div class="flex justify-start items-center gap-2">
</div> <p class="text-gray-400 text-base">Extra:</p>
</div> <p class="text-slate-700 text-base">{{task.extra}}</p>
</div> </div>
<!-- TASKS TABLE -->
<div class="w-full bg-white h-fit rounded-md border border-gray-300 mt-5">
<!-- TABLE HEADER -->
<div class="w-full flex h-[70px] rounded-t-md">
<div
class="w-[55%] flex justify-center items-center border-r border-b border-gray-300 bg-green-700 rounded-tl-md">
<p class="text-xl text-white">Task Name</p>
</div>
<div class="w-[15%] flex justify-center items-center border-r border-b border-gray-300">
<p class="text-xl text-slate-700">Open</p>
</div>
<div class="w-[15%] flex justify-center items-center border-r border-b border-gray-300">
<p class="text-xl text-slate-700">1/2/2021</p>
</div>
<div class="w-[15%] flex justify-center items-center border-b border-gray-300">
<p class="text-xl text-slate-700">1/2/2022</p>
</div>
</div>
<!-- TABLE BODY -->
<div class="w-full h-fit flex">
<!-- LEFT SIDE OF TABLE BODY -->
<div class="w-[55%] h-fit bg-white p-3 rounded-bl-md">
<!-- 1st row -->
<div class="w-full flex flex-col gap-2">
<div class="flex justify-start items-center gap-2">
<p class="text-gray-400 text-base">Project:</p>
<p class="text-slate-700 text-base">Osina Project</p>
</div>
<div class="flex justify-start items-center gap-2">
<p class="text-gray-400 text-base">Epic:</p>
<p class="text-slate-700 text-base">epic</p>
</div>
<div class="flex justify-start items-center gap-2">
<p class="text-gray-400 text-base">Assigned To:</p>
<p class="text-slate-700 text-base">Nataly</p>
</div>
<div class="flex justify-start items-center gap-2">
<p class="text-gray-400 text-base">Files:</p>
<p class="text-slate-700 text-base">Documentation.pdf, Project.doc</p>
</div>
<div class="flex justify-start items-center gap-2">
<p class="text-gray-400 text-base">Tags:</p>
<p class="text-slate-700 text-base">Live Streaming, Media Streaming</p>
</div>
<div class="flex justify-start items-center gap-2">
<p class="text-gray-400 text-base">Extra:</p>
<p class="text-slate-700 text-base">Yes</p>
</div> </div>
</div> </div>
</div>
<!-- RIGHT SIDE OF TABLE BODY -->
<!-- RIGHT SIDE OF TABLE BODY --> <div class="w-[45%] h-fit bg-white flex flex-wrap justify-start rounded-br-md">
<div class="w-[45%] h-fit bg-white flex flex-wrap justify-start rounded-br-md"> <button
<button class="w-[33.33%] p-2 border border-gray-200 text-base h-[70px] bg-gray-300 text-gray-500">Close</button>
class="w-[33.33%] p-2 border border-gray-200 text-base h-[70px] bg-gray-300 text-gray-500">Close</button> <button
<button class="w-[33.33%] p-2 border border-gray-200 text-base h-[70px] bg-gray-300 text-gray-500 updateStatusButton"
class="w-[33.33%] p-2 border border-gray-200 text-base h-[70px] bg-gray-300 text-gray-500" data-modal-url="{% url 'updatestatus' %}">Update
id="updateStatusButton" data-modal-url="{% url 'updatestatus' %}">Update Status</button>
Status</button>
<button
class="w-[33.33%] p-2 border border-gray-200 text-base h-[70px] bg-gray-300 text-gray-500"
id="addTimeButton" data-modal-url="{% url 'addtime' %}">Add
Time</button>
<button
class="w-[33.33%] p-2 border border-gray-200 text-base h-[70px] bg-red-500 text-white"
id="deleteTaskButton" data-modal-url="{% url 'deletetask' %}">Delete</button>
<button
class="w-[33.33%] p-2 border border-gray-200 text-base h-[70px] bg-blue-500 text-white">Update</button>
<button
class="w-[33.33%] p-2 border border-gray-200 text-base h-[70px] bg-gray-300 text-gray-500"
id="showPointsButton" data-modal-url="{% url 'showpoints' %}">Show
Points</button>
<button
class="w-[33.33%] p-2 border border-gray-200 text-base h-[70px] bg-gray-300 text-gray-500"
id="addPointButton" data-modal-url="{% url 'addpoint' %}">Add
Point</button>
<a href="./task-details.html" class="w-[33.33%]">
<button <button
class="w-full p-2 border border-gray-200 text-base h-[70px] bg-gray-300 text-gray-500">Details</button> class="w-[33.33%] p-2 border border-gray-200 text-base h-[70px] bg-gray-300 text-gray-500 addTimeButton"
</a> data-modal-url="{% url 'addtime' %}">Add
<button Time</button>
class="w-[33.33%] p-2 border border-gray-200 text-base h-[70px] bg-gray-300 text-gray-500 rounded-br-md" <button
id="timelineButton" data-modal-url="{% url 'timeline' %}">Timeline</button> class="w-[33.33%] p-2 border border-gray-200 text-base h-[70px] bg-red-500 text-white deleteTaskButton"
data-modal-url="{% url 'deletetask' %}">Delete</button>
<a href="{% url 'edittask' %}" class="w-[33.33%]">
<button
class="w-full p-2 border border-gray-200 text-base h-[70px] bg-blue-500 text-white">Edit</button>
</a>
<button
class="w-[33.33%] p-2 border border-gray-200 text-base h-[70px] bg-gray-300 text-gray-500 showPointsButton"
data-modal-url="{% url 'showpoints' %}">Show
Points</button>
<button
class="w-[33.33%] p-2 border border-gray-200 text-base h-[70px] bg-gray-300 text-gray-500 addPointButton"
data-modal-url="{% url 'addpoint' %}">Add
Point</button>
<a href="{% url 'detailed-task' task.task_id %}" class="w-[33.33%]">
<button
class="w-full p-2 border border-gray-200 text-base h-[70px] bg-gray-300 text-gray-500">Details</button>
</a>
<button
class="w-[33.33%] p-2 border border-gray-200 text-base h-[70px] bg-gray-300 text-gray-500 rounded-br-md timelineButton"
data-modal-url="{% url 'timeline' %}">Timeline</button>
</div>
</div> </div>
</div> </div>
</div> </div>
{% endfor %}
</div> </div>
</div> </div>
</div> </div>

Loading…
Cancel
Save