def registerView(): if not 'token' in session: # universal variables form = registerForm() kwargs = {'formWidth': 400} if form.validate_on_submit(): dataDict = { 'regNo': form.regNo.data, 'companyName': form.companyName.data, 'userName': form.userName.data, 'email': form.email.data, 'password': form.password.data } req = authAPI('register', method='post', dataDict=dataDict) if 'error' in req: if req['error'] == 'Could not identify Platform': errorMessage(req['error']) elif req['error'] == 'Request data incomplete': errorMessage(req['error']) elif req['error'] == 'Reg/VAT number already exist': errorMessage( 'An account using this Reg/VAT number already exist') elif req['error'] == 'Invalid email-address': errorMessage(req['error']) elif req[ 'error'] == 'Illegal null values present in request data': errorMessage(req['error']) elif req['error'] == 'Internal server error': errorMessage(req['error']) elif 'success' in req: # send email confirmation subject = u'Please confirm your account' tok = req['token'] email = req['email'] confirm_url = url_for('authBP.confirmEmailView', token=tok, _external=True) html = render_template('email/verify.html', confirm_url=confirm_url) sendMail(subject=subject, sender='Henrik Poulsen', recipients=[email], html_body=html, text_body=None) successMessage( 'You have successfully registered your account, please check your email for confirmation.' ) return redirect(url_for('indexView')) return render_template('auth/registerForm.html', form=form, **kwargs) else: errorMessage('alreadyRegistered') return redirect(url_for('indexView'))
def registerView(lang='dk'): if not 'token' in session: # universal variables form = registerForm() kwargs = {'formWidth':400, 'breadcrumbs': breadCrumbs('authBP.registerView')} if g.sijax.is_sijax_request: g.sijax.register_callback('validate', validateCVR) return g.sijax.process_request() if form.validate_on_submit(): dataDict = {'regNo' : form.regNo.data, 'companyName' : form.companyName.data, 'userName' : form.userName.data, 'email' : form.email.data, 'password' : form.password.data} req = authAPI('register', method='post', dataDict=dataDict) if r.status_code == 409: flashmessage('accountExists') elif r.status_code == 404: flashmessage('cvrCheckError') elif 'error' in req: if req['error'] == 'Not valid email-address': flashMessage('validateEmail') elif 'success' in req: # send email confirmation subject = u'Bekræft tilmelding' tok = req['token'] email = req['email'] confirm_url = url_for('authBP.confirmEmailView',token=tok, _external=True, lang=lang) html = render_template(lang+'/email/verify.html', confirm_url=confirm_url) # sendMail(subject=subject, sender='Henrik Poulsen', recipients=[email], html_body=html, text_body = None) flashMessage('loginSuccess') return redirect(url_for('indexView', lang=lang)) return render_template(lang+'/auth/registerForm.html', form=form, **kwargs) else: flashMessage('alreadyRegistered') return redirect(url_for('indexView', lang=lang))
def userView(uuid=None, function=None): # universal variables form = userForm() kwargs = {'contentTitle': 'Users', 'width': '', 'formWidth': '400'} # Get users if function == None: kwargs['tableColumns'] = ['User name', 'Email', 'Roles', 'Groups'] kwargs['tableData'] = usersTable() return render_template('listView.html', **kwargs) elif function == 'delete': delUsr = deleteUser(uuid) if 'error' in delUsr: errorMessage(delUsr['error']) print delUsr return redirect(url_for('userBP.userView')) else: if function == 'update': usr = getUser(uuid=uuid, includes=['includeRoles', 'includeGroups'])['user'] kwargs['contentTitle'] = 'Update user' role = 'User' for r in usr['roles']: if r['title'] == 'Administrator': role = 'Administrator' elif r['title'] == 'Superuser': role = 'Superuser' grpForm = groupForm() usrForm = userForm( userName=usr['name'], userEmail=usr['email'], userPhone=usr['phone'], userGroups=[str(r['uuid']) for r in usr['groups']], userRole=role) # Get all groups usrForm.userGroups.choices = [(str(r['uuid']), r['name']) for r in getGroups()['groups']] if g.sijax.is_sijax_request: g.sijax.register_object(SijaxHandler) return g.sijax.process_request() if usrForm.validate_on_submit(): dataDict = { 'name': usrForm.userName.data, 'email': usrForm.userEmail.data, 'phone': usrForm.userPhone.data, 'roles': [usrForm.userRole.data], 'groups': [usrForm.userGroups.data] } updateUser = putUser(dataDict=dataDict, uuid=uuid) if not 'error' in updateUser: apiMessage(updateUser) return redirect(url_for('userBP.userView')) else: return unicode(updateUser) return render_template('user/userForm.html', usrForm=usrForm, grpForm=grpForm, **kwargs) elif function == 'new': usrForm = userForm(userRole='User') grpForm = groupForm() grpForm.groupUsers.choices = [(str(r['uuid']), r['email']) for r in getUsers()['users']] kwargs['contentTitle'] = 'New user' groups = [(str(r['uuid']), r['name']) for r in getGroups()['groups']] usrForm.userGroups.choices = groups if g.sijax.is_sijax_request: g.sijax.register_object(SijaxHandler) return g.sijax.process_request() if usrForm.validate_on_submit(): dataDict = { 'name': usrForm.userName.data, 'email': usrForm.userEmail.data, 'phone': usrForm.userPhone.data } roles = ['User'] if usrForm.userRole.data == 'Superuser': roles.append('Superuser') elif usrForm.userRole.data == 'Administrator': roles.append('Superuser') roles.append('Administrator') dataDict['roles'] = roles dataDict['groups'] = usrForm.userGroups.data newUser = postUser(dataDict) if 'success' in newUser: successMessage('The user has been created') subject = u'Confirm signup' confirm_url = url_for('authBP.confirmEmailView', token=newUser['token'], _external=True) html = render_template('email/verify.html', confirm_url=confirm_url) sendMail(subject=subject, sender='Henrik Poulsen', recipients=[usrForm.userEmail.data], html_body=html, text_body=None) return redirect(url_for('userBP.userView')) else: apiMessage(newUser) return render_template('user/userForm.html', usrForm=usrForm, grpForm=grpForm, **kwargs)