def init_db(): ''' project1 = Project(location=1, number_participants=2) project1.save() project2 = Project(location=1, number_participants=1, part_of=project1) project2.save() user = UserAccount(username="******", email="*****@*****.**", firstname="hans", lastname="mueller", preference="none") user = UserAccount(username="******", email="*****@*****.**", firstname="carlo", lastname="arndt", preference="none") user.save() ''' business = BusinessAccount(email='*****@*****.**', company_name='business1', fee=10.10, bank_account='AT123456789123') business.save() organization = Organization(focus='sth', name='brot fuer die Welt', employees=1200, business=business) organization.save() project = Project(location=2, number_participants=12, organization=organization) project.save()
def post(self, request, *args, **kwargs): org_name = request.POST.get('org_name','') org_contact = request.POST.get('org_contact','') org_email = request.POST.get('org_email','') org_password = request.POST.get('org_password','') org_password1 = request.POST.get('org_password1','') org_address = request.POST.get('org_address','') org_url = request.POST.get('org_url','') if org_password != org_password1: messages.success(request, 'Password did not match ') return HttpResponseRedirect('/organization/create') else: org = Organization() org.org_name = org_name org.org_url = org_url org.street = org_address org.email = org_email org.password = org_password org.org_url = org_url pin ='REG_'+str(random.randint(56,100022)) org.org_pin = pin org.save() send_mail('Your User Registration pin on Myconfec','Thanks for registring with us ask your users to enter '+pin+' to register.','*****@*****.**',[org_email]) messages.success(request, 'Profile created please check your email for pin.') return HttpResponseRedirect('/organization/create')
def insertAttorneys(self): """Insert attorneys one-by-one """ out = [] for a in self.attorneys: try: org = Organization.objects( organization_name=self.clean_up(a["organization_name"]) ).modify( upsert=True, new=True, set__organization_name=self.clean_up(a["organization_name"]) ).save() attorney = Attorney( first_name=self.clean_up(a["first_name"]), last_name=self.clean_up(a["last_name"]), email_address=self.clean_up(a["email_address"]), organization_name=org.organization_name, records=a["records"] ).save() out.append(json_util.dumps(attorney)) except: print(a) Attorney.drop_collection() Organization.drop_collection() raise return out
def organizations(organization_id=None): if organization_id is not None: return dumps({ "organization_name": Organization.objects(id=organization_id) .first().organization_name }) return dumps(Organization.dump_list())
def populate_db(): with app.app_context(): o = Organization('Testing', '555-512-1234') db.session.add(Organization('Real Estate', '555-555-5555')) db.session.add(Organization('Insurance', '555-555-5556')) db.session.add(Organization('Private Equity', '555-555-5557')) db.session.commit()
def _organization(slug): """ Organization detail page. """ context = make_context() ago = get_ago() organization = Organization.get(Organization.slug==slug) organizations = Organization.select().join(Expenditure).where(Expenditure.report_period >= ago).distinct() for o in organizations: o.total_spending = o.expenditures.where(Expenditure.report_period >= ago).aggregate(fn.Sum(Expenditure.cost)) organizations_total_spending = sorted(organizations, key=lambda o: o.total_spending, reverse=True) organization_rank = None for i, o in enumerate(organizations_total_spending): if o.id == organization.id: organization_rank = i + 1 legislator_spending = {} for ex in organization.expenditures: # Groups or old/non-attributable expenses if not ex.legislator: continue if ex.legislator.id in legislator_spending: legislator_spending[ex.legislator.id] += ex.cost else: legislator_spending[ex.legislator.id] = ex.cost top_legislators = [] for legislator_id, spending in legislator_spending.items(): legislator = Legislator.get(Legislator.id == legislator_id) legislator.total_spending = spending top_legislators.append(legislator) top_legislators = sorted(top_legislators, key=lambda o: o.total_spending, reverse=True)[:10] context['organization'] = organization context['expenditures_recent'] = organization.expenditures.where(Expenditure.report_period >= ago).order_by(Expenditure.cost.desc()) context['total_spending'] = sum([e.cost for e in organization.expenditures]) context['total_spending_recent'] = sum([e.cost for e in organization.expenditures.where(Expenditure.report_period >= ago)]) context['total_expenditures'] = organization.expenditures.count() context['total_expenditures_recent'] = organization.expenditures.where(Expenditure.report_period >= ago).count() context['top_legislators'] = top_legislators context['organization_rank'] = organization_rank return render_template('organization.html', **context)
def organizations_management(): if request.method == "POST": form = CreateOrganizationForm(request.form) if form.validate(): org = Organization(name=form.short_name.data, full_name=form.full_name.data) org.put() else: form = CreateOrganizationForm() existing_orgs = Organization.query().fetch(100) return render_template("admin/organizations.html", existing_orgs=existing_orgs, form=form)
def get_orgs(self): url = 'http://registry.usa.gov/accounts.json?service_id=github' r = requests.get(url) if r.status_code == 200: for acct in r.json['accounts']: org = Organization.query.filter_by(username=acct['account']).first() if org is None: org = Organization() org.name = acct['organization'] org.username = acct['account'] db.session.add(org) db.session.commit() else: print 'Error importing organizations'
def get(self): self.response.headers['Content-Type'] = 'application/json' key = ndb.Key(urlsafe = self.request.get('entity')) if key.kind() == 'Organization': entity = Organization.get_by_key(key.urlsafe()) elif key.kind() == 'OU': entity = OU.get_by_key(key.urlsafe()) elif key.kind() == 'CN': entity = CN.get_by_key(key.urlsafe()) logging.warning('DEBUG OrganizationTree - key.kind(): %s' % key.kind()) if key.kind() in ['Organization', 'OU']: name = entity.name else: name = entity.first_name + ' ' + entity.last_name treedict = {'key': entity.key.urlsafe(), 'name': name, 'kind': key.kind()} level = treedict # Ascending tree while key.kind() != 'Organization': parent = entity.parent if parent.kind() == 'Organization': entity = Organization.query(Organization.key == parent).get() else: entity = OU.query(OU.key == parent).get() key = entity.key logging.warning('DEBUG OrganizationTree - parent: %s - entity: %s' % (parent, str(entity))) entitydict = {'key': entity.key.urlsafe(), 'name': entity.name, 'kind': parent.kind()} level['parent'] = entitydict level = level['parent'] children = [] ouchildren = OU.query(OU.parent == key).fetch() for ouchild in ouchildren: oudict = {'key': ouchild.key.urlsafe(), 'name': ouchild.name, 'kind': ouchild.key.kind()} children.append(oudict) cnchildren = CN.query(CN.parent == key).fetch() for cnchild in cnchildren: cndict = {'key': cnchild.key.urlsafe(), 'name': cnchild.first_name + ' ' + cnchild.last_name, 'kind': cnchild.key.kind()} children.append(cndict) treedict['child'] = pop_list(treedict) self.response.write(json.dumps(treedict))
def __init__( self, # pylint: disable=too-many-arguments user, district_factory=None, subdistrict_factory=None, sporg_factory=None, unit_factory=None, organization_persister=None): self.user = user if district_factory: self.district_factory = district_factory else: self.district_factory = District.Factory() if subdistrict_factory: self.subdistrict_factory = subdistrict_factory else: self.subdistrict_factory = Subdistrict.Factory() if sporg_factory: self.sporg_factory = sporg_factory else: self.sporg_factory = SponsoringOrganization.Factory() if unit_factory: self.unit_factory = unit_factory else: self.unit_factory = Unit.Factory() if organization_persister: self.organization_persister = organization_persister else: self.organization_persister = Organization.Persister()
def get(self): role = self.session.get('role') user_session = self.session.get("user") if role != "admin" and role != "staff": self.redirect("/users/login?message={0}".format( "You are not authorized to view this page")) return if not self.legacy: self.redirect("/#/admin/organizations/new") form = Organization.NewOrganizationForm() template_values = {"form": form, "user_session": user_session} language = None if "language" in self.request.cookies: language = self.request.cookies["language"] else: language = "fr" self.response.set_cookie("language", "fr") language = language.replace('"', '').replace("'", "") if language == "fr": LEGACY_TEMPLATE = JINJA_ENVIRONMENT.get_template( 'fr_new_organizations.html') else: LEGACY_TEMPLATE = JINJA_ENVIRONMENT.get_template( 'new_organizations.html') self.response.write(LEGACY_TEMPLATE.render(template_values))
def sitemap(): """ Renders a sitemap. """ context = make_context() context['pages'] = [] now = datetime.date.today().isoformat() context['pages'].append(('/', now)) context['pages'].append(('/methodology/', now)) context['pages'].append(('/legislators/', now)) context['pages'].append(('/organizations/', now)) for legislator in Legislator.select(): context['pages'].append((url_for('_legislator', slug=legislator.slug), now)) for organization in Organization.select(): context['pages'].append((url_for('_organization', slug=organization.slug), now)) sitemap = render_template('sitemap.xml', **context) return (sitemap, 200, {'content-type': 'application/xml'})
def setUp(self): app.config['TESTING'] = True app.config['WTF_CSRF_ENABLED'] = False app.config['DEBUG'] = False app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + \ os.path.join(path, TEST_DB) self.app = app.test_client() db.drop_all() db.create_all() #setting up org and users org = Organization(name='Test', org_key='12345') add_db_entry(org) admin = User(organization=org.id, email=self.admin_username, password=generate_password_hash(self.admin_password), name='Admin', role='admin') add_db_entry(admin) user = User(organization=org.id, email=self.user_username, password=generate_password_hash(self.user_password), name='User', role='user') add_db_entry(user) self.assertEqual(app.debug, False)
def test_country_5(self): c = Country(name='Cowland') s = Organization(name='Monthly Milkpost') c.organizations.append(s) db.session.add(s) first = Country.query.first() self.assertEqual(len(first.organizations), 1)
def handle_organization(): """ agrega una organizacion (POST), trae lista de organizaciones (GET) """ # POST request if request.method == 'POST': body = request.get_json() if body is None: raise APIException("You need to specify the request body as a json object", status_code=400) if 'name' not in body: raise APIException('You need to specify the name', status_code=400) if 'address' not in body: raise APIException('You need to specify the address', status_code=400) if 'phone' not in body: raise APIException('You need to specify the phone', status_code=400) if 'email' not in body: raise APIException('You need to specify the email', status_code=400) organization1 = Organization(name=body['name'], address=body['address'], phone=body['phone'], email=body['email']) db.session.add(organization1) db.session.commit() return "ok", 200 # GET request if request.method == 'GET': all_organization = Organization.query.all() all_organization = list(map(lambda x: x.serialize(), all_organization)) return jsonify(all_organization), 200 return "Invalid Method", 404
def post(self): """ Create a new Organization """ if "Administrator" != current_user.role: return make_response(jsonify({"msg": "Forbidden"}), 403) id = request.json.get('id') name = request.json.get("name") network_id = request.json.get('network_id') organization = Organization.query.filter_by( name=name, network_id=network_id).first() if not organization: # If no organization exists with that name, then create a new one organization = Organization(id=id, name=name, network_id=network_id) db.session.add(organization) db.session.commit() ret = {'msg': 'Success'} return make_response(jsonify(ret), 200) else: return make_response( jsonify({ "msg": "Organization with that name already exists, please try again with a new name." }), 400)
def test_article_4(self): s = Organization(name='CowNews') a = Article(title='Why you shouldn\'t drink your own milk', organization=s) db.session.add(a) first = Article.query.first() self.assertEqual(first.organization.name, 'CowNews')
def test_organization_5(self): a = Article(title='Breaking: Milking Postponed Until Saturday') s = Organization(name='CowNews') s.articles.append(a) db.session.add(s) first = Organization.query.first() self.assertEqual(len(first.articles), 1)
def org_create(request): form = OrganizationForm() if request.method == "POST": req_data = {} data = request.POST user_id = request.session.get("user").get("id") up = UserProfile.objects.get(pk=user_id) req_data["state"] = State.objects.get(pk=data["state"]) req_data["city"] = City.objects.get(pk=data["city"]) req_data["country"] = Country.objects.get(pk=data["country"]) req_data["user"] = up req_data["name"] = data.get("name") org = Organization(**req_data) org.save() return redirect("/userorgs/") return render(request, "bloodgroup/organization_form.html", {"form": form})
def populate_db(): with app.app_context(): db.session.add( Organization('San Martin Animal Shelter', '12370 Murphy Ave, San Martin, CA 95046', '(408) 686-3900', 5)) db.session.commit()
def post(self, org_name): """The POST handler for the /orgs/<org_name> endpoint Arguments: org_name {str} -- The organization's name Returns: dict -- A status message """ args = parser.parse_args() org = Organization.query.filter_by(name=org_name).first() if org: return { 'status': 'error', 'message': 'This organization already exists!' }, 401 new_org = Organization(org_name) db.session.add(new_org) db.session.commit() # Make user the admin of the new organization req_user = this_user() new_org_id = Organization.query.filter_by(name=org_name).first().id user = User.query.filter_by(id=req_user['id']).first() user.org_id = new_org_id user.role = 'admin' db.session.commit() return {'status': 'success'}, 201
def upsert_organizations(since, get_all=False, max=None): """ Upserts Organizations for MemberSuite objects. max is the maximum number of records to return (useful for tests) returns organizations modified since `since` days ago """ if not get_all: orgs = ms_session.org_service.get_orgs(max_calls=max, since_when=since, verbose=True) else: orgs = ms_session.org_service.get_orgs(max_calls=max, verbose=True) if orgs: for org in orgs: logger.debug('upserting organization for org: "{org}"'.format( org=org.account_num)) Organization.upsert_organization(org=org)
def wsRegister(request): serialized = UserSerializer(data=request.data) if serialized.is_valid(): serialized.save() org = Organization(name=request.POST['company_name']) org.save() print("user data") print(serialized.data['username']) user = User.objects.get(username=serialized.data['username']) print(user) profile = UserProfile(user=user, organization=org) profile.save() return Response(serialized.data, status=status.HTTP_201_CREATED) else: print("bad request") return Response(serialized._errors, status=status.HTTP_400_BAD_REQUEST)
def eval_organizations(elem): """ Parses data from "<Organization />" tags Stores in Django model Saves model to mysql database """ for o in elem : assert o.get('ID') != None assert o.get('Name') != None org = Organization(name = o.get('Name'), wcdb_id = o.get('ID')) people = o.find('People') org.save() list_people = Person.objects.all() if (people != None): for p in people: for person in list_people: if (p.get('ID') == person.wcdb_id): org.people.add(person) break kind = o.find('Kind') location = o.find('Location') hist = o.find('History') contact = o.find('ContactInfo') common = o.find('Common') if(kind != None): org.kind = kind.text if(location != None): org.location = location.text if(hist != None): org.history += listings(hist) if(contact != None): org.contact += listings(contact) if(common != None): make_common(common, org) org.save()
def _legislator(slug): """ Legislator detail page. """ context = make_context() ago = get_ago() legislators = Legislator.select() legislator = Legislator.get(Legislator.slug==slug) for l in legislators: l.total_spending = l.expenditures.where(Expenditure.report_period >= ago).aggregate(fn.Sum(Expenditure.cost)) legislators_total_spending = sorted(legislators, key=lambda l: l.total_spending, reverse=True) legislator_rank = None for i, l in enumerate(legislators_total_spending): if l.id == legislator.id: legislator_rank = i + 1 org_spending = {} for ex in legislator.expenditures: if ex.organization.id in org_spending: org_spending[ex.organization.id] += ex.cost else: org_spending[ex.organization.id] = ex.cost top_organizations = [] top_categories = {} for org_id, spending in org_spending.items(): org = Organization.get(Organization.id == org_id) org.total_spending = spending top_organizations.append(org) if org.category in top_categories: top_categories[org.category] += org.total_spending else: top_categories[org.category] = org.total_spending top_organizations = sorted(top_organizations, key=lambda o: o.total_spending, reverse=True)[:10] top_categories = sorted(top_categories.items(), key=lambda c: c[1], reverse=True) context['legislator'] = legislator context['expenditures_recent'] = legislator.expenditures.where(Expenditure.report_period >= ago).order_by(Expenditure.cost.desc()) context['total_spending'] = sum([e.cost for e in legislator.expenditures]) context['total_spending_recent'] = sum([e.cost for e in legislator.expenditures.where(Expenditure.report_period >= ago)]) context['total_expenditures'] = legislator.expenditures.count() context['total_expenditures_recent'] = legislator.expenditures.where(Expenditure.report_period >= ago).count() context['top_organizations'] = top_organizations context['legislator_rank'] = legislator_rank context['top_categories'] = top_categories return render_template('legislator.html', **context)
def organizations(): """ Legislator list page. """ context = make_context() context['organizations'] = Organization.select().order_by(Organization.name) return render_template('organization_list.html', **context)
def create_orga(): if request.method == 'POST': name = request.form['name'] email = request.form['email'] telephone = request.form['telephone'] new_orga = Organization(name, email, telephone) db.session.add(new_orga) db.session.commit() db.session.close() return redirect(url_for('show_home'))
def kickoff_compute_value(): org_keys = Organization.query().iter(keys_only=True) for org_key in org_keys: url = url_for("compute_org_value", organization_key=org_key.urlsafe()) if DEVELOPMENT: taskqueue.add(url=url) else: taskqueue.add(url=url, target="1.analyzer") return redirect(url_for("value"))
def organizations(): """ Legislator list page. """ context = make_context() context['organizations'] = Organization.select().order_by( Organization.name) return render_template('organization_list.html', **context)
def get(self): self.response.headers['Content-Type'] = 'application/json' user = User.get_by_username(self.request.get('username')) organization = Organization.get_by_key(self.request.get('organization')) organizationUser = OrganizationUser() organizationUser.user = user.key organizationUser.organization = organization.key organizationUser.put() self.response.write(json.dumps({'status': 0, 'message': 'El usuario %s fue agregado a la escuela %s.' % (user.first_name + ' ' + user.last_name, organization.name), 'organization': {'key': organization.key.urlsafe(), 'name': organization.name, 'address1': organization.address1, 'address2': organization.address2, 'zipcode': organization.zipcode, 'state': organization.state, 'country': organization.country, 'notes': organization.notes}, 'user': {'key': user.key.urlsafe(), 'first_name': user.first_name, 'last_name': user.last_name}}))
def sync(self): consented_organizations = Organization.get_consented() if consented_organizations: for organization in consented_organizations: try: self._sync_organization(organization) except: print('Failed to sync users of {0}. Error: {1}'.format( organization.name, sys.exc_info())) else: print('No consented organization found. This sync was canceled.')
def get(self): args = request.args if 'id' in args: return me_obj_to_serializable( Organization.objects.get(id=args['id'])) elif 'code' in args: return me_obj_to_serializable( Organization.objects(code=args['code'])) else: return me_obj_to_serializable(Organization.objects)
def merge_organizations(elem): """ Parses data from "<Organization />" tags Stores in Django model Saves model to mysql database """ for o in elem : org_filter_obj = Organization.objects.filter(wcdb_id = o.get('ID')) if (len(org_filter_obj) != 0): org = org_filter_obj[0] #if org exists, use it org.name = o.get('Name') else: #else make a new one org = Organization(name = o.get('Name'), wcdb_id = o.get('ID')) people = o.find('People') org.save() list_people = Person.objects.all() if (people != None): for p in people: for person in list_people: if (p.get('ID') == person.wcdb_id): if(len(org_filter_obj.filter(people__wcdb_id__exact = p.get('ID'))) == 0): org.people.add(person) break kind = o.find('Kind') location = o.find('Location') hist = o.find('History') contact = o.find('ContactInfo') common = o.find('Common') if (kind != None): org.kind = kind.text if (location != None): org.location = location.text if (hist != None): str_hist = org.history.split('\n') list_hist = listings(hist).split('\n') listunion(str_hist, list_hist) org.history = '\n'.join(str_hist) if (contact != None): str_contact = org.contact.split('\n') list_contact = listings(contact).split('\n') listunion(str_contact, list_contact) org.contact = '\n'.join(str_contact) if (common != None): merge_common(common, org) org.save()
def org_edit(id=0): setExits() id = cleanRecordID(id) if id < 0: flash("That is not a valid ID") return redirect(g.listURL) timeZones = getTimeZones() if not request.form: """ if no form object, send the form page """ # get the Org record if you can rec = None if int(id) > 0: rec = Organization.query.get(id) return render_template('org/org_edit.html', rec=rec, timeZones=timeZones) #have the request form if validForm(): if id > 0: rec = Organization.query.get(id) else: ## create a new record stub rec = Organization(request.form['name'],request.form['email'],request.form["defaultTimeZone"]) db.session.add(rec) #update the record rec.name = request.form['name'] rec.email = request.form['email'] rec.defaultTimeZone = request.form["defaultTimeZone"] try: db.session.commit() except Exception as e: flash(printException('Error attempting to create '+g.title+' record.',"error",e)) db.session.rollback() return redirect(url_for('.org_list')) # form not valid - redisplay return render_template('org/org_edit.html', rec=request.form, timeZones=timeZones)
def create_organization(current_user): if not current_user.admin: return jsonify({'message': 'This endpoint is not allowed!'}) data = request.get_json() hashed_pw = generate_password_hash(data['password'], method='sha256') new_org = Organization(public_id=str(uuid.uuid4()), name=data['name'], password=hashed_pw, admin=False) db.session.add(new_org) db.session.commit() return jsonify({"message": "New Organization Created!"})
def org_detail(request, pk): """ The public profile of an organization. Visible to users/organizations in the same networks. Displays the organization's name, logo, description, team members, most recent shared content, admin email addresses. """ organization = get_object_or_404(Organization, pk=pk) users = Organization.get_org_users(organization) return render(request, 'editorial/organizationdetail.html', {'organization': organization})
def post(self): json = request.json abort_if_invalid_request_params(json, ['code', 'name']) organization = Organization() organization.code = json['code'] organization.name = json['name'] if 'description' in json: organization.description = json['description'] organization.save() return me_obj_to_serializable(organization)
def test_nonmember_cannot_editor_private_repo(self): user = User(username="******", password="******", display_name="Display Name", email="*****@*****.**") org = Organization(name="org", display_name="Organization") Repository(organization=org, name="repo", display_name="A Repository", is_public=False) self.session.add(user) self.session.commit() self.assertFalse( RepositoryUserMapManager.is_editable(self.session, "username", "org", "repo"))
def index(): """ Example view demonstrating rendering a simple HTML page. """ context = make_context() ago = get_ago() expenditures = Expenditure.select().where(Expenditure.report_period >= ago) organizations = Organization.select().join(Expenditure).where(Expenditure.report_period >= ago).distinct() lobbyists = Lobbyist.select().join(Expenditure).where(Expenditure.report_period >= ago).distinct() legislators = Legislator.select().join(Expenditure).where(Expenditure.report_period >= ago).distinct() for legislator in legislators: legislator.total_spending = legislator.expenditures.where(Expenditure.report_period >= ago).aggregate(fn.Sum(Expenditure.cost)) legislators_total_spending = sorted(legislators, key=lambda l: l.total_spending, reverse=True)[:10] categories_total_spending = {} for org in organizations: org.total_spending = org.expenditures.where(Expenditure.report_period >= ago).aggregate(fn.Sum(Expenditure.cost)) if not org.total_spending: continue if org.category in categories_total_spending: categories_total_spending[org.category] += org.total_spending else: categories_total_spending[org.category] = org.total_spending organizations_total_spending = sorted(organizations, key=lambda o: o.total_spending, reverse=True)[:10] categories_total_spending = sorted(categories_total_spending.items(), key=lambda c: c[1], reverse=True) context['senators'] = Legislator.select().where(Legislator.office == 'Senator') context['representatives'] = Legislator.select().where(Legislator.office == 'Representative') context['expenditures'] = expenditures context['total_spending'] = expenditures.aggregate(fn.Sum(Expenditure.cost)) context['total_expenditures'] = expenditures.count() context['total_organizations'] = organizations.count() context['total_lobbyists'] = lobbyists.count() context['organizations_total_spending'] = organizations_total_spending context['legislators_total_spending'] = legislators_total_spending context['categories_total_spending'] = categories_total_spending return render_template('index.html', **context)
def post(self): """Handles POST requests for /orgs endpoint Returns: dict -- Status message """ try: args = parser.parse_args() auth = args['secret'] if auth != auth_key: return {'message': 'Bad secret'}, 401 organization = Organization(name=args['name'], phone_number=args['phone_number']) db.session.add(Organization) db.session.commit() return {'message': 'success'} except Exception as e: traceback.print_exc() return generic_400(e)
def get(self): self.response.headers['Content-Type'] = 'application/json' user = User.get_by_username(self.request.get('username')) organizationUser = OrganizationUser.fetch_organizations_by_user(user.key) organizationlist = [] for organizationU in organizationUser: organization = Organization.get_by_key(organizationU.organization.urlsafe()) # Fix the issue if an organization's owner is not defined if organization.owner is None: organization.owner = user.key organization.put() organizationdict = {'status': 0, 'message': 'Organization list.', 'organization': {'key': organization.key.urlsafe(), 'owner': organization.owner.urlsafe(), 'name': organization.name, 'address1': organization.address1, 'address2': organization.address2, 'zipcode': organization.zipcode, 'state': organization.state, 'country': organization.country, 'notes': organization.notes}} organizationlist.append(organizationdict) self.response.write(json.dumps(organizationlist))
def top_3(self, request): """ Top 3 Organization of filter API Endpoint.""" # Currently only can get top 3 of category. query_params = self.request.query_params category = query_params.get('category', '') # TODO Return Top3 of all categories if not category: # Return empty response return Response([]) top_3 = Organization.top_3_of_category(category) org_serializer = self.get_serializer(top_3, many=True) return Response(org_serializer.data)
def test_repo_editor_can_editor_private_repo(self): user = User(username="******", password="******", display_name="Display Name", email="*****@*****.**") org = Organization(name="org", display_name="Organization") OrganizationUserMap(organization=org, user=user, role_shortname='M') repo = Repository(organization=org, name="repo", display_name="A Repository", is_public=False) RepositoryUserMap(repository=repo, user=user, role_shortname='E') self.session.add(user) self.session.commit() self.assertTrue( RepositoryUserMapManager.is_editable(self.session, "username", "org", "repo"))
def post(self, org_name): args = parser.parse_args() org = Organization.query.filter_by(name=org_name).first() if org: return { 'status': 'error', 'message': 'This organization already exists!' }, 401 new_org = Organization(org_name) db.session.add(new_org) db.session.commit() # Make user the admin of the new organization token = AuthToken.query.filter_by(data=args['Auth-Token']).first() req_user = User.query.filter_by(id=token.user_id).first() new_org_id = Organization.query.filter_by(name=org_name).first().id req_user.org_id = new_org_id req_user.role = 'admin' db.session.commit() return {'status': 'success'}, 201
def userRegisteration(request: User, db: Session = Depends(get_db)): id_uid = id_uuids() organization = Organization(id=id_uid, name=request.organization_name) db.add(organization) db.commit() db.refresh(organization) id_uid = id_uuids() tenant = Tenant(id=id_uid, name=request.tenant_name, company_logo=request.company_logo, organization_id=organization.id) db.add(tenant) db.commit() db.refresh(tenant) role = db.query( models.Role).filter(models.Role.name == "tenentAdmin").first() if role: print(role.id) else: role = Role(id=id_uid, name="tenentAdmin") db.add(role) db.commit() db.refresh(role) # atuo generate password a = randoms() password = str(a) Tenantuser = TenantUser(id=id_uid, username=request.username, role_id=role.id, password=password, tenant_id=tenant.id) db.add(Tenantuser) db.commit() db.refresh(Tenantuser) return {organization, tenant, Tenantuser}
def team_list(request): """ Return teams list. Displays team members from the user's own organization. Displays team members from any network that the user's organization is part of. """ # the user's organization organization = request.user.organization networks = Organization.get_org_networks(organization) # form for adding a new user to the team adduserform = AddUserForm() # only visible for admin users return render(request, 'editorial/team.html', { 'organization': organization, 'networks': networks, 'adduserform': adduserform, })
def run_analysis(org_key=None): """ Task that deletes all existing CombinedUsers and regenerates them from the underlying IntakeUsers. This task can take a long time to run, so it should be run on a dedicated instance. """ DELETE_BATCH = 500 ANALYZE_BATCH = 50 # Clear out the existing combined users cu_query = CombinedUser.query() if org_key: org_key = ndb.Key(urlsafe=org_key) cu_query = cu_query.filter(CombinedUser.orgs == org_key) while True: results, cursor, more = cu_query.fetch_page(DELETE_BATCH, keys_only=True) ndb.delete_multi(results) if not more: break # Analyze all the intake users, on a per-organization basis if org_key: org_keys = [org_key] else: org_keys = Organization.query().iter(keys_only=True) for org_key in org_keys: counter_key = "analysis::run_count::%s" % org_key.urlsafe() memcache.set(key=counter_key, value=0) iu_query = IntakeUser.query(IntakeUser.org == org_key) for iu_key in iu_query.iter(keys_only=True): memcache.incr(counter_key) #deferred.defer(analyze_user, intake_user_key=iu_key) analyze_user(iu_key) generate_csv(org_key.get().name) return "Great Success"
def analysis(): orgs = Organization.query().fetch(50) orgs_info = {} for org in orgs: total_users = IntakeUser.query(IntakeUser.org == org.key).count() if total_users == 0: continue orgs_info[org.name] = {} counter_key = "analysis::run_count::%s" % org.key.urlsafe() orgs_info[org.name]["analyzed_users"] = memcache.get(counter_key) orgs_info[org.name]["total_users"] = total_users orgs_info[org.name]["org_key"] = org.key.urlsafe() if request.method == "POST": org_key = request.form.get("org_key", None) taskqueue.add(url=url_for("run_analysis", org_key=org_key), target="analyzer") return redirect(url_for("analysis")) return render_template("admin/analysis.html", orgs_info=orgs_info)
def sitemap(): """ Renders a sitemap. """ context = make_context() context['pages'] = [] now = datetime.date.today().isoformat() context['pages'].append(('/', now)) context['pages'].append(('/methodology/', now)) context['pages'].append(('/legislators/', now)) context['pages'].append(('/organizations/', now)) for legislator in Legislator.select(): context['pages'].append((url_for('_legislator', slug=legislator.slug), now)) for organization in Organization.select(): context['pages'].append((url_for('_organization', slug=organization.slug), now)) sitemap = render_template('sitemap.xml', **context) return (sitemap, 200, { 'content-type': 'application/xml' })
def generate_csv(org_name): org = Organization.query(Organization.name == org_name).get() combined_users = CombinedUser.query(CombinedUser.orgs == org.key) rv = "UserID,LegitScore,Memberships,Transactions,Reviews,PositiveReviewPercentage,Bannings,Facebook,Twitter,Linkedin\n" for cu in combined_users: org_user_id = [ui for ui in cu.user_id if ui.startswith(org_name)][0] has_facebook = 1 if cu.facebook_id else 0 has_twitter = 1 if cu.twitter_id else 0 has_linkedin = 1 if cu.linkedin_id else 0 rv += ("%s,%.1f,%d,%d,%d,%.2f,%d,%d,%d,%d\n" % (org_user_id, cu.legit_report["legitscore"], cu.legit_report["lrg_reputation"]["marketplace_memberships"], cu.legit_report["lrg_reputation"]["total_transactions"], cu.legit_report["lrg_reputation"]["total_reviews"], cu.legit_report["lrg_reputation"]["overall_positive_feedback"], len(cu.legit_report["lrg_reputation"]["permanent_removals"]), has_facebook, has_twitter, has_linkedin)) #logging.info("CSV FILE") #logging.info(rv) file_name = files.blobstore.create(mime_type='text/plain', _blobinfo_uploaded_filename="%s-analysis" % org_name) with files.open(file_name, 'a') as f: f.write(rv) files.finalize(file_name) blob_key = files.blobstore.get_blob_key(file_name) ar = AnalysisReport.query(AnalysisReport.org_name == org_name).get() or AnalysisReport(org_name=org_name) ar.blob_key = blob_key ar.put()
def organization_with_id(self, organization_id): return Organization.get(Organization.id == organization_id)
def register(request): if is_registration_disabled(): raise Http404 user = request.user title = "Registration" try: definition = ZosiaDefinition.objects.get(active_definition=True) except Exception: raise Http404 price_overnight = definition.price_overnight price_overnight_breakfast = definition.price_overnight_breakfast price_overnight_dinner = definition.price_overnight_dinner price_overnight_full = definition.price_overnight_full price_organization = definition.price_organization price_transport = definition.price_transport date_1, date_2, date_3, date_4 = definition.zosia_start, (definition.zosia_start + timedelta(days=1)),\ (definition.zosia_start + timedelta(days=2)),\ (definition.zosia_start + timedelta(days=3)) city = definition.city # login_form = LoginForm() #if user.is_authenticated: # return HttpResponseRedirect('/blog/') free_seats = UserPreferences.get_free_seats() if request.method == 'POST': form = RegisterForm(request.POST) if form.is_valid(): email = form.cleaned_data['email'] password = form.cleaned_data['password'] username = form.cleaned_data['email'] try: user = User.objects.get(email=email) return HttpResponseRedirect('/password_reset/') except User.DoesNotExist: user = User.objects.create_user(email, email, password) user.first_name = form.cleaned_data['name'] user.last_name = form.cleaned_data['surname'] user.is_active = False # send activation mail t = loader.get_template("activation_email.txt") try: definition = ZosiaDefinition.objects.get(active_definition=True) except Exception: raise Http404 c = { 'site_name': RequestSite(request), 'uid': int_to_base36(user.id), 'token': token_generator.make_token(user), 'payment_deadline': definition.payment_deadline, } send_mail( _('activation_mail_title'), t.render(Context(c)), '*****@*****.**', [ user.email ], fail_silently=True ) user.save() #saving organization try: org1 = form.cleaned_data['organization_1'] org2 = form.cleaned_data['organization_2'] if org1 == 'new': org = Organization(name=org2, accepted=False) org.save() else: org = Organization.objects.get(id=org1) except Exception: org = Organization("fail",accepted=False) org.save() prefs = UserPreferences(user=user) prefs.org = org prefs.day_1 = form.cleaned_data['day_1'] prefs.day_2 = form.cleaned_data['day_2'] prefs.day_3 = form.cleaned_data['day_3'] prefs.breakfast_2 = form.cleaned_data['breakfast_2'] prefs.breakfast_3 = form.cleaned_data['breakfast_3'] prefs.breakfast_4 = form.cleaned_data['breakfast_4'] prefs.dinner_1 = form.cleaned_data['dinner_1'] prefs.dinner_2 = form.cleaned_data['dinner_2'] prefs.dinner_3 = form.cleaned_data['dinner_3'] if not free_seats: prefs.bus = False else: prefs.bus = form.cleaned_data['bus'] prefs.vegetarian = form.cleaned_data['vegetarian'] prefs.shirt_size = form.cleaned_data['shirt_size'] prefs.shirt_type = form.cleaned_data['shirt_type'] prefs.minutes_early = 0 prefs.save() return HttpResponseRedirect('/register/thanks/') else: form = RegisterForm() return render_to_response('register_form.html', locals())
def organization_with_name(self, name): return Organization.get(Organization.name == 'Cancer Awareness Organization')
def register(request): if is_registration_disabled(): raise Http404 user = request.user title = "Registration" # login_form = LoginForm() #if user.is_authenticated: # return HttpResponseRedirect('/blog/') if request.method == 'POST': form = RegisterForm(request.POST) if form.is_valid(): email = form.cleaned_data['email'] password = form.cleaned_data['password'] username = form.cleaned_data['email'] try: user = User.objects.get(email=email) return HttpResponseRedirect('/password_reset/') except User.DoesNotExist: user = User.objects.create_user(email, email, password) user.first_name = form.cleaned_data['name'] user.last_name = form.cleaned_data['surname'] user.is_active = False # send activation mail t = loader.get_template("activation_email.txt") c = { 'site_name': RequestSite(request), 'uid': int_to_base36(user.id), 'token': token_generator.make_token(user), } send_mail( _('activation_mail_title'), t.render(Context(c)), '*****@*****.**', [ user.email ], fail_silently=True ) user.save() #saving organization try: org1 = form.cleaned_data['organization_1'] org2 = form.cleaned_data['organization_2'] if org1 == 'new': org = Organization(name=org2, accepted=False) org.save() else: org = Organization.objects.get(id=org1) except Exception: org = Organization("fail",accepted=False) org.save() prefs = UserPreferences(user=user) prefs.org = org prefs.day_1 = form.cleaned_data['day_1'] prefs.day_2 = form.cleaned_data['day_2'] prefs.day_3 = form.cleaned_data['day_3'] prefs.breakfast_2 = form.cleaned_data['breakfast_2'] prefs.breakfast_3 = form.cleaned_data['breakfast_3'] prefs.breakfast_4 = form.cleaned_data['breakfast_4'] prefs.dinner_1 = form.cleaned_data['dinner_1'] prefs.dinner_2 = form.cleaned_data['dinner_2'] prefs.dinner_3 = form.cleaned_data['dinner_3'] prefs.bus = form.cleaned_data['bus'] prefs.vegetarian = form.cleaned_data['vegetarian'] prefs.shirt_size = form.cleaned_data['shirt_size'] prefs.shirt_type = form.cleaned_data['shirt_type'] prefs.save() return HttpResponseRedirect('/register/thanks/') else: form = RegisterForm() return render_to_response('register_form.html', locals())
def get(self): self.response.headers['Content-Type'] = 'application/json' user = User.get_by_username(self.request.get('username')) new = False if len(self.request.get('organization')) > 0: organization = Organization.get_by_key(self.request.get('organization')) else: new = True organization = Organization() organization.owner = user.key if new or len(self.request.get('name')) > 0: organization.name = self.request.get('name') if new or len(self.request.get('owner')) > 0: organization.owner = self.request.get('owner') if new or len(self.request.get('address1')) > 0: organization.address1 = self.request.get('address1') if new or len(self.request.get('address2')) > 0: organization.address2 = self.request.get('address2') if new or len(self.request.get('city')) > 0: organization.city = self.request.get('city') if new or len(self.request.get('zipcode')) > 0: organization.zipcode = self.request.get('zipcode') if new or len(self.request.get('state')) > 0: organization.state = self.request.get('state') if new or len(self.request.get('country')) > 0: organization.country = self.request.get('country') if new or len(self.request.get('phone')) > 0: organization.phone = self.request.get('phone') if new or len(self.request.get('notes')) > 0: organization.notes = self.request.get('notes') organization.put() if OrganizationUser.get_combo(user.key, organization.key) is None: organizationUser = OrganizationUser() organizationUser.user = user.key organizationUser.organization = organization.key organizationUser.put() self.response.write(json.dumps({'status': 0, 'message': 'La escuela fue agregada/modificada.', 'organization': {'key': organization.key.urlsafe(), 'name': organization.name, 'address1': organization.address1, 'address2': organization.address2, 'zipcode': organization.zipcode, 'state': organization.state, 'country': organization.country, 'notes': organization.notes}}))
Bitmymoney id: ivMaXfSHBQ9hBq5igz5nU1 """ from models import Organization, Book, Account, JournalEntry if __name__ == "__main__": import logging logging.basicConfig(level=logging.INFO) (id_, secret) = file('subledger.secret').read().strip().split() Organization.authenticate(id_, secret) org_id = 'ivMaXfSHBQ9hBq5igz5nU1' #o = Organization.from_id(org_id) #print o # Test if we can skip loading the Org first from base import Dummy o = Dummy() o._id = org_id #b = Book(a._id, 'XBT') #b.save() #b = Book.from_id(u'nFCZ2CIDfIkaY1f6b7bBG4', a._id)
def register(request): if request.method == 'POST': username = request.POST.get('username', '') email = request.POST.get('email', '') password = request.POST.get('password', '') cellphone = request.POST.get('cellphone', '') companyName = request.POST.get('companyName', '') servercnt = request.POST.get('servercnt', '') organization_name = companyName sub_domain_name = request.POST.get('sub_domain', '') if not User.objects.filter(username=username): user = User(username=username, email=email, is_superuser=False, is_staff=True, is_active=True, date_joined=str(datetime.datetime.now())) user.set_password(password) user.save() user_details = UserDetail(email=email, phone=cellphone, company=companyName, password=password, server_count=servercnt, name=username, org_name=organization_name, domain_name=sub_domain_name, user=user) org = None sentryInstance = None instance_list = AliyunSDK.AliyunSDK.get_instances() instance_list = instance_list['Instances']['Instance'] sentry_list = [] for e in instance_list: if e['InstanceName'][:len(settings.ALIYUN_ECS_SENTRY_INSTANCE_PREFIX)] == settings.ALIYUN_ECS_SENTRY_INSTANCE_PREFIX: sentry_list.append(e) print 'sentry instance count: ', len(sentry_list) sentry_count = len(sentry_list) sentry_index = random.randint(0, sentry_count-1) sentry_instance = sentry_list[sentry_index] # create organization org_list = Organization.objects.filter(sentry_instance=sentry_instance['InstanceName']) while len(org_list) >= settings.MAX_SENTRY_INSTANCE_COUNT: sentry_index = random.randint(0, sentry_count-1) sentry_instance = sentry_list[sentry_index] org_list = Organization.objects.filter(sentry_instance=sentry_instance['InstanceName']) # update sentry_instance model sentry_ipaddress = sentry_instance['PublicIpAddress']['IpAddress'][0] print 'ipaddress = ', sentry_ipaddress url_prefix = "http://%s:%s" % (sentry_ipaddress, settings.SENTRY_DEFALUT_PORT) se_inst = SentryInstance.objects.filter(sentry_instance_name=sentry_instance['InstanceName']) if not se_inst: print 'sentry_instance_name = ', sentry_instance['InstanceName'] sentryInstance = SentryInstance.objects.create(sentry_instance_name=sentry_instance['InstanceName'], sentry_instance_url_prefix=url_prefix) domain_name = sub_domain_name + settings.DEFAULT_SUB_DOMAIN_SUFFIX if not (Organization.objects.filter(organization_name=organization_name) and Organization.objects.filter(sub_domain_name=domain_name)): org = Organization(organization_name=organization_name, domain_name=sub_domain_name + settings.DEFAULT_SUB_DOMAIN_SUFFIX, sentry_instance=sentry_instance['InstanceName']) else: return render_to_response("loginsight/500.html") # save to database user_details.save() org.save() # add nginx vhost conf VHost.addVhostConf(domain=domain_name, organization=organization_name, sentry_url=url_prefix) VHost.reload_nginx() # add domain record for Aliyun Wan network resp = AliyunSDK.AliyunSDK.add_domain_record(domain_name=settings.OFFICIAL_DOMAIN_NAME, RR=domain_name, Type="A", Value=sentry_ipaddress) return render_to_response("loginsight/signup-com.html") else: return render_to_response('loginsight/signup-infor.html', context_instance=RequestContext(request)) c = {} c.update(csrf(request)) return render_to_response("loginsight/signup-infor.html", c)