Esempio n. 1
0
def get_or_create_company(name):
    cd = get_company_detail(name)
    if cd is None:
        company_title = name
    else:
        company_title = cd['name']
    jc = Company.objects.all().filter(company__iexact=company_title)
    if jc.count() == 0:
        # if company doesnt exist save it
        if cd is None:
            jc = Company(company=name, domain=None)
        else:
            jc = Company(company=cd['name'], domain=cd['domain'])
            jc.save()
            if 'logo' in cd and cd['logo'] is not None and cd['logo'] is not '':
                try:
                    urlretrieve(cd['logo'], filename=cd['logo'].split('/')[-1])
                    file = open(cd['logo'].split('/')[-1], 'rb')
                    filename = "%s.%s" % (uuid.uuid4(), 'jpg')
                    jc.logo.save(filename, File(file), save=True)
                    jc.save()
                    os.remove(cd['logo'].split('/')[-1])
                except FileNotFoundError as err:
                    pass  # something wrong with local path
                except HTTPError as err:
                    pass  # something wrong with url
        jc.save()
    else:
        jc = jc[0]
    if jc.location_address is None:
        fetch_company_location(name)
    return jc
Esempio n. 2
0
def edit_company(request, company_id=None):
    if company_id:
        company_instance = Company.objects.get(pk=company_id)
        check_manager_permission(company_instance.manager, request.user)
    else:
        company_instance = Company()
    company_form = CompanyForm(instance=company_instance)

    if request.method == 'POST':
        company_form = CompanyForm(request.POST,
                                   instance=company_instance,
                                   files=request.FILES)
        if company_form.is_valid():
            if not company_id:
                try:
                    manager = Manager.objects.get(profile=request.user.profile)
                except Manager.DoesNotExist:
                    manager = Manager(profile=request.user.profile)
                    manager.save()
                company_instance = company_form.save(commit=False)
                company_instance.manager = manager
            company_instance.save()
            return redirect(
                reverse('company-detail', args=(company_instance.id, )))

    return render(request, 'company/company/company_form.html', {
        'company_form': company_form,
        'title': 'Update Company'
    })
Esempio n. 3
0
def public_profile_smart_cars():
    company = Company(**default_public_profile_data)
    company.number = '0123456E'
    company.is_published = True
    company.sectors = ['SOFTWARE_AND_COMPUTER_SERVICES', 'AUTOMOTIVE']
    company.save()
    return company
Esempio n. 4
0
def public_profile_cars():
    company = Company(**default_public_profile_data)
    company.number = '0123456D'
    company.is_published = True
    company.sectors = ['AUTOMOTIVE']
    company.save()
    return company
Esempio n. 5
0
def public_profile_software():
    company = Company(**default_public_profile_data)
    company.number = '0123456C'
    company.is_published = True
    company.sectors = ['SOFTWARE_AND_COMPUTER_SERVICES']
    company.save()
    return company
Esempio n. 6
0
 def setUp(self):
     self.company = Company(name='example',
                            created_at=timezone.now(),
                            email='*****@*****.**',
                            website='https://www.example.com',
                            krs_code=1111111111,
                            nip_code=1111111111)
Esempio n. 7
0
    def setUp(self):
        ### USERS ###
        self.password = '******'

        ferromet = User()
        ferromet.username = '******'
        ferromet.first_name = 'FERROMET'
        ferromet.set_password(self.password)
        ferromet.save()

        admin = User()
        admin.username = '******'
        admin.first_name = 'Главный куратор'
        admin.set_password(self.password)
        admin.save()

        ### PROFILES ###

        profile1 = Profile()
        profile1.user = admin
        profile1.is_company = False
        profile1.is_report = True
        profile1.is_super_user = True
        profile1.telefon = '+7 921 622 22 50'
        profile1.save()

        profile2 = Profile()
        profile2.user = ferromet
        profile2.save()

        ### COMPANYS ###

        fer_com = Company()
        fer_com.com_user = ferromet
        fer_com.save()

        ### DEPS ###

        dep1 = Departments()
        dep1.pk = 1
        dep1.company = fer_com
        dep1.name = u'Основной'
        dep1.save()

        ### PC ###

        pc1 = CompanyPC()
        pc1.id = 1
        pc1.company = fer_com
        pc1.departament = dep1
        pc1.pc_nameId = '1'
        pc1.pc_name = 'buh'
        pc1.save()

        ### PC_OPTIONS ###

        option1 = PcOptions()
        option1.id = 1
        option1.name = u'Процессор'
        option1.save()
