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.
		
		
		
		
		
			
		
			
				
	
	
		
			399 lines
		
	
	
		
			21 KiB
		
	
	
	
		
			HTML
		
	
			
		
		
	
	
			399 lines
		
	
	
		
			21 KiB
		
	
	
	
		
			HTML
		
	
| {% extends "main.html" %}
 | |
| {%load static%}
 | |
| {% block title %}My Projects{% endblock %}
 | |
| {% block content %}
 | |
| 
 | |
| <!-- USERS ACTIVITIES ON MOBILE -->
 | |
| <div class="w-[55px] h-[55px] bg-slate-700 rounded-full fixed xxlg1:hidden bottom-3 right-3 p-2 flex justify-center items-center cursor-pointer usersActivityIcon z-20"
 | |
|     data-modal-url="{% url 'getupdatedactivities' %}">
 | |
|     <img src="{% static 'images/usersactivity.png' %}" alt="Users">
 | |
| </div>
 | |
| 
 | |
| <!-- NOTES POPUP THAT APPEARS WHEN CLICKING ON A SPECIFIC NOTE -->
 | |
| <div id="notesModal"
 | |
|     class="w-full h-full bg-black bg-opacity-40 z-20 fixed hidden justify-center items-center inset-0 p-5">
 | |
|     <div class="w-full s:w-[500px] h-fit rounded-md p-5 cursor-pointer relative"
 | |
|         style="background-color: {{note.color}}">
 | |
|         <p class="text-base text-gray-500 p-5 rounded-md" id="noteContent">
 | |
|         </p>
 | |
| 
 | |
|         <div class="bg-white rounded-full h-[30px] w-[30px] shadow-md absolute top-2 right-2 p-2 flex justify-center items-center cursor-pointer"
 | |
|             onclick="closeModal()">
 | |
|             <svg xmlns="http://www.w3.org/2000/svg" height="16" width="12" viewBox="0 0 384 512">
 | |
|                 <path
 | |
|                     d="M376.6 84.5c11.3-13.6 9.5-33.8-4.1-45.1s-33.8-9.5-45.1 4.1L192 206 56.6 43.5C45.3 29.9 25.1 28.1 11.5 39.4S-3.9 70.9 7.4 84.5L150.3 256 7.4 427.5c-11.3 13.6-9.5 33.8 4.1 45.1s33.8 9.5 45.1-4.1L192 306 327.4 468.5c11.3 13.6 31.5 15.4 45.1 4.1s15.4-31.5 4.1-45.1L233.7 256 376.6 84.5z"
 | |
|                     fill="grey" />
 | |
|             </svg>
 | |
|         </div>
 | |
|     </div>
 | |
| </div>
 | |
| 
 | |
| 
 | |
| <!-- NOTES SECTION -->
 | |
| <div class="w-full px-5 s:px-9 pb-5">
 | |
|     <div class="w-full h-fit bg-white shadow-md rounded-md p-5">
 | |
|         <div class="w-full flex flex-col s:flex-row justify-between gap-3 s:gap-0 items-center">
 | |
|             <div class="w-full s:w-fit flex justify-between items-center">
 | |
|                 <div class="hidden md:block">
 | |
|                     <p class="text-base text-gray-500">Recent Note:</p>
 | |
|                     <div class="flex justify-start items-center gap-2">
 | |
|                         <div class="w-[13px] h-[13px] rounded-full" style="background-color: {{ recent_note.color }};">
 | |
|                         </div>
 | |
|                         <p class="text-slate-700 truncate max-w-xs l:max-w-xl">{{recent_note.text}}</p>
 | |
|                     </div>
 | |
|                 </div>
 | |
| 
 | |
|                 <div class="w-full flex justify-between items-center md:hidden">
 | |
|                     <p class="text-base text-gray-500">My Notes</p>
 | |
| 
 | |
|                     <button
 | |
|                         class="w-[34px] h-[33px] rounded-md p-2 bg-gray-300 text-white text-[16px] outline-none border-none cursor-pointer flex s:hidden justify-center items-center shadow-md addNoteButton hover:bg-osiblue duration-300"
 | |
