diff --git a/osinaweb/.idea/.gitignore b/osinaweb/.idea/.gitignore
new file mode 100644
index 00000000..13566b81
--- /dev/null
+++ b/osinaweb/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/osinaweb/.idea/inspectionProfiles/Project_Default.xml b/osinaweb/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 00000000..684dccda
--- /dev/null
+++ b/osinaweb/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/osinaweb/.idea/inspectionProfiles/profiles_settings.xml b/osinaweb/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 00000000..105ce2da
--- /dev/null
+++ b/osinaweb/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/osinaweb/.idea/misc.xml b/osinaweb/.idea/misc.xml
new file mode 100644
index 00000000..a305c083
--- /dev/null
+++ b/osinaweb/.idea/misc.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/osinaweb/.idea/modules.xml b/osinaweb/.idea/modules.xml
new file mode 100644
index 00000000..f5efc726
--- /dev/null
+++ b/osinaweb/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/osinaweb/.idea/osinaweb.iml b/osinaweb/.idea/osinaweb.iml
new file mode 100644
index 00000000..182c0fdd
--- /dev/null
+++ b/osinaweb/.idea/osinaweb.iml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/osinaweb/.idea/vcs.xml b/osinaweb/.idea/vcs.xml
new file mode 100644
index 00000000..6c0b8635
--- /dev/null
+++ b/osinaweb/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/osinaweb/addressbook/__pycache__/__init__.cpython-313.pyc b/osinaweb/addressbook/__pycache__/__init__.cpython-313.pyc
index eec335f3..69a32a52 100644
Binary files a/osinaweb/addressbook/__pycache__/__init__.cpython-313.pyc and b/osinaweb/addressbook/__pycache__/__init__.cpython-313.pyc differ
diff --git a/osinaweb/addressbook/__pycache__/admin.cpython-313.pyc b/osinaweb/addressbook/__pycache__/admin.cpython-313.pyc
index b102a11e..8217de9c 100644
Binary files a/osinaweb/addressbook/__pycache__/admin.cpython-313.pyc and b/osinaweb/addressbook/__pycache__/admin.cpython-313.pyc differ
diff --git a/osinaweb/addressbook/__pycache__/apps.cpython-313.pyc b/osinaweb/addressbook/__pycache__/apps.cpython-313.pyc
index c15882a2..26548b3b 100644
Binary files a/osinaweb/addressbook/__pycache__/apps.cpython-313.pyc and b/osinaweb/addressbook/__pycache__/apps.cpython-313.pyc differ
diff --git a/osinaweb/addressbook/__pycache__/models.cpython-313.pyc b/osinaweb/addressbook/__pycache__/models.cpython-313.pyc
index f016bc4e..98024aa4 100644
Binary files a/osinaweb/addressbook/__pycache__/models.cpython-313.pyc and b/osinaweb/addressbook/__pycache__/models.cpython-313.pyc differ
diff --git a/osinaweb/billing/__pycache__/__init__.cpython-313.pyc b/osinaweb/billing/__pycache__/__init__.cpython-313.pyc
index 5f766183..bd9a0e34 100644
Binary files a/osinaweb/billing/__pycache__/__init__.cpython-313.pyc and b/osinaweb/billing/__pycache__/__init__.cpython-313.pyc differ
diff --git a/osinaweb/billing/__pycache__/admin.cpython-313.pyc b/osinaweb/billing/__pycache__/admin.cpython-313.pyc
index 45654bc4..c0598e8f 100644
Binary files a/osinaweb/billing/__pycache__/admin.cpython-313.pyc and b/osinaweb/billing/__pycache__/admin.cpython-313.pyc differ
diff --git a/osinaweb/billing/__pycache__/apps.cpython-313.pyc b/osinaweb/billing/__pycache__/apps.cpython-313.pyc
index 75fb1cc4..0598d780 100644
Binary files a/osinaweb/billing/__pycache__/apps.cpython-313.pyc and b/osinaweb/billing/__pycache__/apps.cpython-313.pyc differ
diff --git a/osinaweb/billing/__pycache__/models.cpython-313.pyc b/osinaweb/billing/__pycache__/models.cpython-313.pyc
index 2e18ce3d..cfb56cfb 100644
Binary files a/osinaweb/billing/__pycache__/models.cpython-313.pyc and b/osinaweb/billing/__pycache__/models.cpython-313.pyc differ
diff --git a/osinaweb/billing/add/__pycache__/views.cpython-313.pyc b/osinaweb/billing/add/__pycache__/views.cpython-313.pyc
index 8fa4b81c..ac957371 100644
Binary files a/osinaweb/billing/add/__pycache__/views.cpython-313.pyc and b/osinaweb/billing/add/__pycache__/views.cpython-313.pyc differ
diff --git a/osinaweb/customercore/__pycache__/__init__.cpython-313.pyc b/osinaweb/customercore/__pycache__/__init__.cpython-313.pyc
index 86986dc4..19f86094 100644
Binary files a/osinaweb/customercore/__pycache__/__init__.cpython-313.pyc and b/osinaweb/customercore/__pycache__/__init__.cpython-313.pyc differ
diff --git a/osinaweb/customercore/__pycache__/admin.cpython-313.pyc b/osinaweb/customercore/__pycache__/admin.cpython-313.pyc
index 70e26512..cad9536d 100644
Binary files a/osinaweb/customercore/__pycache__/admin.cpython-313.pyc and b/osinaweb/customercore/__pycache__/admin.cpython-313.pyc differ
diff --git a/osinaweb/customercore/__pycache__/apps.cpython-313.pyc b/osinaweb/customercore/__pycache__/apps.cpython-313.pyc
index d4d3607a..409580ea 100644
Binary files a/osinaweb/customercore/__pycache__/apps.cpython-313.pyc and b/osinaweb/customercore/__pycache__/apps.cpython-313.pyc differ
diff --git a/osinaweb/customercore/__pycache__/decorators.cpython-313.pyc b/osinaweb/customercore/__pycache__/decorators.cpython-313.pyc
index aa94ec07..49e37dcc 100644
Binary files a/osinaweb/customercore/__pycache__/decorators.cpython-313.pyc and b/osinaweb/customercore/__pycache__/decorators.cpython-313.pyc differ
diff --git a/osinaweb/customercore/__pycache__/models.cpython-313.pyc b/osinaweb/customercore/__pycache__/models.cpython-313.pyc
index 5ef480a1..3e20caa0 100644
Binary files a/osinaweb/customercore/__pycache__/models.cpython-313.pyc and b/osinaweb/customercore/__pycache__/models.cpython-313.pyc differ
diff --git a/osinaweb/customercore/__pycache__/urls.cpython-313.pyc b/osinaweb/customercore/__pycache__/urls.cpython-313.pyc
index 1ad95192..8cf093f7 100644
Binary files a/osinaweb/customercore/__pycache__/urls.cpython-313.pyc and b/osinaweb/customercore/__pycache__/urls.cpython-313.pyc differ
diff --git a/osinaweb/customercore/__pycache__/views.cpython-313.pyc b/osinaweb/customercore/__pycache__/views.cpython-313.pyc
index c5a6f1f1..4d503d41 100644
Binary files a/osinaweb/customercore/__pycache__/views.cpython-313.pyc and b/osinaweb/customercore/__pycache__/views.cpython-313.pyc differ
diff --git a/osinaweb/db.sqlite3 b/osinaweb/db.sqlite3
index e7bf539e..690ac211 100644
Binary files a/osinaweb/db.sqlite3 and b/osinaweb/db.sqlite3 differ
diff --git a/osinaweb/osichat/__pycache__/__init__.cpython-313.pyc b/osinaweb/osichat/__pycache__/__init__.cpython-313.pyc
index efc58213..17458ee1 100644
Binary files a/osinaweb/osichat/__pycache__/__init__.cpython-313.pyc and b/osinaweb/osichat/__pycache__/__init__.cpython-313.pyc differ
diff --git a/osinaweb/osichat/__pycache__/admin.cpython-313.pyc b/osinaweb/osichat/__pycache__/admin.cpython-313.pyc
index 44f1db9a..bdbb1b5a 100644
Binary files a/osinaweb/osichat/__pycache__/admin.cpython-313.pyc and b/osinaweb/osichat/__pycache__/admin.cpython-313.pyc differ
diff --git a/osinaweb/osichat/__pycache__/apps.cpython-313.pyc b/osinaweb/osichat/__pycache__/apps.cpython-313.pyc
index 0639dc7f..a837eb25 100644
Binary files a/osinaweb/osichat/__pycache__/apps.cpython-313.pyc and b/osinaweb/osichat/__pycache__/apps.cpython-313.pyc differ
diff --git a/osinaweb/osichat/__pycache__/models.cpython-313.pyc b/osinaweb/osichat/__pycache__/models.cpython-313.pyc
index a5d41116..b9113362 100644
Binary files a/osinaweb/osichat/__pycache__/models.cpython-313.pyc and b/osinaweb/osichat/__pycache__/models.cpython-313.pyc differ
diff --git a/osinaweb/osinacore/__pycache__/__init__.cpython-313.pyc b/osinaweb/osinacore/__pycache__/__init__.cpython-313.pyc
index 4e15bd5c..12222a7a 100644
Binary files a/osinaweb/osinacore/__pycache__/__init__.cpython-313.pyc and b/osinaweb/osinacore/__pycache__/__init__.cpython-313.pyc differ
diff --git a/osinaweb/osinacore/__pycache__/admin.cpython-313.pyc b/osinaweb/osinacore/__pycache__/admin.cpython-313.pyc
index 099b611f..b0c5fd6d 100644
Binary files a/osinaweb/osinacore/__pycache__/admin.cpython-313.pyc and b/osinaweb/osinacore/__pycache__/admin.cpython-313.pyc differ
diff --git a/osinaweb/osinacore/__pycache__/apps.cpython-313.pyc b/osinaweb/osinacore/__pycache__/apps.cpython-313.pyc
index e76f26ef..c1acfca2 100644
Binary files a/osinaweb/osinacore/__pycache__/apps.cpython-313.pyc and b/osinaweb/osinacore/__pycache__/apps.cpython-313.pyc differ
diff --git a/osinaweb/osinacore/__pycache__/decorators.cpython-313.pyc b/osinaweb/osinacore/__pycache__/decorators.cpython-313.pyc
index f1ba69ac..f33f2080 100644
Binary files a/osinaweb/osinacore/__pycache__/decorators.cpython-313.pyc and b/osinaweb/osinacore/__pycache__/decorators.cpython-313.pyc differ
diff --git a/osinaweb/osinacore/__pycache__/forms.cpython-313.pyc b/osinaweb/osinacore/__pycache__/forms.cpython-313.pyc
index bfdf9d4f..e6355f27 100644
Binary files a/osinaweb/osinacore/__pycache__/forms.cpython-313.pyc and b/osinaweb/osinacore/__pycache__/forms.cpython-313.pyc differ
diff --git a/osinaweb/osinacore/__pycache__/models.cpython-313.pyc b/osinaweb/osinacore/__pycache__/models.cpython-313.pyc
index c4e68049..65ab979d 100644
Binary files a/osinaweb/osinacore/__pycache__/models.cpython-313.pyc and b/osinaweb/osinacore/__pycache__/models.cpython-313.pyc differ
diff --git a/osinaweb/osinacore/__pycache__/urls.cpython-313.pyc b/osinaweb/osinacore/__pycache__/urls.cpython-313.pyc
index 173ec6e1..a7ca243f 100644
Binary files a/osinaweb/osinacore/__pycache__/urls.cpython-313.pyc and b/osinaweb/osinacore/__pycache__/urls.cpython-313.pyc differ
diff --git a/osinaweb/osinacore/__pycache__/views.cpython-313.pyc b/osinaweb/osinacore/__pycache__/views.cpython-313.pyc
index 8e14e41b..6b70592d 100644
Binary files a/osinaweb/osinacore/__pycache__/views.cpython-313.pyc and b/osinaweb/osinacore/__pycache__/views.cpython-313.pyc differ
diff --git a/osinaweb/osinacore/add/__pycache__/urls.cpython-313.pyc b/osinaweb/osinacore/add/__pycache__/urls.cpython-313.pyc
index d4afa8f6..0dc038d6 100644
Binary files a/osinaweb/osinacore/add/__pycache__/urls.cpython-313.pyc and b/osinaweb/osinacore/add/__pycache__/urls.cpython-313.pyc differ
diff --git a/osinaweb/osinacore/add/__pycache__/views.cpython-313.pyc b/osinaweb/osinacore/add/__pycache__/views.cpython-313.pyc
index b534df11..6c35f82a 100644
Binary files a/osinaweb/osinacore/add/__pycache__/views.cpython-313.pyc and b/osinaweb/osinacore/add/__pycache__/views.cpython-313.pyc differ
diff --git a/osinaweb/osinacore/add/urls.py b/osinaweb/osinacore/add/urls.py
index 26388d3d..7dae3401 100644
--- a/osinaweb/osinacore/add/urls.py
+++ b/osinaweb/osinacore/add/urls.py
@@ -7,6 +7,8 @@ urlpatterns = [
path('status/', views.add_status_modal, name='addstatusmodal'),
path('customer/', views.add_customer, name='addcustomer'),
path('business/', views.add_business, name='addbusiness'),
+ path('addressbook/', views.add_addressbook, name='addaddressbook'),
+
path('staff/', views.add_staff, name='adduser'),
diff --git a/osinaweb/osinacore/add/views.py b/osinaweb/osinacore/add/views.py
index d8617627..8efa1c79 100644
--- a/osinaweb/osinacore/add/views.py
+++ b/osinaweb/osinacore/add/views.py
@@ -894,3 +894,51 @@ def add_ticket_update(request, ticket_id):
}
return render(request, 'add_templates/customer-add-ticket.html', context)
+
+@staff_login_required
+def add_addressbook(request):
+ customers = CustomerProfile.objects.all().order_by('-id')
+ business_types = BusinessType.objects.all().order_by('-id')
+ if request.method == 'POST':
+
+ customer_id = request.POST.get('customer')
+ customer = get_object_or_404(CustomerProfile, id=customer_id)
+
+ name = request.POST.get('name')
+ email = request.POST.get('email')
+ financial_number = request.POST.get('financial_number')
+ phone_number = request.POST.get('phone_number')
+ vat = request.POST.get('vat')
+ if vat:
+ vat = True
+ else:
+ vat = False
+ commercial_registration = request.POST.get('commercial_registration')
+ website = request.POST.get('website')
+ logo = request.FILES.get('logo')
+
+ business_type_id = request.POST.get('type')
+ business_type = get_object_or_404(BusinessType, id=business_type_id)
+
+ business = Business(
+ customer=customer,
+ name=name,
+ email=email,
+ financial_number=financial_number,
+ vat=vat,
+ commercial_registration=commercial_registration,
+ website=website,
+ type=business_type,
+ logo=logo,
+ phone_number=phone_number,
+ )
+ business.save()
+
+ return redirect('businesses')
+
+ context = {
+ 'customers': customers,
+ 'business_types': business_types,
+ }
+
+ return render(request, 'add_templates/add-business.html', context)
diff --git a/osinaweb/osinacore/api/__pycache__/serializers.cpython-313.pyc b/osinaweb/osinacore/api/__pycache__/serializers.cpython-313.pyc
index 106e7b19..037527ce 100644
Binary files a/osinaweb/osinacore/api/__pycache__/serializers.cpython-313.pyc and b/osinaweb/osinacore/api/__pycache__/serializers.cpython-313.pyc differ
diff --git a/osinaweb/osinacore/api/__pycache__/urls.cpython-313.pyc b/osinaweb/osinacore/api/__pycache__/urls.cpython-313.pyc
index 4076a170..0d578db0 100644
Binary files a/osinaweb/osinacore/api/__pycache__/urls.cpython-313.pyc and b/osinaweb/osinacore/api/__pycache__/urls.cpython-313.pyc differ
diff --git a/osinaweb/osinacore/api/__pycache__/utils.cpython-313.pyc b/osinaweb/osinacore/api/__pycache__/utils.cpython-313.pyc
index 0a282658..3a941d24 100644
Binary files a/osinaweb/osinacore/api/__pycache__/utils.cpython-313.pyc and b/osinaweb/osinacore/api/__pycache__/utils.cpython-313.pyc differ
diff --git a/osinaweb/osinacore/api/__pycache__/views.cpython-313.pyc b/osinaweb/osinacore/api/__pycache__/views.cpython-313.pyc
index 0fe71528..fefc029a 100644
Binary files a/osinaweb/osinacore/api/__pycache__/views.cpython-313.pyc and b/osinaweb/osinacore/api/__pycache__/views.cpython-313.pyc differ
diff --git a/osinaweb/osinacore/delete/__pycache__/urls.cpython-313.pyc b/osinaweb/osinacore/delete/__pycache__/urls.cpython-313.pyc
index 1a556f27..f57fb394 100644
Binary files a/osinaweb/osinacore/delete/__pycache__/urls.cpython-313.pyc and b/osinaweb/osinacore/delete/__pycache__/urls.cpython-313.pyc differ
diff --git a/osinaweb/osinacore/delete/__pycache__/views.cpython-313.pyc b/osinaweb/osinacore/delete/__pycache__/views.cpython-313.pyc
index 1d5bcc63..c430138a 100644
Binary files a/osinaweb/osinacore/delete/__pycache__/views.cpython-313.pyc and b/osinaweb/osinacore/delete/__pycache__/views.cpython-313.pyc differ
diff --git a/osinaweb/osinacore/edit/__pycache__/urls.cpython-313.pyc b/osinaweb/osinacore/edit/__pycache__/urls.cpython-313.pyc
index 024800ed..7de99aa4 100644
Binary files a/osinaweb/osinacore/edit/__pycache__/urls.cpython-313.pyc and b/osinaweb/osinacore/edit/__pycache__/urls.cpython-313.pyc differ
diff --git a/osinaweb/osinacore/edit/__pycache__/views.cpython-313.pyc b/osinaweb/osinacore/edit/__pycache__/views.cpython-313.pyc
index 3f21abca..77184bf5 100644
Binary files a/osinaweb/osinacore/edit/__pycache__/views.cpython-313.pyc and b/osinaweb/osinacore/edit/__pycache__/views.cpython-313.pyc differ
diff --git a/osinaweb/osinacore/knowledge_base/__pycache__/urls.cpython-313.pyc b/osinaweb/osinacore/knowledge_base/__pycache__/urls.cpython-313.pyc
index b54c5328..31aef81f 100644
Binary files a/osinaweb/osinacore/knowledge_base/__pycache__/urls.cpython-313.pyc and b/osinaweb/osinacore/knowledge_base/__pycache__/urls.cpython-313.pyc differ
diff --git a/osinaweb/osinacore/knowledge_base/__pycache__/views.cpython-313.pyc b/osinaweb/osinacore/knowledge_base/__pycache__/views.cpython-313.pyc
index 88e250a9..378abfb2 100644
Binary files a/osinaweb/osinacore/knowledge_base/__pycache__/views.cpython-313.pyc and b/osinaweb/osinacore/knowledge_base/__pycache__/views.cpython-313.pyc differ
diff --git a/osinaweb/osinacore/templates/add_templates/add-addressbook.html b/osinaweb/osinacore/templates/add_templates/add-addressbook.html
new file mode 100644
index 00000000..9d9e0474
--- /dev/null
+++ b/osinaweb/osinacore/templates/add_templates/add-addressbook.html
@@ -0,0 +1,110 @@
+{% extends "add-edit-main.html" %}
+{%load static%}
+{% block content %}
+
+
+
+
+
+
+
+{% endblock content %}
\ No newline at end of file
diff --git a/osinaweb/osinacore/templates/listing_pages/adressbooks.html b/osinaweb/osinacore/templates/listing_pages/adressbooks.html
new file mode 100644
index 00000000..7155de01
--- /dev/null
+++ b/osinaweb/osinacore/templates/listing_pages/adressbooks.html
@@ -0,0 +1,118 @@
+{% extends "main.html" %}
+{%load static%}
+{% block title %}My Projects{% endblock %}
+{% block content %}
+
+
+
+
+
Address Book
+
+
+
+
+
+
+
+
+
+
+
+ Name
+ |
+
+ Country
+ |
+
+ Contact
+ |
+
+ Actions
+ |
+
+
+
+
+
+
+ {% for address in addresses %}
+
+
+
+
+ 
+
+ {{ address.first_name }} {{ address.middle_name }} {{ address.last_name }}
+
+ |
+
+
+ {% for c in address.contact_set.all %}
+ {{c.type}}: {{c.contact}}
+ {% endfor %}
+ |
+
+
+ {{address.type.name}}
+ |
+
+
+
+
+
+ |
+
+ {% endfor %}
+
+
+
+
+
+
+
+{% endblock content %}
\ No newline at end of file
diff --git a/osinaweb/osinacore/templates/main.html b/osinaweb/osinacore/templates/main.html
index 6881041c..0944eca0 100644
--- a/osinaweb/osinacore/templates/main.html
+++ b/osinaweb/osinacore/templates/main.html
@@ -466,6 +466,49 @@
Activity
+
+
+
+
+
Address Book
+
+
+
+
+
+
diff --git a/osinaweb/osinacore/urls.py b/osinaweb/osinacore/urls.py
index 1277e629..011302bf 100644
--- a/osinaweb/osinacore/urls.py
+++ b/osinaweb/osinacore/urls.py
@@ -81,7 +81,7 @@ urlpatterns = [
path('edit/', include('osinacore.edit.urls')),
path('delete/', include('osinacore.delete.urls')),
path('knowledge_base/', include('osinacore.knowledge_base.urls')),
-
+ path('addressbook/', views.addressbook, name='addressbook'),
#Fetch urls
path('get_tasks//', views.get_tasks, name='get_tasks'),
diff --git a/osinaweb/osinacore/views.py b/osinaweb/osinacore/views.py
index 637c2557..dd423cb1 100644
--- a/osinaweb/osinacore/views.py
+++ b/osinaweb/osinacore/views.py
@@ -1,4 +1,6 @@
from django.shortcuts import render, redirect, get_object_or_404
+
+from addressbook.models import AddressBook
from .models import *
from django.contrib.auth import authenticate, login, logout
from django.contrib.auth import login as auth_login
@@ -259,6 +261,8 @@ def businesses(request):
}
return render(request, 'listing_pages/businesses.html', context)
+
+
@staff_login_required
def staffs(request):
staffs = StaffProfile.objects.all().order_by('-staff_id')
@@ -853,3 +857,11 @@ def fetch_projects_by_status(request, status=None):
+@staff_login_required
+def addressbook(request):
+ addresses = AddressBook.objects.all()
+ context = {
+ 'addresses' : addresses,
+
+ }
+ return render(request, 'listing_pages/adressbooks.html', context)
\ No newline at end of file
diff --git a/osinaweb/osinaweb/__pycache__/__init__.cpython-313.pyc b/osinaweb/osinaweb/__pycache__/__init__.cpython-313.pyc
index 8a315970..f166879e 100644
Binary files a/osinaweb/osinaweb/__pycache__/__init__.cpython-313.pyc and b/osinaweb/osinaweb/__pycache__/__init__.cpython-313.pyc differ
diff --git a/osinaweb/osinaweb/__pycache__/settings.cpython-313.pyc b/osinaweb/osinaweb/__pycache__/settings.cpython-313.pyc
index 2466a9a7..187c3b30 100644
Binary files a/osinaweb/osinaweb/__pycache__/settings.cpython-313.pyc and b/osinaweb/osinaweb/__pycache__/settings.cpython-313.pyc differ
diff --git a/osinaweb/osinaweb/__pycache__/urls.cpython-313.pyc b/osinaweb/osinaweb/__pycache__/urls.cpython-313.pyc
index b8f45395..9a94236c 100644
Binary files a/osinaweb/osinaweb/__pycache__/urls.cpython-313.pyc and b/osinaweb/osinaweb/__pycache__/urls.cpython-313.pyc differ
diff --git a/osinaweb/requirements.txt b/osinaweb/requirements.txt
new file mode 100644
index 00000000..feca81a2
--- /dev/null
+++ b/osinaweb/requirements.txt
@@ -0,0 +1,10 @@
+django==5.2
+Pillow==11.1.0
+firebase-admin==6.7.0
+daphne==4.1.2
+djangorestframework==3.16.0
+fcm-django==2.2.1
+django-colorfield==0.13.0
+django-cors-headers==4.7.0
+channels==4.2.2
+weasyprint==65.0
diff --git a/osinaweb/static/dist/output.css b/osinaweb/static/dist/output.css
index 3e386ca7..d47b69ac 100644
--- a/osinaweb/static/dist/output.css
+++ b/osinaweb/static/dist/output.css
@@ -3364,6 +3364,11 @@ video {
color: rgb(255 255 255 / var(--tw-text-opacity));
}
+.hover\:text-blue-800:hover {
+ --tw-text-opacity: 1;
+ color: rgb(30 64 175 / var(--tw-text-opacity));
+}
+
.hover\:underline:hover {
text-decoration-line: underline;
}
@@ -3457,10 +3462,6 @@ video {
height: 45px;
}
- .s\:h-\[55px\] {
- height: 55px;
- }
-
.s\:h-\[60px\] {
height: 60px;
}
diff --git a/osinaweb/support/__pycache__/__init__.cpython-313.pyc b/osinaweb/support/__pycache__/__init__.cpython-313.pyc
index b257c570..ebc7fed8 100644
Binary files a/osinaweb/support/__pycache__/__init__.cpython-313.pyc and b/osinaweb/support/__pycache__/__init__.cpython-313.pyc differ
diff --git a/osinaweb/support/__pycache__/admin.cpython-313.pyc b/osinaweb/support/__pycache__/admin.cpython-313.pyc
index ad42e662..856b6170 100644
Binary files a/osinaweb/support/__pycache__/admin.cpython-313.pyc and b/osinaweb/support/__pycache__/admin.cpython-313.pyc differ
diff --git a/osinaweb/support/__pycache__/apps.cpython-313.pyc b/osinaweb/support/__pycache__/apps.cpython-313.pyc
index 824d0674..54f58812 100644
Binary files a/osinaweb/support/__pycache__/apps.cpython-313.pyc and b/osinaweb/support/__pycache__/apps.cpython-313.pyc differ
diff --git a/osinaweb/support/__pycache__/models.cpython-313.pyc b/osinaweb/support/__pycache__/models.cpython-313.pyc
index 5611d1fd..a8abbe3a 100644
Binary files a/osinaweb/support/__pycache__/models.cpython-313.pyc and b/osinaweb/support/__pycache__/models.cpython-313.pyc differ