Esempio n. 8
0
    def setUp(self):
        company = Company(
            id=1,
            zipcode="79008",
            logo="http://test.test",
            name="testcompany",
            mail="*****@*****.**",
            phone="+380901234567",
        )
        company.save()

        project = AdviserProject(
            id=1,
            id_company=company,
            name="project1",
            description="test",
            project_template="test",
        )
        project.save()

        Player.objects.create(id=1,
                              name="player1",
                              description="player description",
                              mac_address="11:2a:bb:q1:ss:77",
                              status=False,
                              project=project)

        Player.objects.create(id=2,
                              name="player2",
                              description="player description",
                              mac_address="22:21:dd:ac:ff:22",
                              status=False)

        self.client = Client()
Esempio n. 9
0
 def handle(self, *args, **options):
     data = {}
     try:
         with open('mock_data.json', 'r') as fd:
             data = json.load(fd)
     except (IOError, ValueError) as e:
         print("Error with mock_data.json opening: %s" % e)
     # If file successfully loaded and parsed with json
     if data:
         with transaction.atomic():
             for element in data:
                 company = Company(name=element['name'],
                                   sector=element['sector'],
                                   siren=element['siren'])
                 company.save()
                 for result in element['results']:
                     CompanyResult(ca=result['ca'],
                                   margin=result['margin'],
                                   ebitda=result['ebitda'],
                                   loss=result['loss'],
                                   date=date(year=result['year'],
                                             month=01,
                                             day=01),
                                   company=company).save()
                 print('Company "%s" created.' % company.name)
Esempio n. 10
0
def run():
    base_path = './data/'
    file_list = os.listdir(base_path)
    company_name_set = set()
    existed_company_name_set = Company.objects.all().values_list('name', flat=True)
    existed_company_name_set = set(existed_company_name_set)

    for filename in file_list:
        full_path = base_path + filename

        with open(full_path, 'r') as file:
            file_data = file.read()
            file_data = file_data.replace(' ', '').replace('\n', '')
            file_data = json.loads(file_data)
            for data in file_data:
                if data.get('company_info'):
                    company_name_set.add(data.get('company_info'))

    new_create_company_name_set = company_name_set - existed_company_name_set
    new_company_list = list()
    for name in new_create_company_name_set:
        new_company_list.append(Company(name=name))

    print('即将创建{}条数据'.format(len(new_company_list)))
    save = input('是否保存y/n: ')
    if save == 'y':
        Company.objects.bulk_create(new_company_list, batch_size=1000)
        print('创建成功')
    else:
        print('什么也没有执行')
Esempio n. 11
0
 def create(self, validated_data):
     validated_data['industry'] = Industry.objects.get(
         industry_slug=validated_data['industry']['industry_slug'])
     if validated_data.get('gallery'):
         gallery = validated_data.pop('gallery')
     else:
         gallery = []
     if validated_data.get('benefit'):
         benefit = validated_data.pop('benefit')
     else:
         benefit = []
     validated_data['user'] = self.context['request'].user
     validated_data['city'] = City.objects.get(
         city_slug=validated_data['city']['city_slug'])
     validated_data['approved'] = True
     if validated_data.get('location_point'):
         validated_data['location_point'] = Point(
             validated_data.pop('location'))
     company = Company(**validated_data)
     company.save()
     for item in benefit:
         benefit_item = Benefit.objects.get(name=item['name'])
         company.benefit.add(benefit_item)
     for item in gallery:
         item['company'] = company
         gallery_item = Gallery(**item)
         gallery_item.save()
     cache.delete(settings.COMPANY_NAME_LIST)
     return company
