Esempio n. 1
0
	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)
Esempio n. 2
0
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))
Esempio n. 3
0
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('/')
Esempio n. 4
0
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)
Esempio n. 5
0
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)
Esempio n. 6
0
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('/')
Esempio n. 7
0
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")
Esempio n. 8
0
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))
Esempio n. 9
0
	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)
Esempio n. 10
0
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)
Esempio n. 11
0
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)
Esempio n. 12
0
	def test_company_objects_are_named_as_their_name(self):
		p = Company()
		p.name = "Qestu"
		self.assertEquals(unicode(p), 'Qestu')
Esempio n. 13
0
	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)
Esempio n. 14
0
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 = {