Esempio n. 1
0
    def events(self, request):
        event = Event()
        serializer = EventSerializer(event.list_all_events_for_training(),
                                     many=True)
        event.close()

        return Response(serializer.data, status=status.HTTP_200_OK)
Esempio n. 2
0
    def create(self, request):
        decoded_token = decode_token(request.META)

        serializer = EventSerializer(data=request.data)
        if serializer.is_valid():
            event = Event()

            data = serializer.data
            data['calendar_id'] = -1
            data['created'] = now()
            data['updated'] = now()
            data['user_id'] = decoded_token['user_id']

            inserted = event.insert_event(data)

            result = {}
            if inserted.get('inserted', 0) == 1:
                e = EventSerializer(event.get_event_with_pk(
                    inserted['generated_keys'][0]),
                                    many=True)
                if len(e.data) > 0:
                    result = e.data[0]

            event.close()

            return Response(result, status=status.HTTP_201_CREATED)

        return Response(serializer.errors)
Esempio n. 3
0
    def test_event_creation(self):
        user = User(
            name='Johannes',
            password='******',
            last_login=timezone.now(),
            email='*****@*****.**',
        )
        user.save()
        
        agent = Agent(
            name='CloudVM',
            status=True,
            env='01234567890123456789',
            version='12345',
            address='10.0.0.1',
        )
        agent.save()

        event = Event(
            level='none',
            data='Some data test',
            arquivado=False,
            date=timezone.now(),
            agent=agent,
            user=user,
        )
        event.full_clean()
        event.save()
        ev = Event.objects.get(pk=event.pk)
        self.assertEqual(event.level, ev.level)
        self.assertEqual(event.agent.name, ev.agent.name)
        self.assertEqual(event.user.name, ev.user.name)
Esempio n. 4
0
    def update_application(self, request, deserialized):
        user = request.user
        application = Application.objects.get(pk=deserialized['appId'])
        try:
            if deserialized['confirm']:
                if application.owner_id == user.account_id:
                    application.is_confirmed_by_owner = 'YES'
                else:
                    application.is_confirmed_by_tenant = 'YES'
                if application.is_confirmed_by_tenant == application.is_confirmed_by_owner == 'YES':
                    application.status = 'CONFIRMED'
        except:
            pass
        application.ejari_no = deserialized['leaseApplicationDetails'][
            'contractNo']
        application.start_date = deserialized['leaseApplicationDetails'][
            'contractStartDate']
        application.end_date = deserialized['leaseApplicationDetails'][
            'contractEndDate']
        application.address = deserialized['leaseApplicationDetails'][
            'address']
        application.premis_no = deserialized['leaseApplicationDetails'][
            'premiseNo']
        application.total_contract_value = deserialized[
            'leaseApplicationDetails']['securityDepositAmount']
        application.save()

        registrationEvent = Event(
            referenceid=application.id,
            what="APPLICATION CONFIRMATION",
            who=user.account_id,
        )
        registrationEvent.save()
Esempio n. 5
0
def createTestEvent():
    e = Event(
        id="1234",
        name="Test Event",
        description=
        "Test Description - isn't it long? No? Better? lorium ipsum?",
        url="http://notarealevent.com/1234",
        vanity_url="http://iamsupercool.com/1234",
        start=datetime.strptime("2019-10-13 10:00:00",
                                "%Y-%m-%d %H:%M:%S").astimezone(pytz.utc),
        end=datetime.strptime("2019-10-13 12:00:00",
                              "%Y-%m-%d %H:%M:%S").astimezone(pytz.utc),
        org_id="1234",
        date_created=datetime.now(pytz.utc),
        date_modified=datetime.now(pytz.utc),
        date_published=datetime.now(pytz.utc),
        status="live",
        currency="USD",
        online_event=True,
        hide_start_date=False,
        hide_end_date=False,
        max_price=10.32,
        min_price=7.34,
    )
    return e