Esempio n. 12
0
    def setUp(self):
        _company = Company(
            zipcode="79008",
            logo="http://test.test",
            name="testcompany",
            mail="*****@*****.**",
            phone="+380901234567",
        )
        _company.save()
        _project = AdviserProject(
            id_company=_company,
            name="project1",
            description="test",
            project_template="test",
        )
        _project.save()

        self.first = [Player.objects.create(
                    id=1,
                    name="player1",
                    description="player description",
                    mac_address="11:2a:bb:q1:ss:77",
                    status=False,
                    project=_project),
                 Player.objects.create(
                    id=2,
                    name="player2",
                    description="player2 description",
                    mac_address="88:2a:bb:q1:ss:88",
                    status=False,
                    project=_project)
                ]
Esempio n. 13
0
    def save(self, validated_data):
        email = validated_data.get('email')
        new_user = User(
            username=email,
            email=email,
            is_active=False,
        )
        new_user.save()

        # Create new salary instance
        new_salary = Salary(user=new_user)
        new_salary.save()

        # Create new adminprofile instance
        new_adminprofile = AdminProfile(user=new_user)
        new_adminprofile.save()

        # Create new company instance and assign admin_profile to new admin_profile, other fields have placeholder values
        new_company = Company(adminprofile=new_adminprofile)
        new_company.save()

        registration = Registration(
            user=new_user,
            code_type='RV',
            profile_type='AP',
        )
        registration.save()

        email = Email(
            to=email,
            subject='Thank you for registering with RazzPay!',
            content=f'Here is your validation code: {registration.code}')
        email.save(request=self.context['request'])
        return new_user
Esempio n. 14
0
    def handle(self, *args, **options):

        source_url = 'https://raw.githubusercontent.com/maguowei/Internet-companies-of-China/master/company.csv'
        company_csv_file = os.path.join(os.path.dirname(settings.BASE_DIR), 'data/fake/company.csv')

        stage = dict((y, x) for x, y in Company.STAGE)
        size = dict((y, x) for x, y in Company.SIZE)

        cities = ('北京', '上海', '广州', '深圳', '重庆', '天津', '沈阳', '南京', '武汉', '成都', '大连', '杭州', '青岛', '济南',
                  '厦门', '福州', '西安', '长沙')

        if not os.path.isfile(company_csv_file):
            res = requests.get(source_url)
            with open(company_csv_file, 'w', encoding='utf-8') as f:
                f.write(res.text)

        with open(company_csv_file, encoding='utf-8') as f:
            f_csv = csv.DictReader(f)
            for l in f_csv:
                if l['basic.address'] in cities:
                    if l['basic.process'] == 'B 轮':
                        continue

                    if Company.objects.filter(name=l['name']):
                        continue

                    company = Company(name=l['name'], name_short=l['short_name'][:20], logo=l['logo'], href=l['href'][:100],
                                      address=l['address.0'], stage=stage[l['basic.process']],
                                      size=size[l['basic.number']], city_id=1)
                    company.save()

        self.stdout.write(self.style.SUCCESS('Great! fake data fill succeed'))
Esempio n. 15
0
 def create(self, validated_data):
     if validated_data.get('gallery'):
         gallery = validated_data.pop('gallery')
     else:
         gallery = []
     if len(Company.objects.filter(name=validated_data['name'])) > 0:
         raise CustomException(
             detail=ugettext('Company with this name exists.'))
     try:
         validated_data['city'] = City.objects.get(
             city_slug=validated_data['city']['city_slug'])
     except City.DoesNotExist as e:
         raise CustomException(
             detail=ugettext('City with this name does not exist.'))
     try:
         validated_data['industry'] = Industry.objects.get(
             industry_slug=validated_data['industry']['industry_slug'])
     except Industry.DoesNotExist as e:
         raise CustomException(
             detail=ugettext('Industry with this slug does not exist.'))
     validated_data['user'] = self.context['request'].user
     if validated_data.get('site'):
         validated_data['site'] = self.validate_site(validated_data['site'])
     validated_data['logo'] = self.validate_logo(validated_data['logo'])
     validated_data['approved'] = False
     validated_data['user_generated'] = True
     company = Company(**validated_data)
     company.save()
     for item in gallery:
         item['company'] = company
         gallery_item = Gallery(**item)
         gallery_item.save()
     cache.delete(settings.COMPANY_NAME_LIST)
     return company
