Foreignkey toujours pas initialisee

TODO Workaround : creation d'un simple champ texte pour recueillir le slug
    du connecteur associe ?
This commit is contained in:
Paul Marillonnet 2017-03-01 12:32:56 +01:00
parent f9fb86f754
commit 65880d2fe8
4 changed files with 43 additions and 11 deletions

View File

@ -91,8 +91,6 @@ class NewQueryView(CreateView):
def get_success_url(self):
return self.object.resource.get_absolute_url()
def post(self, request, *args, **kwargs):
return HttpResponse(str(request.POST.items()))
class UpdateQueryView(UpdateView):
model = Query

View File

@ -0,0 +1,28 @@
# passerelle - uniform access to multiple data sources and services
# Copyright (C) 2016 Entr'ouvert
#
# This program is free software: you can redistribute it and/or modify it
# under the terms of the GNU Affero General Public License as published
# by the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import django.apps
class AppConfig(django.apps.AppConfig):
name = 'ldap'
label = 'ldap'
def get_connector_model(self):
from . import models
return models.LDAPResource
default_app_config = 'ldap.AppConfig'

View File

@ -301,7 +301,7 @@ class LDAPResource(BaseResource):
# return data[0].values()[0]
class Query(models.Model):
resource = models.ForeignKey('LDAPResource')
resource = models.ForeignKey(LDAPResource)
slug = models.SlugField('Name (slug)')
label = models.CharField('Label', max_length=100)
description = models.TextField('Description', blank=True)

View File

@ -56,10 +56,11 @@ class NewQueryView(CreateView):
def get(self, request, *args, **kwargs):
form = self.form_class
#self.model = Query()
#self.model.resource = LDAPResource.objects.get(slug='test3')
#self.get_object(slug=self.model.slug).resource = LDAPResource.objects.get(slug='test3')
#return HttpResponse("LDAP New Query CBV")
return render(request, self.template_name, locals())
#return HttpResponse(str(self.resource))
#return HttpResponse(str(LDAPResource.objects.get(slug=self.kwargs['connector_slug'])))
#return HttpResponse(str(LDAPResource.objects.filter(slug=self.kwargs['connector_slug'])))
def post(self, request, *args, **kwargs):
#FIXME Broken one-to-many LDAPResource Foreignkey
@ -67,15 +68,20 @@ class NewQueryView(CreateView):
return HttpResponse(str(request.POST.items()))
def get_context_data(self, **kwargs):
#ctx = super(NewQueryView, self).get_context_data(**kwargs)
#ctx['resource'] = CsvDataSource.objects.get(slug=self.kwargs['connector_slug'])
ctx = {}
ctx['foo'] = 'foodata'
ctx = super(NewQueryView, self).get_context_data(**kwargs)
ctx['resource'] = LDAPResource.objects.get(slug=self.kwargs['connector_slug'])
#ctx = {}
#ctx['foo'] = 'foodata'
return ctx
def get_initial(self):
#return {'resource': CsvDataSource.objects.get(slug=self.kwargs['connector_slug']).id}
return {'resource': 'fooid'}
#return {'resource': LDAPResource.objects.get(slug=self.kwargs['connector_slug']).id}
initial = super(NewQueryView, self).get_initial()
#initial = super(NewQueryView, self).get_initial(**kwargs)
initial['resource'] = LDAPResource.objects.get(slug=self.kwargs['connector_slug']).id
#initial['resource'] = LDAPResource.objects.get(slug=self.kwargs['connector_slug'])
return initial
#return {'resource': 'fooid'}
def get_success_url(self):
#return self.object.resource.get_absolute_url()