Esempio n. 6
0
    def destroy(self, request, pk=None):
        decoded_token = decode_token(request.META)

        event = Event()
        deleted = event.delete_event_with_user_id(
            pk, int(decoded_token['user_id']))
        event.close()

        return Response({"data": deleted}, status=status.HTTP_200_OK)
Esempio n. 7
0
 def __map_to_event_bo(self, suggestion_id):
     event_bo = Event()
     event_bo.created = datetime.now()
     event_bo.modified = datetime.now()
     event_bo.event_type = EventTypes.ACTION
     event_bo.sub_type = EventActionSubTypes.SYSTEM
     event_bo.text = f"Lisätty tunnisteet:  "
     event_bo.suggestion_id = suggestion_id
     return event_bo
Esempio n. 8
0
    def list(self, request, calendar_id):
        decoded_token = decode_token(request.META)

        event = Event()
        serializer = EventSerializer(event.list_events(
            decoded_token['user_id'], calendar_id),
                                     many=True)
        event.close()

        return Response(serializer.data, status=status.HTTP_200_OK)
Esempio n. 9
0
def new_event(user_id, title, description, timestamp_begin, timestamp_end):
    _event = Event(user_id=user_id,
                   title=title,
                   description=description,
                   timestamp_begin=timestamp_begin,
                   timestamp_end=timestamp_end)

    db.session.add(_event)
    db.session.commit()
    return _event
def create(fields: dict) -> Event:
    event_categories_ids = fields.get("event_categories_ids", [])
    fields.pop('event_categories_ids', None)
    event_categories = eventCategoryService.getAllIds(event_categories_ids)
    if event_categories:
        fields["event_categories"] = event_categories
    new_event = Event(**fields)
    db.session.add(new_event)
    db.session.commit()
    return new_event
Esempio n. 11
0
def create_event(type, owners, object_id):
    """
    Создаёт событие
    """
    event = Event()
    event.type = type
    event.object_id = object_id
    event.save()
    for owner in owners:
        event.owners.add(owner)
    event.save()
    return event
Esempio n. 12
0
    def events(self, request, client_id, user_id):
        if not self.is_valid(client_id, user_id):
            return Response({"message": "Not found."},
                            status=status.HTTP_404_NOT_FOUND)

        event = Event()
        serializer = EventSerializer(event.list_all_events_for_training_user(
            int(user_id)),
                                     many=True)
        event.close()

        return Response(serializer.data, status=status.HTTP_200_OK)
Esempio n. 13
0
    def update(self, request, client_id, user_id, pk=None):
        if pk is None:
            return Response({'message': 'Provide the object id.'},
                            status=status.HTTP_400_BAD_REQUEST)

        event = Event()
        # TODO revisarlo con el serializer
        data = request.data.copy()
        data['updated'] = now()
        updated = event.update_event_with_pk(pk, data)
        event.close()

        return Response({"data": updated}, status=status.HTTP_200_OK)
Esempio n. 14
0
    def free_busy(self, request, calendar_id):
        decoded_token = decode_token(request.META)

        from_date = request.data('from_date', now() - timedelta(days=14))
        to_date = request.data('to_date', now() + timedelta(days=14))

        event = Event()
        serializer = EventSerializer(event.free_busy(decoded_token['user_id'],
                                                     from_date, to_date),
                                     many=True)
        event.close()

        return Response(serializer.data, status=status.HTTP_200_OK)
Esempio n. 15
0
def create_event(event_creator, category, active=True, id=5):
    event = Event(id=id,
                  title="test title default",
                  description="test description default",
                  venue="test venue",
                  start_date=date,
                  end_date=date,
                  creator=event_creator,
                  social_event=category,
                  active=active,
                  created_at=date)
    event.save()
    return event