Esempio n. 16
0
    def test_4(self):
        """
        импорт из https://proverkacheka.com/check&p=2

        получить все чеки
            получить последний чек загруденный Робо1
            загружать последоватетно страницы из https://proverkacheka.com/check&p=2 до тех пор пока не найдем на странице последний чек
                загрузить страницу
                вытащить из нее чеки
                    преобразовав чеки в формат для сравнения как текст из QR кода
                        параметров всего 5
                попыиаиься найти нужный чек
                если не нашли загрузить следубщую, ограничимся 100 страницами, но первый раз гораничение в 7000
        сохранить их в репозиторий от имени Робо1
             получить список QR кодов скормить его стандартном мехаизму сохранения чеков у пользователей
        потом возможно использовать их для показа похожих товаров в других магазинах и рекомедации цены
        """

        robo1_employee = Employee(title='robo1', key='robo1_123zxc')
        robo1_employee.save()

        company_family = Company(title='family')
        company_family.save()
        company_family.employees.add(robo1_employee)

        last_fns_cheques = FNSCheque.objects.filter(
            company=company_family).order_by('-id')
        has_last_fns_cheques = False
        if last_fns_cheques:
            has_last_fns_cheques = True
            last_fns_cheque = last_fns_cheques[0]
Esempio n. 17
0
    def post(self, request, format=None):
        serializer = serializers.CompanyCreateUpdateSerializer(
            data=request.data)
        if serializer.is_valid():
            user_id = request.user.id
            company_instance = Company()
            company_instance.company_name = serializer.data.get(
                "company_name", "")
            # company_instance.u_by =user_id
            # company_instance.is_active = "y"
            # company_instance.is_deleted = "n"
            company_instance.save()

            return_arr = {}
            return_arr['code'] = 200
            return_arr['success'] = 'true'
            return_arr['message'] = 'valid'
            return HttpResponse(json.dumps(return_arr),
                                status=return_arr['code'])

        return_arr = {}
        return_arr['code'] = 602
        return_arr['success'] = 'false'
        return_arr['message'] = 'Error in saving data'
        return HttpResponse(json.dumps(return_arr), status=return_arr['code'])
Esempio n. 18
0
 def form_valid(self, form):
     login           = form.cleaned_data['login']
     password1       = form.cleaned_data['password1']
     first_name      = form.cleaned_data['first_name']
     image           = form.cleaned_data['image']
     new_user = User(
         username=login,
         first_name=first_name,
     )
     new_user.set_password(password1)
     try:
         new_user.full_clean()
     except ValidationError:
         self.set_message(u'Не правильно заполненна форма', True)
         return super(CreateCompanyView, self).form_invalid(form)
     new_user.save()
     new_profile = Profile(
         user=new_user,
         is_company=True,
         is_report=False,
         is_super_user=False,
         image=image,
     )
     new_profile.save()
     new_company = Company(com_user=new_user)
     new_company.save()
     self.set_message(u'Компания успешно добавлена.')
     return super(CreateCompanyView,self).form_valid(form)
Esempio n. 19
0
    def setUp(self):
        """ company initialization with proper arguments """

        self.company = Company(name='example',
                               created_at=timezone.now(),
                               email='*****@*****.**',
                               website='https://www.example.com',
                               krs_code=1111111111,
                               nip_code=1111111111)
Esempio n. 20
0
 def post(self, request, *args, **kwargs):
     company_index = request.POST.get('company_index')
     company_name = request.POST.get('company_name')
     company_address = request.POST.get('company_address')
     new_company = Company(company_index=int(company_index),
                           company_name=company_name,
                           company_address=company_address)
     new_company.save()
     return redirect('/company/company/')
Esempio n. 21
0
def get_or_create_company(name):
    cd = get_company_detail(name)
    if cd is None:
        company_title = name
    else:
        company_title = cd['name']
    jc = Company.objects.all().filter(cb_name__iexact=company_title)
    if jc.count() == 0:
        # if company doesnt exist save it
        if cd is None:
            jc = Company(company=name, company_logo=None,
                         cb_name=name, cb_company_logo=None, cb_domain=None)
        else:
            jc = Company(company=name, company_logo=None,
                         cb_name=cd['name'], cb_company_logo=cd['logo'], cb_domain=cd['domain'])
        jc.save()
    else:
        jc = jc[0]
    return jc
