Exemplo n.º 1
0
    def test_create_working_unit(self):
        self.app.logger.debug('test_create_working_unit')
        project = self.create_default_project()
        task = self.create_default_task()
        wu = WorkingUnit(user=project.user, date=datetime.today(),
                         project=project, task=task)
        wu.start_time = datetime.now()
        db.session.add(wu)
        db.session.commit()

        wu = WorkingUnit.query.first()
        assert wu is not None
        assert wu.project == project
        assert wu.task == task
        assert User.query.first() is not None
        assert Company.query.first() is not None
        assert Project.query.first() is not None
        assert Task.query.first() is not None
Exemplo n.º 2
0
def _working_units_from_json(app, content=''):
    if 'working_units' in content:
        for obj in content['working_units']:
            user = User.query.filter_by(email=obj['user']).first()
            if user is None:
                app.logger.error('Working Unit, Unknown user: %s' % (obj['user']))
                break

            company = Company.query.filter_by(user=user, name=obj['company']).first()
            if company is None:
                app.logger.error('Working Unit, Unknown company: %s' % (obj['company']))
                break

            project = Project.query.filter_by(user=user, company=company, name=obj['project']).first()
            if project is None:
                app.logger.error('Working Unit, Unknown project: %s' % (obj['project']))
                break

            task = Task.query.filter_by(user=user, name=obj['task']).first()
            if task is None:
                app.logger.error('Working Unit, Unknown task: %s' % (obj['task']))
                break

            d = convert_date(obj['date'])
            working_unit = WorkingUnit.query.filter_by(
                user=user,
                date=d,
                project=project,
                task=task
                ).first()
            if working_unit is None:
                working_unit = WorkingUnit()
            working_unit.user = user
            working_unit.date = d
            working_unit.project = project
            working_unit.task = task
            working_unit.start_time = convert_time(obj['start_time'])
            working_unit.end_time = convert_time(obj['end_time'])
            working_unit.break_minutes = obj['break_minutes']
            working_unit.working_time = obj['working_time']
            if 'description' in obj:
                working_unit.description = obj['description']
            if 'week' in obj:
                working_unit.week = obj['week']

            app.logger.debug('adding working unit: %s' % working_unit)
            db.session.add(working_unit)
        db.session.commit()