|                         data-modal-url="% url 'addnotemodal' %}">
 | |
|                         <i class="fa fa-plus"></i>
 | |
|                     </button>
 | |
|                 </div>
 | |
|             </div>
 | |
| 
 | |
|             <div class="w-full s:w-fit hidden md:flex justify-start s:justify-end items-center gap-2">
 | |
|                 <button
 | |
|                     class="w-full s:w-fit rounded-md py-1 px-3 bg-osiblue border border-osiblue text-white hover:bg-white hover:text-osiblue cursor-pointer duration-300"
 | |
|                     id="showNotesButton">Show
 | |
|                     Notes</button>
 | |
|                 <button
 | |
|                     class="w-[34px] h-[33px] rounded-md p-2 bg-gray-300 text-white text-[16px] outline-none border-none cursor-pointer flex justify-center items-center shadow-md addNoteButton hover:bg-osiblue duration-300"
 | |
|                     data-modal-url="% url 'addnotemodal' %}">
 | |
|                     <i class="fa fa-plus"></i>
 | |
|                 </button>
 | |
|             </div>
 | |
|         </div>
 | |
| 
 | |
|         <!-- ALL NOTES CONTAINER (appears when clicking on the "Show notes" button) -->
 | |
|         <div class="w-full h-fit hidden mt-3 s:mt-5" id="notesContainer">
 | |
| 
 | |
|             <div class="w-full hidden lg:grid grid-cols-3 xlg:grid-cols-6 gap-3">
 | |
|                 {% for note in notes %}
 | |
|                 <div class="h-[150px] shadow-md rounded-md p-5 cursor-pointer" style="background-color: {{note.color}}"
 | |
|                     onclick="showModal('{{ note.text }}', '{{ note.color }}')">
 | |
|                     <p class="text-sm text-gray-500 overflow-hidden"
 | |
|                         style="word-break: break-all; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical;">
 | |
|                         {{ note.text }}
 | |
|                     </p>
 | |
|                 </div>
 | |
|                 {% endfor %}
 | |
|             </div>
 | |
| 
 | |
|             <!-- MOBILE NOTES IN SLIDER -->
 | |
|             <div class="w-full block lg:hidden">
 | |
|                 <div class="swiper-container mt-3">
 | |
|                     <div class="swiper-wrapper">
 | |
|                         {% for note in notes %}
 | |
|                         <div class="swiper-slide cursor-pointer">
 | |
|                             <div class="w-full h-[150px] p-3 flex justify-start items-start rounded-md shadow-md"
 | |
|                                 style="background-color: {{note.color}}"
 | |
|                                 onclick="showModal('{{ note.text }}', '{{ note.color }}')">
 | |
|                                 <p class="text-sm text-gray-500 overflow-hidden"
 | |
|                                     style="word-break: break-all; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical;">
 | |
|                                     {{ note.text }}
 | |
|                                 </p>
 | |
|                             </div>
 | |
|                         </div>
 | |
|                         {% endfor %}
 | |
|                     </div>
 | |
|                 </div>
 | |
|             </div>
 | |
|         </div>
 | |
|     </div>
 | |
| </div>
 | |
| 
 | |
| 
 | |
| <!-- BUSINESS DETAIL AND USERS ACTIVITY SECTION -->
 | |
| <div class="w-full flex justify-between gap-5 px-5 s:px-9 pb-5">
 | |
|     <!-- LEFT SIDE / BUSINESS DETAIL SECTION -->
 | |
|     <div class="w-full xxlg1:w-[75%] bg-white h-fit rounded-md shadow-md p-5">
 | |
|         <div class="w-full bg-osiblue rounded-t-md flex flex-col justify-center items-center py-2 gap-3 mt-[50px]">
 | |
|             <div
 | |
|                 class="w-[70px] s:w-[90px] h-[70px] s:h-[90px] rounded-full mt-[-50px] s:mt-[-63px] border border-gray-300">
 | |
|                 <img src="{{business.logo.url}}" alt="" class="w-full h-full object-cover rounded-full">
 | |
