diff --git a/categories/templates/categories/list.html b/categories/templates/categories/list.html index a189f02..f635ebf 100755 --- a/categories/templates/categories/list.html +++ b/categories/templates/categories/list.html @@ -46,7 +46,7 @@ diff --git a/categories/urls.py b/categories/urls.py index 25b096a..6f60213 100644 --- a/categories/urls.py +++ b/categories/urls.py @@ -5,4 +5,5 @@ urlpatterns = [ url(r'^$', views.IndexView.as_view(), name='index'), url(r'^create/$', views.CreateCategory.as_view(), name='create'), url(r'^delete/(?P[\w_-]+)/$', views.DeleteCategory.as_view(), name='delete'), + url(r'^replicate/(?P[\w_-]+)/$', views.CreateCategory.as_view(), name='replicate'), ] \ No newline at end of file diff --git a/categories/views.py b/categories/views.py index 0b7aafe..5923632 100644 --- a/categories/views.py +++ b/categories/views.py @@ -76,8 +76,28 @@ class CreateCategory(HasRoleMixin, CreateView): def get_initial(self): initial = super(CreateCategory, self).get_initial() + if self.kwargs.get('slug'): + category = get_object_or_404(Category, slug = self.kwargs['slug']) + initial = initial.copy() + + initial['description'] = category.description + initial['name'] = category.name + initial['visible'] = category.visible + #initial['coordinators'] = category.coordinators return initial + + def get_form(self, form_class=None): + """ + Returns an instance of the form to be used in this view. + """ + #print(self.kwargs) + if form_class is None: + form_class = self.get_form_class() + + + return form_class(**self.get_form_kwargs()) + def form_valid(self, form): self.object = form.save() #TODO: Implement log calls -- libgit2 0.21.2