def add(): """Add sample data""" cert = Organization( abbreviation="CERT", full_name="CERT Master User", ) db.session.add(cert) cert_user = User(name="cert master user", ) cert_user.password = '******' db.session.add(cert_user) cert_user4cert = OrganizationMembership(email='*****@*****.**', zip='1234', organization=cert, user=cert_user) db.session.commit() click.echo('Done Org id: ' + str(cert.id)) click.echo('Done User id: ' + str(cert_user.id)) click.echo('adding sub org') eorg = Organization(abbreviation="E-Org", full_name="E-Org Dach", parent_org=cert) # db.session.add(eorg) eorg_user = User(name="eorg master user") eorg_user.password = '******' OrganizationMembership(email='*****@*****.**', zip='5678', organization=eorg, user=eorg_user) eorg_electricity = Organization(abbreviation="E-Org Strom", full_name="E-Org Strom", parent_org=eorg) db.session.add(eorg_electricity) eorg_electricity_user = User(name="eorg electricity user", ) eorg_electricity_user.password = '******' db.session.add(eorg_electricity_user) eorgelectricity_orguser = OrganizationMembership( email='*****@*****.**', zip='5678', organization=eorg_electricity, user=eorg_electricity_user) db.session.commit()
def add_org(uuid): """Adds new organization for given user. Receives - uuid: uuid4 [required - in URL] - start_date: date [required] - end_date: date [optional] - description: text [optional] - name: string [required] - address1: string [optional] - address2: string [optional] - city: string [optional] - state: string(2) [optional] - zipcode: string(5) [optional] - phone: string(10) [optional] - website: string(50) [optional] Creates new organization for with foreign key uuid. """ content = request.json print(content) if not content: abort(400) org = Organization(**content) pl.convert_to_date(org.start_date) pl.convert_to_date(org.end_date) org.uuid = uuid # try: print("here3") db.session.add(org) db.session.commit() return "New org, {}, added for uuid: {}".format(org.name, uuid)
def test_store_existing_user(client, caplog): """End-to-end test of submitting the /validate-basic-info route with an existing user and an existing organization.""" existing_org = Organization(name='Foo Bar', financial_classification='', coverage_scope='', coverage_focus='', platform='', employee_range='', budget='', affiliations='') db.session.add(existing_org) existing_user = AppUser(name='Foo', email='*****@*****.**', email_hash='f3ada405ce890b6f8204094deb12d8a8', approved=True, orgs=[existing_org]) db.session.add(existing_user) db.session.commit() userform = ImmutableMultiDict([('name', 'bar'), ('email', '*****@*****.**'), ('news_org', 'foo bar')]) response = client.post('/validate-basic-info', data=userform) user = AppUser.query.filter_by(email='*****@*****.**').first() assert user.name == 'Bar' assert len(user.orgs) == 1 assert user.orgs[0].name == 'Foo Bar' assert response.get_json()['user'] == 'approved' assert ('Suppressing an email with the following params: ' 'Sender: [email protected]. Recipients: [\'[email protected]\']. ' 'Subject: You\'re all set to access our benchmarks!' in caplog.text)
def test_organization(self): with self.app.app_context(): p0 = Person(first_name='zack', last_name='zhu') d0 = Dependent(first_name='adela', last_name='zhu') u0 = User(username='******', email='*****@*****.**', first_name='zack', last_name='zhu') u0.dependents.append(d0) # db.session.add(u0) # db.session.commit() org0 = Organization(name='Iceland', creator=u0) op0 = OrganizationPersonAssociation(organization=org0, associated_person=p0) op1 = OrganizationPersonAssociation(organization=org0, associated_person=u0) org0.organization_associations.append(op0) org0.organization_associations.append(op1) db.session.add(org0) db.session.commit() print(org0.organization_associations[0].associated_person) print(org0.organization_associations[1].associated_person) print(u0.organization_associations[0].organization) print(p0.organization_associations[0].organization) print(org0.organization_associations[:])
def register(): title = "Register Organization" formRegister = RegisterForm() if formRegister.validate_on_submit(): organization = Organization( name=formRegister.name_company.data, email=formRegister.email.data, typeofbusiness=formRegister.type_company.data, address=formRegister.address.data, phone_number=formRegister.business_phone_number.data) db.session.add(organization) db.session.commit() employee = Employee( fname=formRegister.manager_namef.data, lname=formRegister.manager_namel.data, email=formRegister.email.data, phone_number=formRegister.manager_phone_number.data, manager=True, organization_id=organization.id, firsttimelogin=False, question1=formRegister.question1.data, answer1=formRegister.answer1.data, question2=formRegister.question2.data, answer2=formRegister.answer2.data, ) employee.set_password(formRegister.enter_password.data) db.session.add(employee) db.session.commit() flash('New Organization has been added') return redirect(url_for('login')) return render_template("register.html", title=title, formRegister=formRegister)
def import_certs(collab_url, username, password): """Import national CERTs information from AbuseHelper collab wiki.""" if click.confirm("This command should be run only once, on install", abort=True): ah_resp = requests.get(collab_url, auth=(username, password), verify=False) if ah_resp.status_code != 200: current_app.log.error(ah_resp.reason) raise click.Abort data = json.loads(ah_resp.text) for country, details in data.items(): org = Organization(abbreviation=country, group_id=2, full_name='National CERT of ' + country) try: org.mail_times = details['Mail times'][0] except IndexError: current_app.log.debug('Using default mail times...') try: org.mail_template = details['Mail template'][0] except IndexError: current_app.log.debug('Using default template...') org.abuse_emails = details['Abuse email'] click.echo("Adding {}...".format(country)) db.session.add(org) db.session.commit() click.echo('Done')
def create_organization(request): if request.method == 'POST': email = request.data.get('email') password = request.data.get('password') country = request.data.get('country') name = request.data.get('name') if not validate_email(email): return Response(error_msg("Invalid email address."), status=status.HTTP_400_BAD_REQUEST) if len(password) < 6: return Response(error_msg( "Invalid password. Password should be greater than 5 characters." ), status=status.HTTP_400_BAD_REQUEST) try: User.objects.get(username=email) return Response(error_msg("User already exists."), status=status.HTTP_400_BAD_REQUEST) except User.DoesNotExist: pass user = User.objects.create_user(username=email, email=email, password=password) user.first_name = email user.last_name = email user.save() organization = Organization(user=user, name=name, country=country) organization.save() serialized_org = OrganizationSerializer(organization) return Response(success_msg("Created organization successfully", serialized_org.data), status=status.HTTP_201_CREATED)
def add_organization(): params = request.form or request.get_json() or request.args name = params.get('name') remark = params.get('remark') username = params.get('username') password = params.get('password') if not name or not username or not password: return error_result(ErrorCode.ERROR_INVALID_PARAM) if Organization.query.filter_by(name=name).first() is not None: return error_result(ErrorCode.ERROR_ORGANIZATION_ALREADY_EXIST) if User.query.filter_by(username=username).first() is not None: return error_result(ErrorCode.ERROR_USERNAME_EXISTED) org = Organization(name=name, remark=remark, create_time=g.TIMESTAMP) db.session.add(org) db.session.commit() user = User(organization_id=org.id, role_id=UserRole.ROLE_ORGANIZATION, username=username, password=password, password_reseted=True) db.session.add(user) db.session.commit() ret = org.get_json() ret['username'] = username return success_result(ret)
def signup(): if current_user.is_authenticated: return redirect('/') form = RegistrationForm() if form.validate_on_submit(): new_user = User(username=form.username.data, email=form.email.data) username = form.username.data new_user.set_password(form.password.data) if User.query.filter_by(username=form.username.data).first() is not None: flash('`Username taken') return redirect('/') if User.query.filter_by(email=form.email.data).first() is not None: flash('`That email is already associated with an account.') return redirect('/') db.session.add(new_user) db.session.commit() registered_user = User.query.filter_by(username=username).first() user_id = registered_user.id orglist = form.orgs.data print(orglist) print(user_id) for org in orglist: new_org_entry = Organization(user_id = user_id, org = org) db.session.add(new_org_entry) db.session.commit() login_user(new_user) flash('~Account ' + form.username.data + ' Created.') return redirect('/') else: flash_errors(form, '`') return redirect('/')
def post_org(request): try: org_name = request.form.get('org_name') org_domain = request.form.get('org_domain') org_address = request.form.get('org_address') org_country = request.form.get('org_country') org_phone = request.form.get('org_phone', '') org_email = request.form.get('org_email', '') org_contact = request.form.get('org_contact', '') org = Organization(org_name=org_name, org_domain=org_domain, org_address=org_address, org_country=org_country, org_phone=org_phone, org_email=org_email, org_contact=org_contact) db.session.add(org) db.session.commit() return dict(status='OK', message='Orgnization created successfully.', error=None) except IntegrityError as e: return dict(status='FAIL', message='A similar organization already exists.', error=str(e)) except Exception as e: return dict(status='FAIL', message='Could not create organization.', error=str(e))
def orgregister(): regform = OrgRegisterForm() loginform = OrgLogin() if regform.validate_on_submit(): NewOrg = Organization(org_name=regform.org_name.data, org_email=regform.org_email.data) NewOrg.set_password(regform.password.data) NewOrg.id = Organization.query.count() + 1 db.session.add(NewOrg) db.session.commit() user = NewOrg login_user(user) return redirect(url_for('orgprofile', org_id=NewOrg.id)) elif loginform.validate_on_submit(): user = Organization.query.filter_by( org_email=loginform.org_email.data).first() user_id = user.id #If the user is logged in if not user is None or not user.check_password( loginform.password.data): login_user(user) return redirect(url_for('orgprofile', org_id=user_id)) else: flash("Bad credentials") return render_template('orgregister.html', regform=regform, loginform=loginform)
def addsampledata(): """Add sample data""" OrganizationGroup._OrganizationGroup__insert_defaults() ReportType._ReportType__insert_defaults() Role._Role__insert_defaults() Country._Country__insert_defaults() MembershipRole._MembershipRole__insert_defaults() adm = Role.query.filter_by(permissions=0xff).first() o = Organization( abbreviation="CERT-EU", full_name="Computer Emergency Response Team for EU " "Institutions Agencies and Bodies", ip_ranges=['212.8.189.16/28'], abuse_emails=['*****@*****.**'], contact_emails=[ContactEmail(email='*****@*****.**')], asns=[5400], fqdns=['cert.europa.eu']) db.session.add(o) db.session.commit() user = User(name='testadmin', email='*****@*****.**', password='******', role=adm) db.session.add(user) db.session.commit() click.echo('Done')
def processCreate(name, address, contacts): """Creates a new user based on POST data""" newOrg = Organization(name=name, address=address) newOrg.save() Contact.update(organization=newOrg).where(Contact.id << contacts).execute() flash('Created %s' % name, 'success') return redirect(url_for('contacts.index'))
def test_create_organization(client): neworg = Organization(full_name=TAU.orgname, display_name=TAU.orgname) neworg.abuse_emails = ['*****@*****.**'] db.session.add(neworg) db.session.commit() assert Organization.query.filter_by( full_name=TAU.orgname).first(), 'Organization not inserted.' assert TAU.testOneOrganization(), 'Organization exists multible times'
def organization(app): organization = Organization( uuid=uuid.uuid4().hex, name="test org", ) db.session.add(organization) db.session.commit() return organization
def seed(): project = Project(name="Test Project", description="Test description.....", image_url="https://source.unsplash.com/random") db.session.add(project) org = Organization(name="Test Org", description="Test description.....", image_url="https://source.unsplash.com/random") db.session.add(org) db.session.commit()
def new_organization(): form = NewOrganizationForm() if form.validate_on_submit(): o = Organization(creator_id=current_user.id, orgname=form.orgname.data, description=form.description.data) db.session.add(o) db.session.commit() return redirect(url_for('organizations')) return render_template('neworg.html', title='New Organization', form=form)
def handle(self, *args, **options): if options['empty']: Organization.objects.all().delete() else: for data in get_api_data(): organization = Organization(**data) latitude, longitude = get_coordinates( organization.full_address()) organization.latitude = latitude organization.longitude = longitude organization.save()
def addsampledata(client): """Add sample testing data""" OrganizationGroup._OrganizationGroup__insert_defaults() ReportType._ReportType__insert_defaults() Role._Role__insert_defaults() o = Organization( abbreviation="CERT-EU", full_name="Computer Emergency Response Team for EU " "Institutions Agencies and Bodies", ip_ranges=['212.8.189.16/28'], abuse_emails=['*****@*****.**'], contact_emails=[ContactEmail(email='*****@*****.**')], asns=[5400], fqdns=['cert.europa.eu']) _db.session.add(o) _db.session.commit()
def test_add_organization_to_db(db): org1 = Organization(name='Testers', email='*****@*****.**', typeofbusiness='Code Testing', address='123 Fake Street', phone_number='444555888888') db.session.add(org1) db.session.commit() assert len(Organization.query.all()) == 1 org_from_db = Organization.query.get(1) assert org_from_db.name == org1.name assert org_from_db.email == org1.email assert org_from_db.typeofbusiness == org1.typeofbusiness assert org_from_db.address == org1.address assert org_from_db.address == org1.address assert org_from_db.phone_number == org1.phone_number
def show_register(request): if request.method == 'GET': errors = None if request.GET.get('errors') == '1': errors = 'Email already exists. Please try again.' elif request.GET.get('errors') == '2': errors = 'Country already have CDC registered. Please contact us if this is a mistake.' elif request.GET.get('errors') == '3': errors = 'Invalid email address.' elif request.GET.get('errors') == '4': errors = 'Password should be more than 5 characters.' return render(request, 'backend/register.html', {'errors': errors}) elif request.method == 'POST': organization = request.POST.get('organization') email = request.POST.get('email') password = request.POST.get('password') country = request.POST.get('country') if not validate_email(email): return HttpResponseRedirect('/new-cdc?errors=3') if len(password) < 6: return HttpResponseRedirect('/new-cdc?errors=4') try: User.objects.get(username=email) return HttpResponseRedirect('/new-cdc?errors=1') except User.DoesNotExist: pass try: Organization.objects.get(country=country) return HttpResponseRedirect('/new-cdc?errors=2') except Organization.DoesNotExist: pass user = User.objects.create_user(username=email, email=email) user.save() user.set_password(password) user.save() organization = Organization(user=user, name=organization, country=country) organization.save() user = authenticate(username=email, password=password) if user is not None: login(request, user) else: return HttpResponseRedirect('/login-cdc/') return HttpResponseRedirect('/dashboard/')
def test_create_organizations(client): countpre = Organization.query.count() expectedcount = countpre + 6 neworg = Organization(full_name='test root org 1', display_name='testorg 1', abbreviation=TAU.org1_abbr) db.session.add(neworg) newsub1 = Organization(full_name='test sub org 1.1', display_name='testorg 1.1', abbreviation='testorg1.1', parent_org=neworg) db.session.add(newsub1) neworg = Organization(full_name='test root org 2', display_name='testorg 2', abbreviation=TAU.org2_abbr) db.session.add(neworg) newsub1 = Organization(full_name='test sub org 2.1', display_name='testorg 2.1', abbreviation='testorg2.1', parent_org=neworg) db.session.add(newsub1) neworg = Organization(full_name='test root org 3', display_name='testorg 3', abbreviation='testorg3') db.session.add(neworg) newsub1 = Organization(full_name='test sub org 3.1', display_name='testorg 3.1', abbreviation=TAU.org31_abbr, parent_org=neworg) db.session.add(newsub1) newsub2 = Organization(full_name='test sub org 3.2', display_name='testorg 3.2', abbreviation='testorg3.2', parent_org=neworg) db.session.add(newsub1) db.session.commit() assert Organization.query.count( ) == expectedcount, 'Failed to insert test organizations' org = Organization.query.filter_by(display_name='testorg 1').one() assert org, 'organization not found.' assert Organization.query.filter_by(parent_org_id=org.id).first()
def create_org(): form = CreateOrganizationForm() if request.method == "GET": return render_template("createOrganization.html", user=current_user, form=form) if form.validate_on_submit(): org = Organization(name=form.name.data, website=form.website.data, mission=form.mission.data) if org.exists(): flash("Company with that name already exists") else: org.save() flash("Organization created for {}".format(org.name)) return redirect(url_for('home')) return render_template("createOrganization.html", user=current_user, form=form)
def store_org(org_info): """Inserts a new orgaization into the database. Args: org_info: a dictionary containing information about the organization. Each element corresponds to an Organization attribute defined in the database model. Returns: The inserted Organization object. """ organization = Organization(**org_info) db.session.add(organization) try: db.session.commit() except: db.session.rollback() raise return organization
def add_organization(): form = OrgCreateForm() users = User.query.all() # empty_choice = [(0, " " * 10)] form.users.choices = [(user.id, user.email) for user in users] if form.validate_on_submit(): org = Organization(name=form.name.data, data_dir=form.data_dir.data) users = [] for user_id in form.users.data: user = User.query.filter_by(id=user_id).first() users.append(user) org.users = users session_add(org) session_commit() return redirect(url_for("admin.add_organization")) return render_template("admin_panel/create_organization.html", form=form)
def test_store_new_user(client): """End-to-end test of submitting the /validate-basic-info route with a new user and an existing organization.""" existing_org = Organization(name='Foo Bar', financial_classification='', coverage_scope='', coverage_focus='', platform='', employee_range='', budget='', affiliations='') db.session.add(existing_org) db.session.commit() userform = ImmutableMultiDict([('name', 'foo'), ('email', '*****@*****.**'), ('news_org', 'foo bar')]) response = client.post('/validate-basic-info', data=userform) user = AppUser.query.filter_by(email='*****@*****.**').first() assert user.name == 'Foo' assert len(user.orgs) == 1 assert existing_org in user.orgs assert response.get_json()['user'] == 'other'
def orgindex(orgid, includeCanceled=True, start=None, end=None): """List all bookings for an organization""" if start is None: start = date.today() if end is None: end = date.today() + timedelta(days=30) b = (Booking.select(Booking).join(Contact).where( Contact.organization_id == orgid).where((Booking.startTime > start) & (Booking.endTime < end))) if not includeCanceled: b = b.where(Booking.isCanceled == False) if orgid != 0: org = Organization.select().where(Organization.id == orgid).get() else: org = Organization(name="No Organization") bookings = prefetch(b, BookingRoom, Room, Contact) return render_template('bookings/orgIndex.html', bookings=bookings, start=start, end=end, includeCanceled=includeCanceled, org=org)
def post(self): parser = reqparse.RequestParser() parser.add_argument("name", type=str) parser.add_argument("day_week_starts", type=str, default="monday") parser.add_argument("plan", type=str, default="flex-v1") parser.add_argument("trial_days", type=int, default=14) parameters = parser.parse_args(strict=True) if parameters.get("day_week_starts") not in DAYS_OF_WEEK: return {"message": "day_week_starts is not valid"}, 400 if parameters.get("trial_days") < 0: return {"messages": "trial_days cannot be less than 0"} o = Organization(name=parameters.get("name"), day_week_starts=parameters.get("day_week_starts"), trial_days=parameters.get("trial_days")) db.session.add(o) try: db.session.commit() return marshal(o, organization_fields), 201 except: abort(500)
def register_organization(): email = request.form.get('email') # check if already in database exists = db.session.query(db.exists().where(Organization.email == email)).scalar() if exists: return jsonify("Account Exists") else: salt, hashed_password = secure_password(request.form.get('password')) phone_number = request.form.get('phone_number') organization_name = request.form.get('organization_name') organization_website = request.form.get('organization_website') organization_description = request.form.get('organization_description') organization_street_address = request.form.get('organization_street_address') organization_city = request.form.get('organization_city') organization_state = request.form.get('organization_state') organization_country = request.form.get('organization_country') organization_type = request.form.get('organization_type') employer_id_number = request.form.get('employer_id_number') year_established = request.form.get('year_established') organization = Organization( email=email, password=hashed_password, salt=salt, phone_number=phone_number, organization_name=organization_name, organization_website=organization_website, organization_description=organization_description, organization_street_address=organization_street_address, organization_city=organization_city, organization_state=organization_state, organization_country=organization_country, organization_type=organization_type, employer_id_number=employer_id_number, verified=False, year_established=year_established, ) db.session.add(organization) db.session.commit() # send the organization an email msg = Message() msg.subject = 'Welcome to newspark!' msg.body = 'Hi {},\n\nThank you for signing up for newspark! We are very excited to have your organization ' \ 'on our platform. A member of our team will reach out shortly.\n\nTo ' \ 'your success,\nnewspark team'.format(organization_name.rstrip()) msg.recipients = [email] msg.sender = "*****@*****.**" mail.send(msg) # send us an email msg = Message() msg.subject = 'New User!' msg.body = 'A new organization just registered with newspark. ' \ 'Below is a general overview of the organization:\n' \ 'Organization Name: {}\n' \ 'Organization Type: {}\n' \ 'Website: {}\n' \ 'Email: {}\n' \ 'Phone Number: {}\n'.format(organization_name, organization_type, organization_website, \ email, phone_number) msg.recipients = ['*****@*****.**', '*****@*****.**', '*****@*****.**', \ '*****@*****.**', '*****@*****.**', '*****@*****.**'] msg.sender = "*****@*****.**" mail.send(msg) url = 'https://us10.api.mailchimp.com/3.0/lists/9f21c018ec/members/' data = { "email_address": email, "status": "subscribed", } r = requests.post(url, json=data, auth=('newspark', application.config['MAILCHIMP_API_KEY'])) access_token = create_access_token(identity=email) return jsonify(access_token=access_token), 200
# demo_provider.encounters.append(encounter_eight) # demo_provider.encounters.append(encounter_seven) # demo_provider.encounters.append(encounter_six) # demo_provider.encounters.append(encounter_five) # demo_provider.encounters.append(encounter_four) # demo_provider.encounters.append(encounter_three) # demo_provider.encounters.append(encounter_two) # demo_provider.encounters.append(encounter_one) # demo_provider.encounters.append(encounter_eleven) # demo_provider.encounters.append(encounter_ten) # demo_provider.encounters.append(encounter_nine) radiology_department = Department(name="Radiology") fam_department = Department(name="Demo Outpatient Family Medicine") demo_organization = Organization(name="Saga Demo Health Network") demo_organization.departments.append(fam_department) exam_room_a = Resource(name="Exam Room A", active=1) exam_room_b = Resource(name="Exam Room B", active=1) exam_room_c = Resource(name="Exam Room C", active=1) exam_room_d = Resource(name="Exam Room D", active=1) # exam_room_a.encounters.append(encounter_one) # exam_room_b.encounters.append(encounter_two) # exam_room_c.encounters.append(encounter_three) # exam_room_d.encounters.append(encounter_four) # exam_room_d.encounters.append(encounter_five) # exam_room_d.encounters.append(encounter_six) # exam_room_a.encounters.append(encounter_seven) # exam_room_a.encounters.append(encounter_eight)