|             </div>
 | |
|             <h1 class="text-xl s:text-2xl text-white font-semibold">{{business.name}}</h1>
 | |
|         </div>
 | |
|         <div class="w-full h-fit flex justify-end items-center bg-gray-100 shadow-md rounded-md px-3 py-3 mt-4">
 | |
|             <div class="w-full s:w-fit flex flex-col s:flex-row justify-end items-center gap-3">
 | |
|                 <button
 | |
|                     class="w-full s:w-fit text-base px-3 py-2 bg-red-500 text-white outline-none border border-red-500 rounded-md cursor-pointer hover:bg-white hover:text-red-500 deleteBusinessButton duration-300"
 | |
|                     data-modal-url="{% url 'deletebusinessmodal' business.id %}">Delete
 | |
|                     Business</button>
 | |
|                 <a href="{% url 'editbusiness' business.business_id %}" class="w-full s:w-fit">
 | |
|                     <button
 | |
|                         class="w-full s:w-fit text-base px-3 py-2 bg-secondosiblue text-white outline-none border border-secondosiblue rounded-md cursor-pointer hover:bg-white hover:text-secondosiblue duration-300">Edit
 | |
|                         Business</button>
 | |
|                 </a>
 | |
|             </div>
 | |
|         </div>
 | |
| 
 | |
|         <div class="w-full flex flex-col gap-4 mt-5">
 | |
|             <div>
 | |
|                 <p class="text-gray-500 text-xl">Name: <span
 | |
|                         class="text-slate-800 text-xl font-semibold">{{business.name}}</span>
 | |
|                 </p>
 | |
|             </div>
 | |
| 
 | |
|             <div>
 | |
|                 <p class="text-gray-500 text-xl">Email: <span
 | |
|                         class="text-slate-800 text-xl font-semibold">{{business.email}}</span></p>
 | |
|             </div>
 | |
| 
 | |
|             <div>
 | |
|                 <p class="text-gray-500 text-xl">Financial Number: <span
 | |
|                         class="text-slate-800 text-xl font-semibold">{{business.financial_number}}</span></p>
 | |
|             </div>
 | |
| 
 | |
|             <div>
 | |
|                 <p class="text-gray-500 text-xl">VAT: <span
 | |
|                         class="text-slate-800 text-xl font-semibold">{{business.vat}}</span>
 | |
|                 </p>
 | |
|             </div>
 | |
| 
 | |
|             <div>
 | |
|                 <p class="text-gray-500 text-xl">Commercial Registration: <span
 | |
|                         class="text-slate-800 text-xl font-semibold">{{business.commercial_registration}}</span></p>
 | |
|             </div>
 | |
| 
 | |
|             <div>
 | |
|                 <p class="text-gray-500 text-xl">Phone Number: <span
 | |
|                         class="text-slate-800 text-xl font-semibold">{{business.phone_number}}</span></p>
 | |
|             </div>
 | |
| 
 | |
|             <div>
 | |
|                 <p class="text-gray-500 text-xl">Website: <span
 | |
|                         class="text-slate-800 text-xl font-semibold">{{business.website}}</span></p>
 | |
|             </div>
 | |
| 
 | |
|             <div>
 | |
|                 <p class="text-gray-500 text-xl">Business Type: <span
 | |
|                         class="text-slate-800 text-xl font-semibold">{{business.type.name}}</span></p>
 | |
|             </div>
 | |
| 
 | |
|             <div>
 | |
|                 <p class="text-gray-500 text-xl">Related Customer:
 | |
|                     {% for customer_profile in business.customerprofile_set.all %}
 | |
|                     <a class="cursor-pointer" href="{% url 'customerdetails' customer_profile.customer_id %}"> <span
 | |
|                             class="text-blue-500 text-xl font-semibold hover:text-slate-700 underline">{{
 | |
|                             customer_profile.user.first_name }} {{customer_profile.user.last_name}} <i
 | |
|                                 class="fa fa-angle-double-right"></i>
 | |
|                             {% if not forloop.last %}, {% endif %}
 | |
|                         </span> </a>
 | |
