- Added ProjectTask entity with fields for name, description, budget, hour contingent, hourly rate, and total price. - Created ProjectTaskRepository with methods for querying tasks by project and user access. - Implemented ProjectTaskVoter for fine-grained access control based on user roles and project membership. - Developed ProjectTaskSecurityListener to enforce permission checks during task creation. - Introduced custom ProjectTaskProjectFilter for filtering tasks based on project existence. - Integrated ProjectTask management in the frontend with Vue.js components, including CRUD operations and filtering capabilities. - Added API endpoints for ProjectTask with appropriate security measures. - Created migration for project_tasks table in the database. - Updated documentation to reflect new module features and usage.
28 lines
1.4 KiB
JavaScript
28 lines
1.4 KiB
JavaScript
import { createRouter, createWebHistory } from 'vue-router';
|
|
import Dashboard from './views/Dashboard.vue';
|
|
import ContactManagement from './views/ContactManagement.vue';
|
|
import ProjectManagement from './views/ProjectManagement.vue';
|
|
import ProjectTaskManagement from './views/ProjectTaskManagement.vue';
|
|
import ProjectStatusManagement from './views/ProjectStatusManagement.vue';
|
|
import UserManagement from './views/UserManagement.vue';
|
|
import RoleManagement from './views/RoleManagement.vue';
|
|
import SettingsManagement from './views/SettingsManagement.vue';
|
|
|
|
const routes = [
|
|
{ path: '/', name: 'dashboard', component: Dashboard },
|
|
{ path: '/contacts', name: 'contacts', component: ContactManagement },
|
|
{ path: '/projects', name: 'projects', component: ProjectManagement },
|
|
{ path: '/project-tasks', name: 'project-tasks', component: ProjectTaskManagement },
|
|
{ path: '/project-statuses', name: 'project-statuses', component: ProjectStatusManagement, meta: { requiresAdmin: true } },
|
|
{ path: '/users', name: 'users', component: UserManagement, meta: { requiresAdmin: true } },
|
|
{ path: '/roles', name: 'roles', component: RoleManagement, meta: { requiresAdmin: true } },
|
|
{ path: '/settings', name: 'settings', component: SettingsManagement, meta: { requiresAdmin: true } },
|
|
];
|
|
|
|
const router = createRouter({
|
|
history: createWebHistory(),
|
|
routes,
|
|
});
|
|
|
|
export default router;
|