def test_add_acquisition(self): co = Company() #start by creating the required fields #name co.name = "SuperStartup" print('added superstartup in test_add_acquisition') #permalink co.permalink = "superstartup" url = 'http://api.crunchbase.com/v/1/company/m5-networks-3.js' dicta = fetch_json(url) #all_companies_in_database = Company.objects.all() #self.assertEquals(len(all_companies_in_database), 1) #co = all_companies_in_database[0] self.assertEquals(co.name, "SuperStartup") print(co) #Add the acquisition from the json to the add_acq(co, dicta) #a = acquisition() #a.term_code ='shares' #co.acquisition = a print('Acquisition term code: ' + co.acquisition.term_code) #co = all_companies_in_database[0] name = co.name acq_code = co.acquisition.term_code self.assertEquals('cash_and_stock', acq_code) self.assertEquals('shoretel', co.acquisition.acquiring_company.permalink)
def CompanyContact(request): import string, random if request.method == "POST": form = CompanyContactForm(request.POST, request.FILES) if form.is_valid(): company = Company(**form.cleaned_data) # set slug slug = slugify(request.POST["name"]) company.slug = slug # set randomin password chars = string.ascii_uppercase + string.digits + string.ascii_lowercase company.password = "".join(random.choice(chars) for x in range(15)) company.save() # create user from django.contrib.auth.models import User user = User.objects.create_user(company.contact_email, company.contact_email, company.password) user.first_name = company.name user.save() user = User.objects.filter(username=company.contact_email) user = user[0] user.set_password(company.password) user.save() # send email with login info try: plaintext = get_template("email/registrook.txt") htmly = get_template("email/registrook.html") d = Context( { "contact_name": request.POST["contact_name"], "empresa": request.POST["name"], "contact_email": request.POST["contact_email"], "password": company.password, } ) subject, from_email, to = ( "Registro de empresa en Meguz.com", "*****@*****.**", request.POST["contact_email"], ) text_content = plaintext.render(d) html_content = htmly.render(d) msg = EmailMultiAlternatives(subject, text_content, from_email, [to]) msg.attach_alternative(html_content, "text/html") msg.send() # redirect to 'register ok' page return HttpResponseRedirect("/empresa/registro/ok") except Exception, e: return render_to_response("company/contact.html", {"e": e}, context_instance=RequestContext(request))
def addResume(request): if (request.method == 'POST'): parsed_json = json.loads(request.body.decode("utf-8")) resume = Resume(name=parsed_json['name'], email=parsed_json['email'], post=parsed_json['post'], phone=parsed_json['phone'], about=parsed_json['about'], resume_user_id=parsed_json['id'], city=parsed_json['city'], education=parsed_json['education'], institution=parsed_json['institution'], profession=parsed_json['profession']) resume.save() for skill in parsed_json['skills']: skill = Skill(skill=skill['skill'], text=skill['description'], skill_user_id=parsed_json['id'], post=parsed_json['post']) skill.save() for company in parsed_json['companies']: company = Company(company=company['company'], expirience=company['expirience'], skill_user_id=parsed_json['id'], post=parsed_json['post'], date=company['date']) company.save() return redirect('/')
def listCompany(request): model = Company default_GET = '?reverse=false&order_by=-created&search_field=name&filter_option=__icontains&search_data=&search_data2=&relation=%26&page=1' if not request.GET: return set_default(model, request, default_GET) result = get_objects_by_request_ex(request, model, default_GET, relation_model='business_category') if result['success']: objects, page = result['data'] else: return set_default(model, request, default_GET) set_session(request, objects, model) total = len(objects) paginator = Paginator(objects, PAGE) try: objects = paginator.page(page) except: objects = paginator.page(1) content = { 'objects': objects, 'total': total, } content.update(Company.get_state()) return render(request, 'post/company/list.html', content)
def showSettings(request): #Эта страница используется только для отображения настроек сохранение через settings/save/ if request.user.is_authenticated: refreshLastOnline(request.user) if request.user.is_authenticated: userType = UserType.GetUserType(request.user) print('тип юзера: ' + str(userType)) if userType == 1: worker = gerWorkList(user=request.user, user_id=request.user, userAauthorized=request.user.is_authenticated, itsSettings=True) selectedList = [] if worker != None and len(worker) > 0: worker = worker[0] selectedList = worker.get('proflist') else: worker = {} context = { 'worker': worker, #'city': getCityList(), 'citylist': getCityListFull(), 'serviceList': getServiceList(), 'countryList': getCountryList(), 'professionList': getProfessionListWithGroup(selectedList=selectedList) } print("Ответ:") print(worker) return render(request, 'WorkerSettings.html', context) elif userType == 2: company = Company.GetCompanyByUser(user=request.user) context = {'company': company, 'citylist': getCityListFull()} return render(request, 'CompanySettings.html', context) else: return render(request, 'errors/500.html', None, None, status=500) else: return render(request, 'errors/403.html', None, None, status=403)
def editResume(request): if (request.method == 'POST'): parsed_json = json.loads(request.body.decode("utf-8")) resume = Resume.objects.get(id=parsed_json['resumeId']) resume.name = parsed_json['data']['name'] resume.email = parsed_json['data']['email'] resume.post = parsed_json['data']['post'] resume.phone = parsed_json['data']['phone'] resume.about = parsed_json['data']['about'] resume.education = parsed_json['data']['education'] resume.institution = parsed_json['data']['institution'] resume.profession = parsed_json['data']['profession'] resume.save() Skill.objects.filter(post=parsed_json['data']['post'], skill_user_id=parsed_json['data']['id']).delete() Company.objects.filter(post=parsed_json['data']['post'], skill_user_id=parsed_json['data']['id']).delete() for skill in parsed_json['data']['skills']: skill = Skill(skill=skill['skill'], text=skill['description'], skill_user_id=parsed_json['data']['id'], post=parsed_json['data']['post']) skill.save() for company in parsed_json['data']['companies']: company = Company(company=company['company'], expirience=company['expirience'], skill_user_id=parsed_json['data']['id'], post=parsed_json['data']['post'], date=company['date']) company.save() return redirect('/')
def create_company(): picture = request.form.get('picture', "") name = request.form.get('name', "") bio = request.form.get('bio', "") specialization = request.form.get('specialization', "") username = request.form.get('username', "") email = request.form.get('email', "") password = request.form.get('password', "") # company = Company("dummy pic", "Evil Corp", "zap", "take yo money", "Ecorp", "*****@*****.**", "mazzaradi") newCompany = Company(picture, name, bio, specialization, username, email, password) db.session.add(newCompany) db.session.commit() return redirect("/login")
def Profile(request): user_email = request.user.email company = Company.objects.get(contact_email=user_email) if company is None: HttpResponseRedirect("/epanel") else: if request.method == 'POST': # Proceso form form = CompanyEditForm(request.POST, request.FILES) if(form.is_valid()): edit_company = Company(**form.cleaned_data) edit_company.id = company.id edit_company.slug = company.slug edit_company.contact_email = company.contact_email if 'logo' not in request.FILES: edit_company.logo = company.logo edit_company.save() # TODO: Check contact_email change and update userinfo return HttpResponseRedirect("/epanel/perfil") else: form = CompanyEditForm(initial={ 'name': company.name, 'slogan': company.slogan, 'logo': company.logo, 'rut': company.rut, 'address': company.address, 'phone': company.phone, 'email': company.email, 'website': company.website, 'contact_name': company.contact_name, 'contact_email': company.contact_email, 'contact_phone': company.contact_phone, }) context = {'form':form} return render_to_response('epanel/profile.html', context, context_instance=RequestContext(request))
def root_url_shows_all_companies(self): company1 = Company(name='Boring Company', permalink='boringcompany') company1.save() company2 = Company(name='Exciting Company', permalink='excitingcompany') company2.save() client = Client() response = client.get('/') template_names_used = [t.name for t in response.templates] self.assertIn('home.html', template_names_used) #Check we've passed the companies to the template companies_in_context = response.context['companies'] self.assertEquals(list(companies_in_context), [company1, company2]) #Check that the company names appear on the page self.assertIn(company1.name, response.content) self.assertIn(company2.name, response.content)
def showSettingsJson(request): if request.user.is_authenticated: refreshLastOnline(request.user) context = {} if request.user.is_authenticated: print('Настройки: ' + str(request.POST)) print('showSettingsJson куки:' + str(request.COOKIES)) print('Настройки: ' + str(request.user)) userType = UserType.GetUserType(request.user) if userType == 1: token = csrf.get_token(request) worker = gerWorkList(user=request.user, user_id=request.user, userAauthorized=request.user.is_authenticated, itsSettings=True) selectedList = [] if worker != None and len(worker) > 0: worker = worker[0] selectedList = worker.get('proflist') else: worker = {"name": "", "surname": "", "lastname": ""} struct = { "group": [ { "name": "Фотография", "items": [ { "columnname": "fotourl", "type": "base64", "value": worker.get('resizefotourl', ''), "additionaly": { "rating": { "type": "int", "value": worker.get('rating', 0), 'hidden': True }, "commentscount": { "type": "int", "value": worker.get('commentscount', 0), 'hidden': True } } }, ] }, { "name": "Личные данные", "items": [{ "columnname": "surname", "label": "Фамилия", "type": "string", "value": worker.get('surname', ''), "required": True }, { "columnname": "name", "label": "Имя", "type": "string", "value": worker.get('name', ''), "required": True }, { "columnname": "lastname", "label": "Отчество", "type": "string", "value": worker.get('lastname', '') }, { "columnname": "sex", "label": "Пол", "type": "binaryswitch", "values": ["Женский", "Мужской"], "value": 1 if (worker.get('sex', True)) else 0 }, { "columnname": "birthday", "label": "Дата рождения", "type": "date", "value": worker.get('birthday', ''), "required": True }, { "columnname": "country", "label": "Гражданство", "type": "ref", "value": worker.get('nationality', '') }, { "columnname": "workpermit", "label": "Разрешение на работу в РФ", "type": "boolean", "value": worker.get('workpermit', False) }, { "columnname": "city", "label": "Мой город, населенный пункт", "type": "ref", "value": worker.get('city', '') }, { "columnname": "phonenumber", "label": "Телефон", "type": "string", "subtype": "phone", "value": worker.get('phonenumber', '') }, { "columnname": "emailaddress", "label": "Электронная почта", "type": "string", "subtype": "email", "value": worker.get('emailaddress', '') }, { "columnname": "haveip", "label": "ИП/Самозанятые", "type": "boolean", "value": worker.get('haveip', False) }, { "columnname": "haveinstrument", "label": "Есть свои инструменты", "type": "boolean", "value": worker.get('haveinstrument', False) }, { "columnname": "experiencedate", "label": "Работаю на выставках с", "type": "year", "min": 1990, "max": 2020, "value": worker.get('experiencedate', False) }, { "columnname": "experience", "label": "Опыт работы на выставках", "type": "text", "value": worker.get('experience', '') }] }, { "name": "Командировки", "items": [ { "columnname": "readytotravel", "label": "Готов к командировкам", "type": "boolean", "value": worker.get('readytotravel', False) }, { "columnname": "haveintpass", "label": "Наличие загранпаспорта", "type": "boolean", "value": worker.get('haveintpass', False) }, #{"columnname": "haveshengen", "label": "Наличие визы", "type": "boolean", "value": worker.get('haveshengen', False)}, ] }, { "name": "Мои умения и навыки", "items": [ { "columnname": "professions", "label": "Специальность", "type": "multipleref", "value": worker.get('proflist', []) }, ] }, { "name": "Услуги и цены", "items": [ #{"columnname": "salary", "label": "Должностной оклад (руб.)", "type": "int", "value": worker['works'].get('salary', 0)}, { "columnname": "services", "label": "Проектная работа", "type": "table", "value": worker['works'].get('servicelist', []) }, ] }, { "name": "Дополнительно", "items": [ #{"columnname": "personaldataisallowed", "label": "Согласен на обработку персональных данных", "labelposition": "right", "width": "100%", "type": "boolean", "value": worker.get('personaldataisallowed', False), "backgroundcolor": "#f8d7da"}, { "columnname": "publishdata", "label": "Опубликовать анкету в общий доступ", "labelposition": "right", "width": "100%", "type": "boolean", "value": worker.get('publishdata', False), "backgroundcolor": "#d4edda" }, ] } ] } context = { 'worker': struct, 'itsworker': True, 'status': True, 'csrfmiddlewaretoken': token, 'userid': worker.get('id') } elif userType == 2: token = csrf.get_token(request) company = Company.GetCompanyByUser(user=request.user) worker = { "group": [{ "name": "Фотография", "items": [ { "columnname": "fotourl", "type": "base64", "value": company.get('resizefotourl', ''), }, ] }, { "name": "Данные о компании", "items": [{ "columnname": "name", "label": "Наименование", "type": "string", "value": company.get('name', ''), "required": True }, { "columnname": "vatnumber", "label": "ИНН", "type": "string", "value": company.get('vatnumber', ''), "required": True }, { "columnname": "city", "label": "Мой город, населенный пункт", "type": "ref", "value": company.get('city', '') }, { "columnname": "phonenumber", "label": "Телефон", "type": "string", "subtype": "phone", "value": company.get('phonenumber', '') }, { "columnname": "emailaddress", "label": "Электронная почта", "type": "string", "subtype": "email", "value": company.get('emailaddress', '') }, { "columnname": "description", "label": "Описание", "type": "text", "value": company.get('description', '') }] }] } context = { 'worker': worker, 'itsworker': False, 'status': True, 'csrfmiddlewaretoken': token, 'userid': company.get('id') } else: context["message"] = '500: Внутренняя ошибка сервера' context["status"] = False else: context["message"] = '403: Доступ запрещен' context["status"] = False return JsonResponse(context)
def saveSettings(request): print( "saveSettings: ==========================================================" ) if request.user.is_authenticated: refreshLastOnline(request.user) if request.user.is_authenticated: # != True: if request.method == "POST": userType = UserType.GetUserType(request.user) print('тип юзера: ' + str(userType)) if userType == 1: #print("СОХРАНЯЕМ НАСТРОЙКИ SAVE================================================================================") #print(request.read()) #print(request.FILES) #print(request.POST) # #print("================================================================================") if request.POST.__contains__('data'): print("Сохраняем рабочего") print(request.POST.__getitem__('data')) try: print("Перед json.loads") data = dict( json.loads(request.POST.__getitem__('data'))) print("После json.loads") setWorker(request.user, data) except Exception as e: print('Не удалось сохранить профиль') if request.is_ajax(): return JsonResponse({ 'status': False, 'errors': 'Не удалось сохранить профиль', 'csrfmiddlewaretoken': csrf.get_token(request) }) else: return HttpResponse(settings.HOME_PAGE + 'servererror/') if request.is_ajax(): return JsonResponse({ 'status': True, 'csrfmiddlewaretoken': csrf.get_token(request) }) else: return HttpResponse(settings.HOME_PAGE + 'success/') elif userType == 2: if request.POST.__contains__('data'): print("Сохраняем компанию") print(request.POST.__getitem__('data')) data = dict(json.loads(request.POST.__getitem__('data'))) Company.UpdateCompany(user=request.user, data=data) if request.is_ajax(): return JsonResponse({ 'status': True, 'csrfmiddlewaretoken': csrf.get_token(request) }) else: return HttpResponse(settings.HOME_PAGE + 'success/') else: if request.is_ajax(): return JsonResponse({ 'status': False, 'csrfmiddlewaretoken': csrf.get_token(request) }) else: return HttpResponse(settings.HOME_PAGE + 'servererror/', status=500) else: if request.is_ajax(): return JsonResponse({ 'status': False, 'csrfmiddlewaretoken': csrf.get_token(request) }) else: return HttpResponse(settings.HOME_PAGE + 'notfound/', status=404) else: if request.is_ajax(): return JsonResponse({ 'status': False, 'csrfmiddlewaretoken': csrf.get_token(request) }) else: return HttpResponse(settings.HOME_PAGE + 'forbiden/', status=403)
def test_company_objects_are_named_as_their_name(self): p = Company() p.name = "Qestu" self.assertEquals(unicode(p), 'Qestu')
def setUp(self): newco = Company() #start by creating the required fields #name newco.name = "SuperStartup" #permalink newco.permalink = "superstartup" #category_code newco.category_code ="software" #number of employees newco.number_of_employees = 3 #founded year newco.founded_year = 2001 #founded_month newco.founded_month = None #deadpooled_year newco.deadpooled_year = None #deadpooled_month newco.deadpooled_month = None #deadpooled_url #newco.deadpooled_url = '' #description newco.description = "newco makes widgets that automate productivity of efficient social features in the health, retail, industry, banking, telecommunications, construction and small business accounting industries" #overview newco.overview = "We are revolution to market" #total_money_raised newco.total_money_raised = "\u20ac183M" #save to database before adding manytomanyfields newco.save() #adding ManyToManyField values #ipo ipo1 = ipo() ipo1.save() newco.ipo.add(ipo1) #tag_list tag1 = tag(tag = "venture-capital-company") tag1.save() tag2 = tag(tag = "disruptive-technology-start-ups") tag2.save() newco.tag_list.add(tag1) newco.tag_list.add(tag2) #funding rounds #financial organization financial1 = financial_org() financial1.name = "Open Ocean" financial1.permalink = "openocean" financial1.save() #investment investment1 = investments() investment1.save() investment1.financial_org.add(financial1) #round round1 = funding_rounds() round1.round_code = "a" round1.raised_amount = 21640000 round1.raised_currency_code = "EUR" round1.funded_year = 2008 round1.funded_month = 10 round1.funded_day = 30 round1.save() print("Saved the easy funding round...") round1.investments.add(investment1) #Add the funding round newco.funding_rounds.add(round1)
def random_vat(): digits = list(map(str, range(10))) res = 'BE0' + "".join(rnd.choice(digits) for i in range(9)) GENERATED_VATS.append(res) return res def random_company_name(): alphabet = list(map(chr, range(ord('A'), ord('Z') + 1))) return "".join(rnd.choice(alphabet) for i in range(rnd.randint(4, 10))) Company.objects.bulk_create([ Company( vat=random_vat(), name=random_company_name(), employees=rnd.randint(-1, 1000), profit=rnd.randint(-1_000_000, 1_000_000_000) ) for i in range(COMPANIES_COUNT) ]) partners = [ Partner(name=name) for name in PARTNERS ] for partner in partners : partner.save() for index, (part, count) in enumerate(PARTNERS.items()): interactions = {