|                     {%endfor%}
 | |
| 
 | |
|                 </p>
 | |
|             </div>
 | |
| 
 | |
|         </div>
 | |
|     </div>
 | |
| 
 | |
|     <!-- RIGHT SIDE / USERS ACTIVITY -->
 | |
|     <div class="w-[25%] hidden xxlg1:flex flex-col gap-3">
 | |
|         {% if latest_statuses_time_ago %}
 | |
|         <div
 | |
|             class="hidden xxlg1:block w-full bg-white h-[1283px] overflow-y-auto overflow-hidden rounded-md shadow-md p-5">
 | |
|             <h1 class="text-2xl text-secondosiblue text-center font-semibold">Users Activity</h1>
 | |
|             <div class="w-full h-fit mt-2" id="activitiesContainer">
 | |
|     
 | |
|                 {% include 'recent-activities.html' %}
 | |
|     
 | |
|             </div>
 | |
|         </div>
 | |
|         {% else %}
 | |
|         <div
 | |
|             class="hidden xxlg1:block w-full bg-white h-[305px] overflow-y-auto overflow-hidden rounded-md shadow-md p-5">
 | |
|             <h1 class="text-2xl text-secondosiblue text-center font-semibold">Users Activity</h1>
 | |
|             <div class="w-full h-fit mt-2" id="activitiesContainer">
 | |
|     
 | |
|                 {% include 'recent-activities.html' %}
 | |
|     
 | |
|             </div>
 | |
|         </div>
 | |
|         {% endif %}
 | |
|     
 | |
|     
 | |
|         <div class="w-full hidden xxlg1:block bg-white shadow-md rounded-md p-5 cursor-pointer">
 | |
|             <div class="w-full h-full flex flex-col gap-3 items-center">
 | |
|                 <div class="w-full flex justify-center items-center">
 | |
|                     <p class="text-[20px] text-secondosiblue font-bold text-center"><span
 | |
|                             class="text-green-700">14</span>
 | |
|                         Connected User</p>
 | |
|                 </div>
 | |
|     
 | |
|                 <div class="w-full flex flex-wrap gap-2">
 | |
|                     <div class="relative userProfileContainer">
 | |
|                         <div
 | |
|                             class="w-fit py-2 px-3 bg-gray-700 bg-opacity-60 text-white absolute bottom-10 whitespace-nowrap hidden userName">
 | |
|                             <p>Salim Elliye</p>
 | |
|                         </div>
 | |
|                         <div class="w-[30px] h-[30px] rounded-full userImage">
 | |
|                             <img src="{% static 'images/1669023415919.jpeg' %}" alt="User Image"
 | |
|                                 class="w-full h-full rounded-full object-cover">
 | |
|                         </div>
 | |
|                     </div>
 | |
|                     <div class="relative userProfileContainer">
 | |
|                         <div
 | |
|                             class="w-fit py-2 px-3 bg-gray-700 bg-opacity-60 text-white absolute bottom-10 whitespace-nowrap hidden userName">
 | |
|                             <p>Salim Elliye</p>
 | |
|                         </div>
 | |
|                         <div class="w-[30px] h-[30px] rounded-full userImage">
 | |
|                             <img src="{% static 'images/1686063290067.jpeg' %}" alt="User Image"
 | |
|                                 class="w-full h-full rounded-full object-cover">
 | |
|                         </div>
 | |
|                     </div>
 | |
|                     <div class="relative userProfileContainer">
 | |
|                         <div
 | |
|                             class="w-fit py-2 px-3 bg-gray-700 bg-opacity-60 text-white absolute bottom-10 whitespace-nowrap hidden userName">
 | |
|                             <p>Salim Elliye</p>
 | |
|                         </div>
 | |
|                         <div class="w-[30px] h-[30px] rounded-full userImage">
 | |
|                             <img src="{% static 'images/avatar3.png' %}" alt="User Image"
 | |
|                                 class="w-full h-full rounded-full object-cover">
 | |
|                         </div>
 | |
|                     </div>
 | |
|                     <div class="relative userProfileContainer">
 | |
