def user_register(): form = RegisterForm(request.form) if request.method == 'POST' and form.validate(): user = User() user.set_attrs(form.data) user.updatetime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime( (time.time()))) # 修改数据更新时间 # 判断是否已经存在该公司,如不存在,则创建该公司的公司管理员账户,并创建相应数据表 # 如果存在,则只能创建公司普通人员账户,不创建数据表 if user.authority == 'com_person': db.session.add(user) db.session.commit() else: # 公司不存在,且注册时选择了公司管理员,则允许创建用户,并创建相关数据表 company = Company() company.set_attrs(form.data) company.company_number = "%03d" % (Company.query.count() + 1) db.session.add(company) db.session.add(user) db.session.commit() # 创建报告保存文件夹,根据公司编号创建,如超级管理员为001,则文件夹名为001 os.makedirs( os.path.join(current_app.config['DOCXFILE_DIR'], company.company_number)) return render_template('user/userRegister.html', messages={'message': ['注册成功!']}) else: return render_template('user/userRegister.html', messages=form.errors)
def add_admin_user(): admin_user = User() admin_user.email = '*****@*****.**' admin_user.password = '******' admin_user.company = 'nbtjy' admin_user.company_address = 'JNL1588A' admin_user.linkman = 'sky' admin_user.phone_number = '12345678901' admin_user.authority = 'super_admin' admin_user.updatetime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime( (time.time()))) # 修改数据更新时间 admin_user.status = 1 # =0,该用户失效 # 加入到公司库内 admin_company = Company() admin_company.company = 'nbtjy' admin_company.company_number = '001' admin_company.company_address = 'JNL1588A' admin_company.linkman = 'sky' admin_company.phone_number = '12345678901' admin_company.status = 1 try: db.session.add(admin_user) db.session.add(admin_company) db.session.commit() # 创建报告保存文件夹 os.makedirs(os.path.join(current_app.config['DOCXFILE_DIR'], '001')) except: print('注册超级管理员账户失败!') else: print('注册超级管理员账户成功,请使用email=‘[email protected]’,password=‘123456’登录')
def addcompany(): ''' add company ''' if current_user.admin: form = CompanyForm() if form.validate_on_submit: exist = Company.query.filter_by(nit=form.nit.data).first() if not exist: company = Company(name=form.name.data, nit=form.nit.data, email_contact=form.email_contact.data) try: db.session.add(company) db.session.commit() flash('Company added successfully!!') except Exception as e: flash('Can´t added company {}'.format(e)) return redirect(url_for('admin_bp.list_companies')) return render_template('/company.html', form=form, username=current_user.username) return redirect(url_for('auth_bp.login'))
def create_company(*, account: Account, name: str, website: str, specialties: list, **kwargs) -> Company: company_account_check(account) if company_exist(account.id, raise_exception=False): raise InvalidInputFormat( "Account {} already has a company account.".format(account.id)) c = Company(account=account, name=name, website=website, **kwargs) c.save() c.specialties.add(*specialties) return c
def admin_info_complete(): if request.method == 'POST': company_name = request.form.get("company_name") owner = request.form.get("owner") address = request.form.get("address") tel = request.form.get("tel") email = request.form.get("email") contacts = request.form.get("contacts") contact_phone = request.form.get("contact_phone") company = Company(company_name, owner, contacts, contact_phone, email, address, tel) current_user.is_userInfo_completed = 1 current_user.fk_company_id = company.id db.session.add(company) db.session.add(current_user) db.session.commit() return render_template('user/wait_company_check.html') else: return redirect(url_for('main.home'))
def populate(populate): """ Populate the database """ skills = ["Javascript", "HTML", "CSS", "SASS", "PHP", "Python"] for name in skills: skill = Skill(name=name) db.session.add(skill) student_1 = Student(name="Lucia", last_name="Cardenas", age=18, email="*****@*****.**") student_2 = Student(name="Maria Gracia", last_name="Silva", age=22, email="*****@*****.**") db.session.add_all([student_1, student_2]) company = Company(name="Athelas", address="Recavarren esquina con pardo", phone="+51961738608", website="https://www.athelas.pe") db.session.add(company) company2 = Company(name=u"Lucuma Labs", address="Cerca al faro de miraflores", phone="+511 681 0041", website="https://lucumalabs.com/") db.session.add(company2) company3 = Company(name=u"Codepicnic", address="Por todo el mundo", phone="+48652689522", website="https://codepicnic.com/") db.session.add(company3) db.session.commit() skills = db.session.query(Skill).all() company.skills.append(skills[0]) company.skills.append(skills[1]) company.skills.append(skills[2]) company.skills.append(skills[3]) company2.skills.append(skills[4]) company2.skills.append(skills[5]) company2.skills.append(skills[1]) company3.skills.append(skills[3]) company3.skills.append(skills[5]) company3.skills.append(skills[1]) student_1.skills.append(skills[0]) student_1.skills.append(skills[1]) student_1.skills.append(skills[2]) student_2.skills.append(skills[0]) student_2.skills.append(skills[1]) student_2.skills.append(skills[2]) student_2.skills.append(skills[3]) db.session.commit()
from app.models.product import Product from app.models.company import Company from unittest.mock import patch from app import app import unittest company = Company('id', 1) product = Product('id', 'company_id', 10.00) product_dump = { 'id': 'id', 'company_id': 'company_id', 'value': 10.00, 'created': 'created', 'updated': 'updated', 'removed': 'removed' } def user_dump(id=1): user_dump = { 'id': id, 'access': 'access', 'username': '******', 'created': 'created', 'updated': 'updated', 'removed': 'removed' } return user_dump class TestProductFind(unittest.TestCase):
def create_company(company:CompanySerializerIn, db:Session=Depends(get_db)): company_obj = Company(**company.dict()) db.add(company_obj) db.commit() db.refresh(company_obj) return company_obj
def test_add_company(self): with self.app.app_context(): company = Company(name='Go hard or go home') check = company.save_company() self.assertTrue(check, "Company should be added")
def post(self): ''' Create a company ''' arguments = request.get_json(force=True) name = arguments.get('name').strip() district = arguments.get('district').strip() or None postal = arguments.get('postal').strip() or None country = arguments.get('country').strip() or None tech_person_name_string = arguments.get( 'techPersonName').strip() or None tech_person_email = arguments.get('techPersonEmail').strip() or None address_line_1 = arguments.get('address1').strip() or None address_line_2 = arguments.get('address2').strip() or None legal_person_name_str = arguments.get( 'legalPersonName').strip() or None legal_person_email = arguments.get('legalPersonEmail').strip() or None tech_person_name = tech_person_name_string.split() legal_person_name = legal_person_name_str.split() if not name: return abort(400, 'Name cannot be empty!') try: address = Address( district=district, postal_code=postal, country=country, address_line_1=address_line_1, address_line_2=address_line_2 ) tech_person = Person(tech_person_name[0], tech_person_name[-1]) legal_person = Person(legal_person_name[0], legal_person_name[-1]) tech_contact = Contact(email=tech_person_email) legal_contact = Contact(email=legal_person_email) if not address.save_address(): address = Address.query.filter_by( address_line_1=address.address_line_1, active=True).first() if not tech_person.save_person(): tech_person = Person.query.filter_by( full_name=tech_person_name_string).first() if not legal_person.save_person(): legal_person = Person.query.filter_by( full_name=legal_person_name_str).first() if not tech_contact.save_contact(): tech_contact = Contact.query.filter_by( email=tech_person_email).first() if not legal_contact.save_contact(): legal_contact = Contact.query.filter_by( email=legal_person_email).first() tech_contact_person = ContactPerson( person=tech_person, contact=tech_contact) legal_contact_person = ContactPerson( person=legal_person, contact=legal_contact) if not tech_contact_person.save_contact_person(): tech_contact_person = ContactPerson.query.filter_by( person=tech_person, contact=tech_contact).first() if not legal_contact_person.save_contact_person(): legal_contact_person = ContactPerson.query.filter_by( person=legal_person, contact=legal_contact).first() company = Company( name=name, address=address, legal_person=legal_contact_person, tech_person=tech_contact_person ) if company.save_company(): return {'message': 'Company created successfully!'}, 201 return abort(409, message='Company already exists!') except Exception as e: abort(400, message='Failed to create new company -> {}'.format(e))
from werkzeug.exceptions import InternalServerError, Conflict from app.models.company import Company from schema import Schema, Or, Use from unittest.mock import patch from app.views.company import (find_by_company_id, logical_restore, logical_delete, create, update, find) from random import randrange from sqlalchemy.exc import (NotSupportedError, OperationalError, ProgrammingError, IntegrityError, InternalError, DataError) import unittest company = Company('id', user_id=1) integrity_error = IntegrityError('Mock', 'mock', Exception('mock', 'mock')) aleatory_errors = [ DataError('Mock', 'mock', Exception('mock', 'mock')), OperationalError('Mock', 'mock', Exception('mock', 'mock')), InternalError('Mock', 'mock', Exception('mock', 'mock')), ProgrammingError('Mock', 'mock', Exception('mock', 'mock')), NotSupportedError('Mock', 'mock', Exception('mock', 'mock')) ] company_validate = Schema({ 'id': Use(str), 'user_id': Use(int), 'created': Or(str, None), 'updated': Or(str, None), 'removed': Or(str, None) }) company_list_validate = Schema([{