def _create_new_company(company_name): """ Adds a new record for the given company name to our database. The plan is to use the crunchbase/glassdoor API to query for the given company name. If the calls return info on the company, happily add it to our database. If not, we'll assume the given company name is faulty, and return an appropriate message to the user. """ crunchbase = CrunchbaseAPI() response = crunchbase.get_company_info(company_name) if response['exists']: # Create the company using the name returned by crunchbase # TODO: We should add our own checks.. so a search for '*' doesn't give # back 'Google' # Or maybe we shouldn't let crunchbase spellcheck? company_name = response['name'].lower() try: # If company already exists, redirect to it company = Company.objects.get(name=company_name) redirect('/companies/{}'.format(new_company.id)) except Company.DoesNotExist: new_company = Company(name=company_name) new_company.save() logger.info('New company created: {}'.format(company_name)) return redirect('/companies/{}'.format(new_company.id)) else: return redirect('/')
def process_company_file(data_file): workbook = xlrd.open_workbook(settings.MEDIA_ROOT+'/'+data_file.uploaded_file.name) worksheets = workbook.sheet_names() data_file.number_of_sheets = len(worksheets) data_file.save() for worksheet_name in worksheets: worksheet = workbook.sheet_by_name(worksheet_name) num_rows = worksheet.nrows - 1 curr_row = 0 while curr_row < num_rows: curr_row += 1 company_name = worksheet.cell_value(curr_row, 0) industry = worksheet.cell_value(curr_row, 1) isin = worksheet.cell_value(curr_row, 2) bse_code = worksheet.cell_value(curr_row, 3) industry, created = Industry.objects.get_or_create(industry_name=industry) industry.created_by = data_file.uploaded_by industry.save() try: company = Company.objects.get(isin_code=isin) except: try: company = Company.objects.get(company_name=company_name) except: company = Company() company.isin_code = isin if bse_code: company.BSE_code = int(bse_code) company.industry = industry company.company_name = company_name company.created_by = data_file.uploaded_by company.save() data_file.processing_completed = True data_file.save()
def create_company(request): if request.method == 'GET': template = 'new_position/new_company.html' form = CompanyForm() return render( request, template, { 'form': form } ) elif request.method == 'POST': form = CompanyForm(request.POST) if form.is_valid(): company = Company( name = form.cleaned_data.get('name'), tag_name = form.cleaned_data.get('tag_name'), product = form.cleaned_data.get('product'), why_us = form.cleaned_data.get('why_us'), traction = form.cleaned_data.get('traction'), funding = form.cleaned_data.get('funding'), size = form.cleaned_data.get('size'), last_active = datetime.now(), market = form.cleaned_data.get('market'), company_link = form.cleaned_data.get('company_link'), ) company.save() return render( request, 'landing_pages/index.html', )
def enterpriseInfoSave(req): """ 企业信息保存! :param req: :return: """ enterpriseType = req.POST["enterpriseType"] enterprise = Company.objects.filter(companyName=enterpriseType) if req.POST["radioVal"] == "1": isShow = True else: isShow = False if enterprise.exists(): return HttpResponse(2) companyId = uuid.uuid1() # 生成36位随机数 try: with transaction.atomic(): # 事务的使用,包含的内容一旦出错,则保存的信息全部撤回 company = Company(companyId=companyId, companyName=enterpriseType, isShow=isShow) company.save() i = 0 while i < len(req.POST) - 2: enterpriseInfoNum = "enterprise" + str(i) enterpriseInfo = req.POST[enterpriseInfoNum] dataType = DataType(dataTypeId=uuid.uuid1(), companyId_id=companyId, dataName=enterpriseInfo) dataType.save() i = i + 1 print enterpriseInfo return HttpResponse(1) except Exception as err: print err return HttpResponse(0)
def create(self, request, **kwargs): serializer = CompanySerializer(data=request.data) if serializer.is_valid(): user = save_user(request.data, UserPermissions.IS_COMPANY) city = City(**request.data["city"]) company = Company( name=request.data["name"], type=UserType.COMPANY, address=request.data["address"], identityDoc=request.data["identityDoc"], phone=request.data["phone"], city=city, user=user, ) company.save() return Response( { "status": "SUCCESS", "msg_status": "Estabecimiento creado satisfactoriamente. Puede ingresar con su nueva contrasena.", } ) else: messages = [] make_error(serializer.errors.values(), messages) return Response({"status": "FAILURE", "msg_status": messages})
def delete(id): entity = Company.get(id) if(entity is None): raise ValueError("Company does not exists") else: entity.active = False Company.save(entity)
def create(self, validated_data): company = Company( name=validated_data['name'], alias=validated_data['name'].lower(), active=validated_data['active'] ) company.save() return company
def save_instance_form(self, form, user): company = Company() company.nit = form.cleaned_data['nit'] company.name = form.cleaned_data['name'] company.location = form.cleaned_data['location'] company.website = form.cleaned_data['website'] company.email = form.cleaned_data['email'] company.phone = form.cleaned_data['phone'] company.save() user.company = company user.save()
def input_companies(): ''' Creates the company models for each S&P 500 company''' yahoo_data = yahooDataRetriever.get_dict_500_companies(name_file) for i in yahoo_data.keys(): if len(Company.objects.filter(ticker = i)) > 0: continue c = Company() c.name = yahoo_data.get(i) c.ticker = i c.save() print "## Saved Company Object for: " + i
def save_company(self, tree): company = Company() #company introduction l = tree.xpath('//div[contains(@class, \'jobs_txt\')]/p') #print "company introduction:" for i in l: if not i.text is None: #print i.text company.introduction = i.text #company name l = tree.xpath('//td[@class=\'sr_bt\']') for i in l: tr = l[0].getparent() print "company name:" iters = tr.itersiblings(); for it in iters: a_list = it.xpath('//td/table/tr/td/a') for i in a_list: if not i.text is None: #print i.text company.name = i.text break break #company info l = tree.xpath('//td/strong') txt1_tag = ['公司行业:', '公司性质:', '公司规模:' ] remove_from_list(l, txt1_tag) for i in l: td = i.getparent() iters = td.itertext() index = 0 for it in iters: it = it.lstrip() if it in txt1_tag: continue if index == 0: company.industry = it elif index == 1: company.nature = it elif index == 2: company.scale = it index += 1 #print "[%s]" % it.lstrip() break company.save()
def company_new(): company = Company() if request.method == 'POST': form = CompanyForm(request.form, obj=company) if form.validate(): try: form.populate_obj(company) validate_company(company) company.save() flash('Yes, empresa cadastrada com sucesso.', 'success') return redirect(url_for('companies.company_index')) except AttributeError as e: flash(str(e), 'warning') else: form = CompanyForm(obj=company) return render_template('companies/new.html', form=form)
class TestEmployee(TestCase): def setUp(self): self.region = Region(name="test_region") self.region.save() self.company = Company(code="1001", name="test_company", region=self.region) self.company.save() self.store = Store(code="10011001", name="test_store", company=self.company) self.store.save() self.emp_region = Employee(username="******", organization=self.region) self.emp_company = Employee(username="******", organization=self.company) self.emp_store = Employee(username="******", organization=self.store) def test_organizations(self): organizations = self.emp_region.organizations() self.assertEquals([self.region], organizations) organizations = self.emp_company.organizations() self.assertEquals([self.region, self.company], organizations) organizations = self.emp_store.organizations() self.assertEquals([self.region, self.company, self.store], organizations) def test_in_xxx_org(self): # employee in region self.assertTrue(self.emp_region.in_region()) self.assertFalse(self.emp_region.in_company()) self.assertFalse(self.emp_region.in_store()) # employee in company self.assertFalse(self.emp_company.in_region()) self.assertTrue(self.emp_company.in_company()) self.assertFalse(self.emp_company.in_store()) # employee in company self.assertFalse(self.emp_store.in_region()) self.assertFalse(self.emp_store.in_company()) self.assertTrue(self.emp_store.in_store()) def test_org(self): self.assertEqual(self.emp_region.org(), self.region) self.assertEqual(self.emp_company.org(), self.company) self.assertEqual(self.emp_store.org(), self.store)
class TestOrganization(TestCase): def setUp(self): self.region = Region(name="test_region") self.region.save() self.company = Company(code="1001", name="test_company", region=self.region) self.company.save() self.company2 = Company(code="1002", name="test_company_2", region=self.region) self.company2.save() self.store = Store(code="10011001", name="test_store", company=self.company) self.store.save() def test_ancestor(self): self.assertTrue(self.region.pk == self.company.ancestor().pk) self.assertTrue(self.region.pk == self.store.ancestor().pk) def test_belong_to(self): self.assertTrue(self.store.belong_to(self.company)) self.assertFalse(self.region.belong_to(self.company)) self.assertFalse(self.store.belong_to(self.company2))
def _find_company(company_name): """ Queries the crunchbase API to find the given company """ crunchbase = CrunchbaseAPI() response = crunchbase.get_company_info(company_name) if response['exists']: # grab and use the name given back by crunchbase company_name = response['name'].lower() try: # See if we already have an entry for the company company = Company.objects.get(name=company_name) return redirect('/companies/{}/'.format(company.id)) except Company.DoesNotExist: new_company = Company(name=company_name) new_company.save() logger.info('New company created: {}'.format(company_name)) return redirect('/companies/{}'.format(new_company.id)) else: # Company doesn't exist, redirect to homepage return redirect('/')
def create_company(name, notification_plugins, timezone, time_tracking_plugin=None, time_tracking_data=None): """ Creates a company in the db :param name: Company name :type name: str :param notification_plugins: List of plugins to use to notify :type notification_plugins: [BaseNotificationPlugin] :param timezone: Timezone the company is in (as pytz requires it) :type timezone: str :param time_tracking_plugin: Time Tracking plugin :type time_tracking_plugin: str :return: Company ID :rtype: int :raises: NotificationMethodMissing, CompanyNameMissing, InvalidTimeTrackingPlugin """ if name is None: raise CompanyNameMissing() if timezone is None: raise TimezoneMissing() # There should be at least a notification method if notification_plugins is None or len(notification_plugins) == 0: raise NotificationMethodMissing() # This throws an exception if the plugin doesn't exist PluginsManager.get_time_tracking_plugin(time_tracking_plugin, **time_tracking_data) for plugin in notification_plugins: PluginsManager.get_notification_plugin(plugin['notification_plugin'], **plugin['notification_data']) company = Company(name=name, notification_plugins=notification_plugins, timezone=timezone, time_tracking_plugin=time_tracking_plugin, time_tracking_data=time_tracking_data) company.save() return company.id
def test_safestr(self): c = Company(cents_payed=12, products_delivered=1) c.name = SafeUnicode(u"Iñtërnâtiônàlizætiøn1") c.save() c.name = SafeString(u"Iñtërnâtiônàlizætiøn1".encode("utf-8")) c.save()
def populate_db(): v12 = Vehicle( number=12, plate="1234ABC", brand="My brand", model="My model", hour_price=27.32, km_price=8.99 ) v15 = Vehicle( number=15, plate="9876ZYX", brand="My brand", model="My model", hour_price=34.02, km_price=4.00 ) v12.save() v15.save() c1 = Company( code="0001", name="Company name", nif="B12345678", address="Rue st.", city="Zaragoza", state="Zaragoza", zip_code="50000", phone="123456789", contact_person="Foolano", alternative_phone="987654321", fax="246813579", email="*****@*****.**", iban="ES12345678901234567890123456789012", bank_name="THE Bank", payment_type="CASH", expiration_days=30, first_payment_day=5, second_payment_day=15, third_payment_day=25 ) c2 = Company( code="0002", name="Foo Inc.", nif="B45678123", address="Major st", city="Zaragoza", state="Zaragoza", zip_code="50002", email="*****@*****.**", iban="ES12345678901234567890123456789012", bank_name="Minor Bank", payment_type="BANK_TRANSFER", expiration_days=45, first_payment_day=8 ) c1.save() c2.save() dn1 = DeliveryNote( code="11111111", date=date(2016, 1, 3), company=c1, vehicle=v12, invoiced=False ) dn2 = DeliveryNote( code="22222222", date=date(2016, 1, 5), company=c1, vehicle=v15, invoiced=False ) dn1.save() dn2.save() dni1 = DeliveryNoteItem( delivery_note=dn1, item_type="HOURS", units=12, price=v12.hour_price, description="Working hard" ) dni2 = DeliveryNoteItem( delivery_note=dn2, item_type="HOURS", units=7, price=21.00, description="We are working hard here" ) dni3 = DeliveryNoteItem( delivery_note=dn2, item_type="OTHERS", units=1, price=327.86, description="Are you working hard?" ) dni1.save() dni2.save() dni3.save() Settings(vat=21.00, invoice_number="0000000001").save()
def test_safestr(self): c = Company(cents_payed=12, products_delivered=1) c.name = SafeUnicode(u'Iñtërnâtiônàlizætiøn1') c.save() c.name = SafeString(u'Iñtërnâtiônàlizætiøn1'.encode('utf-8')) c.save()
from models import Company, database alelo = Company() alelo.name = "ALELO" alelo.description = "Cartão Refeição, Alimentação. A gente trabalha em seu benefício." alelo.base_value = 30 alelo.picture = "http://www.appsgalery.com/pictures/000/150/-lelo-150898.png" sodexo = Company() sodexo.name = "SODEXO" sodexo.description = "Motive ainda mais os seus trabalhadores! Com os cartões de benefícios para funcionários da Sodexo, eles ganham benefícios e vantagens exclusivas!" sodexo.base_value = 25 sodexo.picture = "http://freevectorlogo.net/wp-content/uploads/2012/10/sodexo-vector-logo-400x400.png" vr = Company() vr.name = "VR" vr.description = "A refeição saborosa dos funcionários ainda traz benefícios fiscais para a sua empresa!" vr.base_value = 28 vr.picture = "http://merkk.com/wp-content/uploads/2015/12/vr-refei----o.png" with database.transaction(): alelo.save() sodexo.save() vr.save()
def save(entity, logo_name, logo_data): if logo_name: if logo_name.lower().endswith(('.png')): pass else: raise ValueError("The logo only supports .png extension") if entity.key is None: entity.active=True entity = Company.save(entity) '''Create Asset Inventory''' from models import AssetSize from random import randint for e in AssetSize: inventory = AssetInventory() inventory.populate( asset_size = AssetSize(int(e)), company_key = entity.key, count = randint(1, 10) ) AssetInventoryService.AssetInventoryInstance.save(inventory) else: current = Company.get(entity.key.urlsafe()) if current is not None: current.name = entity.name current.domain = entity.domain current.state = entity.state current.city = entity.city current.zipcode = entity.zipcode current.contact_phone = entity.contact_phone current.contact_email = entity.contact_email current.address = entity.address current.vendor_notes = entity.vendor_notes current.active = entity.active current.latitude = entity.latitude current.longitude = entity.longitude entity = Company.save(entity) else: raise ValueError("Company does not exists") if logo_name and logo_data: bucket_name = os.environ.get('BUCKET_NAME', app_identity.get_default_gcs_bucket_name()) path = "/" + bucket_name + "/" + entity.key.urlsafe() + "/" + logo_name write_retry_params = gcs.RetryParams(backoff_factor=1.1) gcs_file = gcs.open(path, 'w', content_type='image/png', options={'x-goog-meta-foo':'foo', 'x-goog-acl':'public-read', 'x-goog-meta-bar':'bar'}, retry_params=write_retry_params) gcs_file.write(base64.b64decode(logo_data)) gcs_file.close() entity.logo_url = config.GOOGLE_CLOUD_STORAGE_BASE_ADDRESS_TO_DOWNLOAD + "/" + bucket_name + "/" + entity.key.urlsafe() + "/" + logo_name entity = Company.save(entity) return entity
def setup(self): com1 = Company( name="Orange Farm 1", description='We are the tour company that many people rely on', location='Thailand') com1.save()