c3f56f8a3e
- templates: new shell from ACORE-template (mobile sidebar + bottom nav, themes, wallpaper, user dropdown), Django-ized nav with push-url; login rebranding; ACORE-template/ gitignored - new pages wired to real data: databases (Directory types/counts), it-support (Ticket create form + my tickets), dashboard (live counters), structure (departments with head heuristic + pharmacy staffing status); static mockups for news/tasks/email/chat/purchases/hr-portal/help - tests: 57 tests — ad_connector (ldap3 MOCK_SYNC client, sync scenarios, signals, mapping page), mattermost_connector (sync on mocks, bare-except regression), core (pages smoke, tickets, directories, tree rebuild) - celery: add missing acore/celery.py app + CELERY_* settings (broker from env, eager mode without broker locally); wrap signal .delay calls so an unreachable broker no longer breaks employee saves Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
60 lines
2.8 KiB
Python
60 lines
2.8 KiB
Python
"""
|
|
URL configuration for acore project.
|
|
|
|
The `urlpatterns` list routes URLs to views. For more information please see:
|
|
https://docs.djangoproject.com/en/6.0/topics/http/urls/
|
|
Examples:
|
|
Function views
|
|
1. Add an import: from my_app import views
|
|
2. Add a URL to urlpatterns: path('', views.home, name='home')
|
|
Class-based views
|
|
1. Add an import: from other_app.views import Home
|
|
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
|
|
Including another URLconf
|
|
1. Import the include() function: from django.urls import include, path
|
|
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
|
|
"""
|
|
from django.contrib import admin
|
|
from django.urls import path, include
|
|
from django.conf import settings
|
|
from django.conf.urls.static import static
|
|
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
|
|
from core import views
|
|
|
|
urlpatterns = [
|
|
path('admin/', admin.site.urls),
|
|
path('api/attendance/', include('apps.visit_manager.api.urls')),
|
|
path('', include('apps.employees.urls')),
|
|
path('', include('apps.ad_connector.urls')),
|
|
path('', views.index_view, name='index'),
|
|
path('accounts/login/', views.login_view, name='login'),
|
|
path('login/', views.login_view, name='login'),
|
|
path('logout/', views.logout_view, name='logout'),
|
|
path('dashboard/', views.dashboard_view, name='dashboard'),
|
|
path('employees/', views.employees_view, name='employees'),
|
|
path('pharmacies/', views.pharmacies_view, name='pharmacies'),
|
|
path('calendar/', views.calendar_view, name='calendar'),
|
|
path('timetrack/', views.timetrack_view, name='timetrack'),
|
|
path('reports/', views.reports_view, name='reports'),
|
|
path('documents/', views.documents_view, name='documents'),
|
|
path('recruiting/', views.recruiting_view, name='recruiting'),
|
|
path('structure/', views.structure_view, name='structure'),
|
|
path('settings/', views.settings_view, name='settings'),
|
|
path('news/', views.news_view, name='news'),
|
|
path('tasks/', views.tasks_view, name='tasks'),
|
|
path('tasks/detail/', views.task_detail_view, name='task_detail'),
|
|
path('email/', views.email_view, name='email'),
|
|
path('chat/', views.chat_view, name='chat'),
|
|
path('databases/', views.databases_view, name='databases'),
|
|
path('purchases/', views.purchases_view, name='purchases'),
|
|
path('hr-portal/', views.hr_portal_view, name='hr_portal'),
|
|
path('help/', views.help_view, name='help'),
|
|
path('it-support/', views.it_support_view, name='it_support'),
|
|
path('pharmacies/detail/', views.pharmacy_detail_view, name='pharmacy_detail'),
|
|
path('modal-add-employee/', views.modal_add_employee_view, name='modal_add_employee'),
|
|
]
|
|
|
|
if settings.DEBUG:
|
|
urlpatterns += staticfiles_urlpatterns()
|
|
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|