Esempio n. 16
0
 def __map_comments_to_comments_bo(self, comments, suggestion_id):
     comments_bo = []
     if comments is not None and len(comments) > 0:
         for comment in comments:
             comment_bo = Event()
             comment_bo.created = comment.created
             comment_bo.modified = comment.modified
             comment_bo.event_type = EventTypes.COMMENT
             comment_bo.text = comment.text
             comment_bo.suggestion_id = suggestion_id
             if comment_bo.user_id is None:
                 comment_bo.user_id = 1
             comments_bo.append(comment_bo)
     return comments_bo
Esempio n. 17
0
    def retrieve(self, request, calendar_id, pk=None):
        if pk is None:
            return Response({'message': 'Provide the object id.'},
                            status=status.HTTP_400_BAD_REQUEST)

        decoded_token = decode_token(request.META)

        event = Event()
        serializer = EventSerializer(event.get_event(decoded_token['user_id'],
                                                     calendar_id, pk),
                                     many=True)
        event.close()

        return Response(serializer.data, status=status.HTTP_200_OK)
Esempio n. 18
0
def update_event(event_id, user_id, title, description, timestamp_begin, timestamp_end):

    _event = Event(user_id=user_id,
                   title=title,
                   description=description,
                   timestamp_begin=timestamp_begin,
                   timestamp_end=timestamp_end)

    db.session.filter_by(_id=event_id).update({'user_id': user_id,
                                               'title': title,
                                               'description': description,
                                               'timestamp_begin': timestamp_begin,
                                               'timestamp_end': timestamp_end
                                               })
    db.session.commit()
    return _event
Esempio n. 19
0
    def get(self):
        parser = reqparse.RequestParser()
        parser.add_argument('startDate', default='', help='Start date')
        parser.add_argument('title', default='Where is my title', help='Title')
        args = parser.parse_args()
        print(args)
        event = Event()
        event.title = args.title
        event.startDate = parse(args.startDate)
        event.endDate = parse(args.startDate)
        db.session.add(event)
        db.session.commit()

        all_events = Event.query.all()
        event_schema = EventSchema(many=True)
        return event_schema.jsonify(all_events)
Esempio n. 20
0
    def retrieve(self, request, client_id, user_id, pk=None):
        if pk is None:
            return Response({'message': 'Provide the object id.'},
                            status=status.HTTP_400_BAD_REQUEST)

        # TODO Add a different endpoint without using user_id
        if not self.is_valid(client_id,
                             user_id) or not user_id == "554-586-725":
            return Response({"message": "Not found."},
                            status=status.HTTP_404_NOT_FOUND)

        event = Event()
        serializer = EventSerializer(event.get_event_with_pk(pk), many=True)
        event.close()

        return Response(serializer.data, status=status.HTTP_200_OK)
Esempio n. 21
0
    def free_busy(self, request, client_id, user_id):
        if not self.is_valid(client_id, user_id):
            return Response({"message": "Not found."},
                            status=status.HTTP_404_NOT_FOUND)

        from_date = request.data.get('from_date',
                                     (now() - timedelta(days=14)).isoformat())
        to_date = request.data.get('to_date',
                                   (now() + timedelta(days=14)).isoformat())

        event = Event()
        serializer = EventSerializer(event.free_busy(int(user_id), from_date,
                                                     to_date),
                                     many=True)
        event.close()

        return Response(serializer.data, status=status.HTTP_200_OK)
Esempio n. 22
0
def teams_on_call(team_id):
    """
        POST:
            {"start":"2014-12-23", "username":"******"}

        Default to the current day if nothing specified
    """
    if request.method == 'GET':
        req_start = request.args.get('start', None, type=float)
        req_end = request.args.get('end', None, type=float)
        date_start = (date.fromtimestamp(req_start) if req_start is not None else date.today())
        date_end = (date.fromtimestamp(req_end) if req_end is not None else date.today())

        events = _get_events_for_dates(team_id,
                                       date_start,
                                       date_end,
                                       predict=True)

        event_array = [e.to_json() if isinstance(e, Event) else e for e in events]

        # For FullCalendar so it returns in the correct way
        if request.args.get('minimal'):
            return Response(json.dumps(event_array),
                            mimetype='application/json')
        return jsonify({'range':[str(date_start), str(date_end)],
                        'on_call': event_array})

    if request.method == 'POST':
        if _can_add_event(team_id, request.json.get('start'), request.json.get('end')):
            events = _get_events_for_dates(team_id,
                                           request.json.get('start'),
                                           request.json.get('end'))
            newe = Event(request.json.get('username'),
                         team_id,
                         current_app.config['ROLES'][0] if events == [] else _other_role(events[0].role),
                         _str_to_date(request.json.get('start')))
            db.session.add(newe)
        else:
            # flash('Cannot add event, maximum for day has been reached', 'danger')
            return _api_error('Cannot add event, maximum for day has been reached', 'danger')

    # TODO: Return status and result of action
    db.session.commit()
    return Response(status=200)
