- Modello Tag con nome e colore, M2M su Conversazione - Modello Appuntamento con luogo, note, partecipanti, link a Conversazione - @menzioni nei commenti e aggiornamenti: @username → link al profilo - Autocomplete JS per @menzioni nelle textarea - Auto-data conversazioni (default=now) - CRUD completo appuntamenti con permessi autore - Appuntamenti in agenda, dashboard, dettaglio conversazione - Crea riunione direttamente da una conversazione (pre-compila titolo e partecipanti) - Admin: Tag, Appuntamento registrati
54 lines
2.7 KiB
Python
54 lines
2.7 KiB
Python
from django.urls import path
|
|
from . import views
|
|
|
|
urlpatterns = [
|
|
path('', views.dashboard, name='dashboard'),
|
|
path('agenda/', views.agenda, name='agenda'),
|
|
|
|
# Conversazioni
|
|
path('conversazioni/', views.conversazioni_lista, name='conversazioni_lista'),
|
|
path('conversazioni/nuova/', views.conversazione_nuova, name='conversazione_nuova'),
|
|
path('conversazioni/<int:pk>/', views.conversazione_dettaglio, name='conversazione_dettaglio'),
|
|
path('conversazioni/<int:pk>/modifica/', views.conversazione_modifica, name='conversazione_modifica'),
|
|
path('conversazioni/<int:pk>/elimina/', views.conversazione_elimina, name='conversazione_elimina'),
|
|
|
|
# Commenti conversazioni
|
|
path('commenti/<int:pk>/modifica/', views.commento_modifica, name='commento_modifica'),
|
|
path('commenti/<int:pk>/elimina/', views.commento_elimina, name='commento_elimina'),
|
|
|
|
# Aggiornamenti obiettivi
|
|
path('aggiornamenti/<int:pk>/modifica/', views.aggiornamento_modifica, name='aggiornamento_modifica'),
|
|
path('aggiornamenti/<int:pk>/elimina/', views.aggiornamento_elimina, name='aggiornamento_elimina'),
|
|
|
|
# Obiettivi
|
|
path('obiettivi/', views.obiettivi_lista, name='obiettivi_lista'),
|
|
path('obiettivi/nuovo/', views.obiettivo_nuovo, name='obiettivo_nuovo'),
|
|
path('obiettivi/<int:pk>/', views.obiettivo_dettaglio, name='obiettivo_dettaglio'),
|
|
path('obiettivi/<int:pk>/modifica/', views.obiettivo_modifica, name='obiettivo_modifica'),
|
|
path('obiettivi/<int:pk>/elimina/', views.obiettivo_elimina, name='obiettivo_elimina'),
|
|
path('obiettivi/<int:pk>/avanzamento/', views.obiettivo_avanzamento_ajax, name='obiettivo_avanzamento_ajax'),
|
|
|
|
# Documenti
|
|
path('documenti/', views.documenti_lista, name='documenti_lista'),
|
|
path('documenti/nuovo/', views.documento_nuovo, name='documento_nuovo'),
|
|
path('documenti/<int:pk>/', views.documento_dettaglio, name='documento_dettaglio'),
|
|
path('documenti/<int:pk>/elimina/', views.documento_elimina, name='documento_elimina'),
|
|
|
|
# Appuntamenti
|
|
path('appuntamenti/', views.appuntamenti_lista, name='appuntamenti_lista'),
|
|
path('appuntamenti/nuovo/', views.appuntamento_nuovo, name='appuntamento_nuovo'),
|
|
path('appuntamenti/<int:pk>/', views.appuntamento_dettaglio, name='appuntamento_dettaglio'),
|
|
path('appuntamenti/<int:pk>/modifica/', views.appuntamento_modifica, name='appuntamento_modifica'),
|
|
path('appuntamenti/<int:pk>/elimina/', views.appuntamento_elimina, name='appuntamento_elimina'),
|
|
|
|
# Ricerca
|
|
path('ricerca/', views.ricerca, name='ricerca'),
|
|
|
|
# Persone
|
|
path('persone/', views.persone_lista, name='persone_lista'),
|
|
path('persone/<int:pk>/', views.persona_dettaglio, name='persona_dettaglio'),
|
|
|
|
# API
|
|
path('api/utenti/', views.api_utenti, name='api_utenti'),
|
|
]
|