mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-08-15 22:14:15 +02:00
application logic updated with logs and working to get the right URL from the button
This commit is contained in:
parent
82b5d43572
commit
d139c4caf9
1 changed files with 27 additions and 8 deletions
|
@ -67,7 +67,7 @@ class ApplicationWizard(TemplateView):
|
||||||
URL_NAMESPACE = "application"
|
URL_NAMESPACE = "application"
|
||||||
# name for accessing /application/<id>/edit
|
# name for accessing /application/<id>/edit
|
||||||
EDIT_URL_NAME = "edit-application"
|
EDIT_URL_NAME = "edit-application"
|
||||||
|
NEW_URL_NAME = "register"
|
||||||
# We need to pass our human-readable step titles as context to the templates.
|
# We need to pass our human-readable step titles as context to the templates.
|
||||||
TITLES = {
|
TITLES = {
|
||||||
Step.ORGANIZATION_TYPE: _("Type of organization"),
|
Step.ORGANIZATION_TYPE: _("Type of organization"),
|
||||||
|
@ -141,10 +141,13 @@ class ApplicationWizard(TemplateView):
|
||||||
except DomainApplication.DoesNotExist:
|
except DomainApplication.DoesNotExist:
|
||||||
logger.debug("Application id %s did not have a DomainApplication" % id)
|
logger.debug("Application id %s did not have a DomainApplication" % id)
|
||||||
|
|
||||||
|
##not being called for the new application when one
|
||||||
self._application = DomainApplication.objects.create(
|
self._application = DomainApplication.objects.create(
|
||||||
creator=self.request.user, # type: ignore
|
creator=self.request.user, # type: ignore
|
||||||
)
|
)
|
||||||
|
|
||||||
self.storage["application_id"] = self._application.id
|
self.storage["application_id"] = self._application.id
|
||||||
|
logger.debug("applications id %s",str(self.storage["application_id"]))
|
||||||
return self._application
|
return self._application
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@ -156,6 +159,7 @@ class ApplicationWizard(TemplateView):
|
||||||
|
|
||||||
@storage.setter
|
@storage.setter
|
||||||
def storage(self, value):
|
def storage(self, value):
|
||||||
|
logger.debug("requested session is %s", str(self.request.session))
|
||||||
self.request.session[self.prefix] = value
|
self.request.session[self.prefix] = value
|
||||||
self.request.session.modified = True
|
self.request.session.modified = True
|
||||||
|
|
||||||
|
@ -195,16 +199,18 @@ class ApplicationWizard(TemplateView):
|
||||||
|
|
||||||
def get(self, request, *args, **kwargs):
|
def get(self, request, *args, **kwargs):
|
||||||
"""This method handles GET requests."""
|
"""This method handles GET requests."""
|
||||||
|
logger.debug("IN GET application")
|
||||||
current_url = resolve(request.path_info).url_name
|
current_url = resolve(request.path_info).url_name
|
||||||
|
logger.debug("Current url is %s", current_url)
|
||||||
# if user visited via an "edit" url, associate the id of the
|
# if user visited via an "edit" url, associate the id of the
|
||||||
# application they are trying to edit to this wizard instance
|
# application they are trying to edit to this wizard instance
|
||||||
# and remove any prior wizard data from their session
|
# and remove any prior wizard data from their session
|
||||||
if current_url == self.EDIT_URL_NAME and "id" in kwargs:
|
if current_url == self.EDIT_URL_NAME and "id" in kwargs:
|
||||||
|
logger.debug("Storage was %s", self.storage)
|
||||||
del self.storage
|
del self.storage
|
||||||
self.storage["application_id"] = kwargs["id"]
|
self.storage["application_id"] = kwargs["id"]
|
||||||
|
logger.debug("storage is now %s", str(self.storage))
|
||||||
|
logger.debug("id set to %s", kwargs["id"])
|
||||||
# if accessing this class directly, redirect to the first step
|
# if accessing this class directly, redirect to the first step
|
||||||
# in other words, if `ApplicationWizard` is called as view
|
# in other words, if `ApplicationWizard` is called as view
|
||||||
# directly by some redirect or url handler, we'll send users
|
# directly by some redirect or url handler, we'll send users
|
||||||
|
@ -213,12 +219,24 @@ class ApplicationWizard(TemplateView):
|
||||||
# send users "to the application wizard" without needing to
|
# send users "to the application wizard" without needing to
|
||||||
# know which view is first in the list of steps.
|
# know which view is first in the list of steps.
|
||||||
if self.__class__ == ApplicationWizard:
|
if self.__class__ == ApplicationWizard:
|
||||||
|
##hmmm could we use this to redirect users if they shouldn't view editable data?
|
||||||
|
## this is where it resets to send to first
|
||||||
|
#this is called when clicking an edit link AND when clicking new app
|
||||||
|
#not called when navigating between steps (such as clicking save and continue)
|
||||||
|
logger.debug("Current url is %s", current_url)
|
||||||
|
if current_url == self.NEW_URL_NAME:## find the right URL
|
||||||
|
logger.debug("In if check")
|
||||||
|
|
||||||
|
del self.storage
|
||||||
|
self.storage["application_id"] = None #reset the app
|
||||||
|
logger.debug("calling go to first step")
|
||||||
|
#del self.storage
|
||||||
return self.goto(self.steps.first)
|
return self.goto(self.steps.first)
|
||||||
|
|
||||||
self.steps.current = current_url
|
self.steps.current = current_url
|
||||||
context = self.get_context_data()
|
context = self.get_context_data()
|
||||||
context["forms"] = self.get_forms()
|
context["forms"] = self.get_forms()
|
||||||
|
logger.debug("Context set to %s", str(context))
|
||||||
return render(request, self.template_name, context)
|
return render(request, self.template_name, context)
|
||||||
|
|
||||||
def get_all_forms(self, **kwargs) -> list:
|
def get_all_forms(self, **kwargs) -> list:
|
||||||
|
@ -242,15 +260,15 @@ class ApplicationWizard(TemplateView):
|
||||||
and from the database if `use_db` is True (provided that record exists).
|
and from the database if `use_db` is True (provided that record exists).
|
||||||
An empty form will be provided if neither of those are true.
|
An empty form will be provided if neither of those are true.
|
||||||
"""
|
"""
|
||||||
|
##bug is here an empty form is not provided if these are false!!!
|
||||||
kwargs = {
|
kwargs = {
|
||||||
"files": files,
|
"files": files,
|
||||||
"prefix": self.steps.current,
|
"prefix": self.steps.current,
|
||||||
"application": self.application, # this is a property, not an object
|
"application": self.application, # this is a property, not an object
|
||||||
}
|
}##application here causing the issue?
|
||||||
|
|
||||||
if step is None:
|
if step is None:
|
||||||
forms = self.forms
|
forms = self.forms ##what dis?
|
||||||
else:
|
else:
|
||||||
url = reverse(f"{self.URL_NAMESPACE}:{step}")
|
url = reverse(f"{self.URL_NAMESPACE}:{step}")
|
||||||
forms = resolve(url).func.view_class.forms
|
forms = resolve(url).func.view_class.forms
|
||||||
|
@ -311,6 +329,7 @@ class ApplicationWizard(TemplateView):
|
||||||
"""This method handles POST requests."""
|
"""This method handles POST requests."""
|
||||||
# if accessing this class directly, redirect to the first step
|
# if accessing this class directly, redirect to the first step
|
||||||
if self.__class__ == ApplicationWizard:
|
if self.__class__ == ApplicationWizard:
|
||||||
|
logger.debug("post redirect to first steps")
|
||||||
return self.goto(self.steps.first)
|
return self.goto(self.steps.first)
|
||||||
|
|
||||||
# which button did the user press?
|
# which button did the user press?
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue