def test_project_create_no_project_id(self): data = { 'title': 'Test Project', 'description': 'A test project', 'pi_emails': '[email protected],[email protected]', 'managers': ['testuser','testcuuser'], 'collaborators': ['testuser','testcuuser'], 'organization':'ucb', } request = RequestFactory().post('/projects/create',data) request.user = self.user view = ProjectCreateView.as_view() response = view(request) self.assertTrue(response.url.startswith('/projects/list/')) proj = Project.objects.filter(project_id='ucb1') self.assertEqual(proj.count(),1) request = RequestFactory().post('/projects/create',data) request.user = self.user view = ProjectCreateView.as_view() response = view(request) self.assertTrue(response.url.startswith('/projects/list/')) proj = Project.objects.filter(project_id='ucb2') self.assertEqual(proj.count(),1) data.update({'organization':'csu'}) request = RequestFactory().post('/projects/create',data) request.user = self.user view = ProjectCreateView.as_view() response = view(request) self.assertTrue(response.url.startswith('/projects/list/')) proj = Project.objects.filter(project_id='ucb1') self.assertEqual(proj.count(),1)
def test_project_create(self): request = RequestFactory().post( '/projects/create', data={ 'project_id': 'ucb1', 'title': 'Test Project', 'description': 'A test project', 'pi_emails': '[email protected],[email protected]', 'managers': ['testuser','testcuuser'], 'collaborators': ['testuser','testcuuser'], 'organization':'ucb', } ) request.user = self.user view = ProjectCreateView.as_view() response = view(request) self.assertTrue(response.url.startswith('/projects/list/')) proj = Project.objects.get(project_id='ucb1') self.assertEquals(proj.title,'Test Project') self.assertEquals(proj.description,'A test project') self.assertEquals(proj.pi_emails,['*****@*****.**','*****@*****.**']) self.assertEquals(proj.managers,['testuser','testcuuser','testrequester']) self.assertEquals(proj.collaborators,['testuser','testcuuser']) self.assertEquals(proj.organization,'ucb')
def test_project_create_missing_explanation(self): request = RequestFactory().post( '/projects/create', data = { # 'title': 'Test Project', # 'description': 'A test project', 'pi_emails': '[email protected],[email protected]', 'managers': ['testuser','testcuuser'], 'collaborators': ['testuser','testcuuser'], 'organization':'ucb', } ) request.user = self.user view = ProjectCreateView.as_view() response = view(request) self.assertEquals( len(response.context_data['form'].errors['title']), 1 ) self.assertEquals( len(response.context_data['form'].errors['description']), 1 ) self.assertRaises( Project.DoesNotExist, Project.objects.get, **{} )
# We disable the invalid name because urlpatterns is the Django default """ URLs related to managing projects Available functions: - None yet """ from django.conf.urls import url from projects.views import ProjectListView, ProjectCreateView, get_projects, \ ProjectEditView, ProjectDetailView, ProjectDeleteView, \ ProjectCalculationsView urlpatterns = [ url(r'^projects/?$', ProjectListView.as_view(), name='projects'), url(r'^create/?$', ProjectCreateView.as_view(), name='create_project'), url(r'^edit/(?P<pk>\d+)/?$', ProjectEditView.as_view(), name='edit_project'), url(r'^detail/(?P<pk>\d+)/?$', ProjectDetailView.as_view(), name='detail_project'), url(r'^delete/(?P<pk>\d+)/?$', ProjectDeleteView.as_view(), name='delete_project'), url(r'^calculations/(?P<pk>\d+)/?$', ProjectCalculationsView.as_view(), name='delete_project'), url(r'^get_projects/?$', get_projects, name='get_projects'), ]
from django.contrib.auth.decorators import permission_required, login_required from django.views.generic import DetailView, ListView, UpdateView, CreateView, DeleteView from projects.models import Project, Deliverable, DeliverableVolume from projects.views import ProjectListView, FilteredProjectListView, ProjectDetailView, ProjectUpdateView, ProjectCreateView, ProjectDeleteView from projects.views import DeliverableListView, DeliverableDetailView, DeliverableUpdateView, DeliverableCreateView, DeliverableDeleteView, AddDeliverableFromProjectView from projects.views import AddDeliverableVolumeView, DeliverableVolumeUpdateView from qualifications.views import AddPositionFromProjectView urlpatterns = [ ################################## # Projects url(r'^projects/$', ProjectListView.as_view(), name='projects_list'), url(r'^projects/(?P<pk>\d+)/$', ProjectDetailView.as_view(), name='project_detail'), url(r'^projects/create/$', ProjectCreateView.as_view(), name='create_project'), url(r'^projects/(?P<pk>\d+)/update/$', ProjectUpdateView.as_view(), name='update_project'), url(r'^projects/(?P<pk>\d+)/delete/$', ProjectDeleteView.as_view(), name='delete_project'), # Add deliverable to a project url(r'^projects/(?P<pk>\d+)/add_deliverable/$', AddDeliverableFromProjectView.as_view(), name='add_deliverable'), # Add position to a project url(r'^projects/(?P<pk>\d+)/add_position/$', AddPositionFromProjectView.as_view(), name='add_projectposition'), url(r'^projects/(?P<filter>.+)/$', FilteredProjectListView.as_view(),name='projects_list_status'), ################################## ################################## # Deliverables url(r'^deliverables/$', DeliverableListView.as_view(), name='deliverables_list' ), url(r'^deliverables/(?P<pk>\d+)/$', DeliverableDetailView.as_view(), name='deliverable_detail'),
from django.conf.urls import include, url from django.contrib.auth.decorators import login_required from projects.views import ProjectListView from projects.views import ProjectDetailView from projects.views import ProjectEditView from projects.views import ProjectCreateView from projects.views import ReferenceDetailView from projects.views import ReferenceEditView from projects.views import ReferenceCreateView from projects.views import AllocationRequestDetailView from projects.views import AllocationRequestCreateView urlpatterns = [ url(r'^list$', login_required(ProjectListView.as_view()), name='project-list'), url(r'^list/(?P<pk>[-\w]+)/$', login_required(ProjectDetailView.as_view()), name='project-detail'), url(r'^list/(?P<pk>[-\w]+)/edit$', login_required(ProjectEditView.as_view()), name='project-edit'), url(r'^create$', login_required(ProjectCreateView.as_view()), name='project-create'), url(r'^list/(?P<project_pk>[-\w]+)/references/(?P<pk>[-\w]+)/$', login_required(ReferenceDetailView.as_view()), name='reference-detail'), url(r'^list/(?P<project_pk>[-\w]+)/references/(?P<pk>[-\w]+)/edit$', login_required(ReferenceEditView.as_view()), name='reference-edit'), url(r'^list/(?P<project_pk>[-\w]+)/references/create$', login_required(ReferenceCreateView.as_view()), name='reference-create'), url(r'^list/(?P<project_pk>[-\w]+)/allocationrequests/(?P<pk>[-\w]+)/$', login_required(AllocationRequestDetailView.as_view()), name='allocation-request-detail'), url(r'^list/(?P<project_pk>[-\w]+)/allocationrequests/create$', login_required(AllocationRequestCreateView.as_view()), name='allocation-request-create'), ]
from django.urls import path from projects.views import (ProjectCreateView, ProjectListView, ProjectDetailView, ProjectDeleteView, ProjectUpdateView) urlpatterns = [ path('créer/', ProjectCreateView.as_view(), name='project_create_view'), path('vos-projets/', ProjectListView.as_view(), name='project_list_view'), path('<int:pk>-<str>/', ProjectDetailView.as_view(), name='project_detail_view'), path('supprimer/<int:pk>/', ProjectDeleteView.as_view(), name='project_delete_view'), path('editer/<int:pk>/', ProjectUpdateView.as_view(), name='project_update_view'), ]
from django.conf.urls.defaults import patterns, include, url from projects.views import (ProjectCreateView, DeveloperAddView, DeveloperDeleteView, ProjectListView) urlpatterns = patterns('', url(r'^$', ProjectListView.as_view(), name='project_list'), url(r'^(?P<pk>\d+)/$', ProjectDetailView.as_view(), name='project_detail'), url(r'^create/$', ProjectCreateView.as_view(), name='project_create'), url(r'^(?P<pk>\d+)/developer/add/$', DeveloperAddView.as_view(), name='developer_add'), url(r'^(?P<pk>\d+)/developer/(?P<developer_pk>\d+)/delete/$', DeveloperDeleteView.as_view(), name='developer_delete'), )
# -*- coding: utf-8 -*- from django.urls import path from projects.ajax import (ImportedArchiveCreateView, ProjectCollaboratorCreateView, ProjectCollaboratorDeleteView, ProjectDeleteView, ProjectVisibilityUpdateView) from projects.views import (ProjectBadgeUrlView, ProjectBadgeView, ProjectCollaboratorsView, ProjectCreateView, ProjectDetailView, ProjectListView, ProjectSettingsView, ProjectUploadsView) base_urlpatterns = [ path(route='', view=ProjectListView.as_view(), name='project-list'), path(route='new/', view=ProjectCreateView.as_view(), name='project-create'), path(route='<slug:slug>/', view=ProjectDetailView.as_view(), name='project-detail'), path(route='<slug:slug>/badge/', view=ProjectBadgeView.as_view(), name='project-badge'), path(route='<slug:slug>/uploads/', view=ProjectUploadsView.as_view(), name='project-uploads'), path(route='<slug:slug>/collaborators/', view=ProjectCollaboratorsView.as_view(), name='project-collaborators'), path(route='<slug:slug>/settings/', view=ProjectSettingsView.as_view(), name='project-settings'),
from projects import views urlpatterns = [ path('pdf/<pk>/<slug:slug>/', views.get_pdf, name="get-pdf"), path('like-project/<id>/', views.like_project, name="like-project"), path('dislike-project/<id>/', views.dislike_project, name="dislike-project"), path('like-project-list/', views.like_project_list, name="like-project-list"), path('admin/', admin.site.urls), path('', ProjectListView.as_view(), name='project-list'), path('search/', SearchView.as_view(), name='search'), path('search-profile-project/', SearchProjectProfileView.as_view(), name='search-profile-project'), path('search-contribution-project/', SearchProjectContributionView.as_view(), name='search-contribution-project'), path('search-categorie/', SearchCategorieView.as_view(), name='search-categorie'), path('create/', ProjectCreateView.as_view(), name='project-create'), path('project/<pk>/', ProjectDetailView.as_view(), name='project-detail'), path('requirement/<pk>/', RequirementDetailView.as_view(), name='requirement-detail'), path('requirement/<pk>/like-req',views.like_req, name='like-req'), path('requirement/<pk>/dislike-req', views.dislike_req, name='dislike-req'), path('project/<pk>/update/', ProjectUpdateView.as_view(), name='project-update'), path('requirement/<pk>/delete/', RequirementDeleteView.as_view(), name='requirement-delete'), path('register/', user_views.register, name='register'), path('profile/', user_views.profile, name='profile'), path('login/', auth_views.LoginView.as_view(template_name='accounts/login.html'), name='login'), path('logout/', auth_views.LogoutView.as_view(template_name='accounts/logout.html'), name='logout'), path('password-reset/', auth_views.PasswordResetView.as_view( template_name='accounts/password_reset.html' ), name='password_reset'),
from django.conf.urls import patterns, include, url from django.conf import settings from projects.views import ProjectCreateView, ProjectDeleteView, \ ProjectUpdateView, ProjectDetailView, ProjectListView, \ ProjectConfirmView, QRCodeDetailView urlpatterns = patterns( '', url(r'^$', ProjectListView.as_view(), name='project_list'), url(r'^create/$', ProjectCreateView.as_view(), name='project_create'), url(r'^(?P<pk>\d+)/delete/$', ProjectDeleteView.as_view(), name='project_delete'), url(r'^(?P<pk>\d+)/update/$', ProjectUpdateView.as_view(), name='project_update'), url(r'^(?P<pk>\d+)/$', ProjectDetailView.as_view(), name='project_detail'), url(r'^confirm/$', ProjectConfirmView.as_view(), name='project_confirm'), url(r'^confirm/(?P<pk>\d+)/qrcode/$', QRCodeDetailView.as_view(), name="qrcode_detail") )