Esempio n. 23
0
    def available(self, request, calendar_id):
        decoded_token = decode_token(request.META)

        from_date = request.data.get('from_date', None)
        to_date = request.data.get('to_date', None)

        if from_date is None or to_date is None:
            return Response(
                {
                    'message':
                    'Invalid information provided, please include values for from_date and to_date.'
                },
                status=status.HTTP_400_BAD_REQUEST)

        event = Event()
        result = event.available(decoded_token['user_id'], from_date, to_date)
        event.close()

        return Response({"available": result}, status=status.HTTP_200_OK)
Esempio n. 24
0
def add_post_to_db(posts):
    category_q = Category.objects.values('name')
    categories = []
    for item in category_q:
        categories.append(item['name'])
    for post in posts:
        if post["name"] and post["image"] and post["category"] \
            and post["date"] and post["address"] \
                and post["price"] and post["description"] and post["link"]:
            e = Event()
            e.name = post["name"],
            e.image = post["image"],
            e.category = Category.objects.get(id=1),
            e.date = post["date"],
            e.address = post["address"],
            e.price = post["price"],
            e.description = post["description"],
            e.link = post["link"]
            e.save()
            print(e)
Esempio n. 25
0
    def destroy(self, request, calendar_id, pk=None):
        if pk is None:
            return Response({'message': 'Provide the object id.'},
                            status=status.HTTP_400_BAD_REQUEST)

        decoded_token = decode_token(request.META)

        calendar = Calendar()
        obj = calendar.get(decoded_token['user_id'], calendar_id)
        calendar.close()

        if len(obj) < 1:
            return Response({"message": "calendar_id does not exists."},
                            status=status.HTTP_404_NOT_FOUND)

        event = Event()
        deleted = event.delete_event(calendar_id, pk)
        event.close()

        return Response({"data": deleted}, status=status.HTTP_200_OK)
Esempio n. 26
0
def save_events(events):
    for e in events:
        # deal with some events not having a published date
        if 'published' in e:
            published = pytz.utc.localize(datetime.strptime(e['published'],'%Y-%m-%dT%H:%M:%SZ'))
        else:
            published = None

        #why have a paid event that doesn't have a price??
        min_price = 0.0
        max_price = 0.0
        if 'ticket_availability' in e and e['ticket_availability'] is not None:
            if 'minimum_ticket_price' in e['ticket_availability'] and e['ticket_availability']['minimum_ticket_price'] is not None:
                if 'major_value' in e['ticket_availability']['minimum_ticket_price']:
                    min_price = e['ticket_availability']['minimum_ticket_price']['major_value']
            if 'maximum_ticket_price' in e['ticket_availability'] and e['ticket_availability']['maximum_ticket_price'] is not None:
                if 'major_value' in e['ticket_availability']['maximum_ticket_price']:
                    max_price = e['ticket_availability']['maximum_ticket_price']['major_value']

        event = Event(
            id = e['id'],
            name = e['name']['text'],
            description = e['description']['text'],
            url = e['url'],
            start = datetime.strptime(e['start']['utc'],'%Y-%m-%dT%H:%M:%SZ').astimezone(gettz(e['start']['timezone'])),
            end = datetime.strptime(e['end']['utc'],'%Y-%m-%dT%H:%M:%SZ').astimezone(gettz(e['end']['timezone'])),
            org_id = e['organization_id'],
            date_created = pytz.utc.localize(datetime.strptime(e['created'],'%Y-%m-%dT%H:%M:%SZ')),
            date_modified = pytz.utc.localize(datetime.strptime(e['changed'],'%Y-%m-%dT%H:%M:%SZ')),
            date_published = published,
            status = e['status'],
            currency = e['currency'],
            online_event = e['online_event'],
            hide_start_date = e['hide_start_date'],
            hide_end_date = e['hide_end_date'],
            min_price = min_price,
            max_price = max_price,
        )
        with transaction.atomic():
            event.save()