Esempio n. 22
0
async def create_models(app: Application):
    app['models'].update({
        'message': Message(app.db),
        'company': Company(app.db),
        'unread': UnreadMessage(app.db),
        'invite': Invite(app.db),
        'event': Event(app.db),
        'photo': Photo(app.db),
        'user': User(app.db, {}),
        'notif': Notification(app.db)
    })
Esempio n. 23
0
 def delete(self, request, company_id):
     """
     Handling DELETE method.
     args
         request: Request to View.
         company_id: id of company to be deleted.
     :return: HttpResponse with code 201 if company is deleted.
     HttpResponseBadRequest with 'Permission denied' if user is not superuser.
     """
     Company().delete_company(company_id)
     return HttpResponse(status=201)
Esempio n. 24
0
def company_save(request):
    obj = Company()
    return view_service_company_save(
        request=request,
        object=obj,
        Form=CompanyForm,
        klass=Company,
        template_name='company/company_modal_save.html',
        context_list='company_list',
        template_table='company/company_table.html',
        message_success='Compania foi adcionada com sucesso',
    )
Esempio n. 25
0
 def post(self, request):
     """
     Handling POST method.
     :param request: Request to View.
     :return: HttpResponse with code 201 if company is added or
     HttpResponseBadRequest if request contain incorrect data or user is not superuser.
     """
     company = Company()
     data = json.loads(request.body)
     company_form = CompanyForm(data)
     if not company_form.is_valid():
         return HttpResponseBadRequest(str(company_form.errors))
     company.set_company(data)
     return HttpResponse(status=201)
Esempio n. 26
0
    def test_delete_company(self):
        Company.objects.create(
            id=3,
            zipcode="379007",
            logo="332132",
            name="testcompany3",
            mail="[email protected]",
            address="testaddress3",
            phone="+3809012345673",
        )

        self.assertEqual(len(Company.get_company()), 3)
        Company().delete_company(3)
        self.assertEqual(len(Company.get_company()), 2)
Esempio n. 27
0
    def form_valid(self, form):
        if self.request.GET.get('simulation_id'):
            instance = form.save(commit=False)
            instance.simulation = Simulation.objects.get(pk=self.request.GET.get('simulation_id'))

            c = Company(enterprise_number=form.cleaned_data.get('enterprise_number'), simulation=instance.simulation,
                        calculated_amount=instance.simulation.calculated_amount,
                        date_calculated_amount=instance.simulation.date_calculated_amount,
                        proposed_amount=instance.simulation.calculated_amount)
            c.fill_data(get_data_from_bce(form.cleaned_data.get('enterprise_number')[2:]))
            c.save()
            instance.companies.add(c)
            instance.save()
        return super(CustomUserCreateView, self).form_valid(form)
Esempio n. 28
0
def Create (request):
     form = CompanyForm()

     if request.method == 'POST':
         form = CompanyForm(request.POST)
         if form.is_valid():
            # form.save()
            com = Company()
            com.name =form.cleaned_data['email'].split('@')[0]
            com.email =form.cleaned_data['email']
            com.address =form.cleaned_data['address']
            com.save()
            return redirect(Index)

     return render(request,'crud/create.html',{'form':form})
Esempio n. 29
0
 def post(self, request):
     print('post')
     result = request.POST
     company_name = result.get('company_name')
     company_register = datetime.strptime(result.get('company_register'),
                                          '%Y-%m-%d')
     company_address = result.get('company_address')
     company_count = int(result.get('company_count'))
     company = Company()
     company.company_count = company_count
     company.company_name = company_name
     company.company_address = company_address
     company.company_register = company_register
     company.save()
     return HttpResponse('添加成功')
Esempio n. 30
0
def Update (request,pk):
    data = Company.objects.get(id=pk)
    form = CompanyForm(instance=data)

    if request.method == 'POST':
        form = CompanyForm(request.POST,instance=data)
        if form.is_valid():
          #  form.save()
          com = Company()
          com.id = pk
          com.name = form.cleaned_data['email'].split('@')[0]
          com.email = form.cleaned_data['email']
          com.address = form.cleaned_data['address']
          com.save()
          return redirect(Index)

    return render(request, 'crud/update.html', {'form': form})