def signin(request): entity_form = EntityForm() if request.method == 'POST': entity_form = EntityForm(request.POST) if entity_form.is_valid(): entity = entity_form.cleaned_data['entity'] state = state_parameter() app_exists = StoredApp.objects.filter(entity_url=entity) if len(app_exists) == 1: stored_app = app_exists[0] app = stored_app.restore_app(request) gohere = app.authorization_request().history[0].url stored_app.state = state stored_app.save() else: app_post = AppPost('DRUID App', write=[u'https://posttypes.housejeffries.com/review/v0#'], url=settings.SITE_URL, redirect_url=settings.SITE_URL + '/oauth') app = TentApp(entity_form.cleaned_data['entity'], app_post) gohere = app.start_setup() stored_app = StoredApp() stored_app.create(app) stored_app.state = state stored_app.save() return redirect(gohere + '&state=' + state) ldr = loader.get_template('sign_in.html') context = RequestContext(request, {'request': request, 'entity_form': entity_form}) return HttpResponse(ldr.render(context))
def restore_app(self, request=None): # NOTE this isn't quite right because we're not restoring the app post. app = TentApp(self.entity_url, '') app.meta_post = json.loads(self.meta_post) app.reg_attachment = json.loads(self.reg_attachment) app.credentials_attachment = json.loads(self.credentials_attachment) app.app_id = self.app_id app.id_value = self.id_value if request is not None and 'hawk_key' in request.session: app.hawk_key = request.session['hawk_key'] return app