|                         <div
 | |
|                             class="w-fit py-2 px-3 bg-gray-700 bg-opacity-60 text-white absolute bottom-10 whitespace-nowrap hidden userName">
 | |
|                             <p>Salim Elliye</p>
 | |
|                         </div>
 | |
|                         <div class="w-[30px] h-[30px] rounded-full userImage">
 | |
|                             <img src="{% static 'images/1669023415919.jpeg' %}" alt="User Image"
 | |
|                                 class="w-full h-full rounded-full object-cover">
 | |
|                         </div>
 | |
|                     </div>
 | |
|                     <div class="relative userProfileContainer">
 | |
|                         <div
 | |
|                             class="w-fit py-2 px-3 bg-gray-700 bg-opacity-60 text-white absolute bottom-10 whitespace-nowrap hidden userName">
 | |
|                             <p>Salim Elliye</p>
 | |
|                         </div>
 | |
|                         <div class="w-[30px] h-[30px] rounded-full userImage">
 | |
|                             <img src="{% static 'images/1686063290067.jpeg' %}" alt="User Image"
 | |
|                                 class="w-full h-full rounded-full object-cover">
 | |
|                         </div>
 | |
|                     </div>
 | |
|                     <div class="relative userProfileContainer">
 | |
|                         <div
 | |
|                             class="w-fit py-2 px-3 bg-gray-700 bg-opacity-60 text-white absolute bottom-10 whitespace-nowrap hidden userName">
 | |
|                             <p>Salim Elliye</p>
 | |
|                         </div>
 | |
|                         <div class="w-[30px] h-[30px] rounded-full userImage">
 | |
|                             <img src="{% static 'images/avatar3.png' %}" alt="User Image"
 | |
|                                 class="w-full h-full rounded-full object-cover">
 | |
|                         </div>
 | |
|                     </div>
 | |
|                     <div class="relative userProfileContainer">
 | |
|                         <div
 | |
|                             class="w-fit py-2 px-3 bg-gray-700 bg-opacity-60 text-white absolute bottom-10 whitespace-nowrap hidden userName">
 | |
|                             <p>Salim Elliye</p>
 | |
|                         </div>
 | |
|                         <div class="w-[30px] h-[30px] rounded-full userImage">
 | |
|                             <img src="{% static 'images/1669023415919.jpeg' %}" alt="User Image"
 | |
|                                 class="w-full h-full rounded-full object-cover">
 | |
|                         </div>
 | |
|                     </div>
 | |
|                     <div class="relative userProfileContainer">
 | |
|                         <div
 | |
|                             class="w-fit py-2 px-3 bg-gray-700 bg-opacity-60 text-white absolute bottom-10 whitespace-nowrap hidden userName">
 | |
|                             <p>Salim Elliye</p>
 | |
|                         </div>
 | |
|                         <div class="w-[30px] h-[30px] rounded-full userImage">
 | |
|                             <img src="{% static 'images/1686063290067.jpeg' %}" alt="User Image"
 | |
|                                 class="w-full h-full rounded-full object-cover">
 | |
|                         </div>
 | |
|                     </div>
 | |
|                     <div class="relative userProfileContainer">
 | |
|                         <div
 | |
|                             class="w-fit py-2 px-3 bg-gray-700 bg-opacity-60 text-white absolute bottom-10 whitespace-nowrap hidden userName">
 | |
|                             <p>Salim Elliye</p>
 | |
|                         </div>
 | |
|                         <div class="w-[30px] h-[30px] rounded-full userImage">
 | |
|                             <img src="{% static 'images/avatar3.png' %}" alt="User Image"
 | |
|                                 class="w-full h-full rounded-full object-cover">
 | |
|                         </div>
 | |
|                     </div>
 | |
|                     <div class="relative userProfileContainer">
 | |
|                         <div
 | |
|                             class="w-fit py-2 px-3 bg-gray-700 bg-opacity-60 text-white absolute bottom-10 whitespace-nowrap hidden userName">
 | |
|                             <p>Salim Elliye</p>
 | |
|                         </div>
 | |
|                         <div class="w-[30px] h-[30px] rounded-full userImage">
 | |
|                             <img src="{% static 'images/1669023415919.jpeg' %}" alt="User Image"
 | |
|                                 class="w-full h-full rounded-full object-cover">
 | |
|                         </div>
 | |
|                     </div>
 | |
|                     <div class="relative userProfileContainer">
 | |
|                         <div
 | |
|                             class="w-fit py-2 px-3 bg-gray-700 bg-opacity-60 text-white absolute bottom-10 whitespace-nowrap hidden userName">
 | |
|                             <p>Salim Elliye</p>
 | |
|                         </div>
 | |
|                         <div class="w-[30px] h-[30px] rounded-full userImage">
 | |
|                             <img src="{% static 'images/1686063290067.jpeg' %}" alt="User Image"
 | |
|                                 class="w-full h-full rounded-full object-cover">
 | |
|                         </div>
 | |
|                     </div>
 | |
|                     <div class="relative userProfileContainer">
 | |
|                         <div
 | |
|                             class="w-fit py-2 px-3 bg-gray-700 bg-opacity-60 text-white absolute bottom-10 whitespace-nowrap hidden userName">
 | |
|                             <p>Salim Elliye</p>
 | |
|                         </div>
 | |
|                         <div class="w-[30px] h-[30px] rounded-full userImage">
 | |
|                             <img src="{% static 'images/avatar3.png' %}" alt="User Image"
 | |
|                                 class="w-full h-full rounded-full object-cover">
 | |
|                         </div>
 | |
|                     </div>
 | |
|                     <div class="relative userProfileContainer">
 | |
|                         <div
 | |
|                             class="w-fit py-2 px-3 bg-gray-700 bg-opacity-60 text-white absolute bottom-10 whitespace-nowrap hidden userName">
 | |
|                             <p>Salim Elliye</p>
 | |
|                         </div>
 | |
|                         <div class="w-[30px] h-[30px] rounded-full userImage">
 | |
|                             <img src="{% static 'images/1669023415919.jpeg' %}" alt="User Image"
 | |
|                                 class="w-full h-full rounded-full object-cover">
 | |
|                         </div>
 | |
|                     </div>
 | |
|                     <div class="relative userProfileContainer">
 | |
|                         <div
 | |
|                             class="w-fit py-2 px-3 bg-gray-700 bg-opacity-60 text-white absolute bottom-10 whitespace-nowrap hidden userName">
 | |
|                             <p>Salim Elliye</p>
 | |
|                         </div>
 | |
|                         <div class="w-[30px] h-[30px] rounded-full userImage">
 | |
|                             <img src="{% static 'images/1686063290067.jpeg' %}" alt="User Image"
 | |
|                                 class="w-full h-full rounded-full object-cover">
 | |
|                         </div>
 | |
|                     </div>
 | |
|                 </div>
 | |
|             </div>
 | |
|         </div>
 | |
|     </div>
 | |
| </div>
 | |
| </div>
 | |
| 
 | |
| <!-- POPUP MODAL -->
 | |
| <div class="w-full h-full bg-black bg-opacity-40 z-20 fixed justify-center items-center hidden" 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>
 | |
| <script type="text/javascript" src='{% static "js/pop-modals.js" %}'></script>
 | |
| </div>
 | |
| 
 | |
| 
 | |
| <!---------------------- JS SCRIPTS -------------------->
 | |
| 
 | |
| <!-- TO SHOW ALL THE ADDED NOTES BY THE USER WHEN CLICKING ON THE SHOW NOTES BUTTON -->
 | |
| <script type="text/javascript" src='{% static "js/show-notes.js" %}'></script>
 | |
| 
 | |
| <!-- THE SCRIPT FOR THE EPICS BAR -->
 | |
| <script type="text/javascript" src='{% static "js/epics.js" %}'></script>
 | |
| 
 | |
| <!-- IT OPENS A POPUP FOR THE WHOLE NOTE CONTENT -->
 | |
| <script type="text/javascript" src='{% static "js/notes-pop-modal.js" %}'></script>
 | |
| {% endblock content %} |