Esempio n. 27
0
def handle_event_proxy(event, chain):
    event_key = get_event_key(event)
    existed_event = Event.query.filter(Event.key == event_key).first()
    if existed_event:
        return

    serialized_event = dict(
        event.__dict__,
        **{
            'args': event['args'].__dict__,
            'transactionHash': event['transactionHash'].hex(),
            'blockHash': event['blockHash'].hex(),
        },
    )

    # TODO: event handler
    print(chain, event['event'])
    new_event = Event(key=event_key,
                      chain=chain,
                      type=event['event'],
                      content=json.dumps(serialized_event))
    new_event.save()
def api_create_event_view(request):

    # Get user's IP
    request_data = request.META.get('HTTP_X_FORWARDED_FOR')
    if request_data:
        user_ip = request_data.split(',')[0]
    else:
        user_ip = request.META.get('REMOTE_ADDR')

    print(f'> POST request from { user_ip }')

    user_env = request.data['env']
    user_version = request.data['version']

    try:
        env = Environment.objects.get(name=user_env)
    except Environment.DoesNotExist:
        return Response(status=status.HTTP_412_PRECONDITION_FAILED)

    try:
        agent = Agent.objects.get(address=user_ip,
                                  version=user_version,
                                  env=env.pk)
    except Agent.DoesNotExist:
        agent = Agent.objects.create(address=user_ip,
                                     version=user_version,
                                     env=env)

    user = CustomUser.objects.get(pk=4)

    event = Event(user=user, agent=agent)

    if request.method == "POST":
        serializer = EventSerializer(event, data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        return Response(serializer.errors, status=status.HTTP_401_BAD_REQUEST)
Esempio n. 29
0
    def update(self, request, calendar_id, pk=None):
        if pk is None:
            return Response({'message': 'Provide the object id.'},
                            status=status.HTTP_400_BAD_REQUEST)

        decoded_token = decode_token(request.META)

        calendar = Calendar()
        obj = calendar.get(decoded_token['user_id'], calendar_id)
        calendar.close()

        if len(obj) < 1:
            return Response({"message": "calendar_id does not exists."},
                            status=status.HTTP_404_NOT_FOUND)

        event = Event()
        # TODO Revisarlo con el serializer
        data = request.data
        data['updated'] = now()
        updated = event.update_event(calendar_id, pk, data)
        event.close()

        return Response({"data": updated}, status=status.HTTP_200_OK)
Esempio n. 30
0
    def qavailable(self, request, client_id, user_id):
        if not self.is_valid(client_id, user_id):
            return Response({"message": "Not found."},
                            status=status.HTTP_404_NOT_FOUND)

        from_date = request.data.get('from_date',
                                     (now() - timedelta(hours=3)).isoformat())
        to_date = request.data.get('to_date',
                                   (now() - timedelta(hours=3)).isoformat())

        if from_date is None or to_date is None:
            return Response(
                {
                    'message':
                    'Invalid information provided, please include values for from_date and to_date.'
                },
                status=status.HTTP_400_BAD_REQUEST)

        event = Event()
        result = event.available(int(user_id), from_date, to_date)
        event.close()

        return Response({"available": result}, status=status.HTTP_200_OK)