Example #1
0
 def test_slug_unique(self):
     """Comprueba que el slug sea único."""
     category = Category(
         name="Categoría 1",
         description="Descripción categoría 1",
         image=tempfile.NamedTemporaryFile(suffix=".jpg").name)
     with self.assertRaises(IntegrityError):
         category.save()
Example #2
0
def app_db_initialization():
    product_categories = [
        'Assortments', 'Bottle Rockets', 'Cakes - 200g', 'Cakes - 500g',
        'Cakes - NOAB', 'Firecrackers', 'Fountains', 'Novelties',
        'Reloadable Shells', 'Roman Candles', 'Single Shot Tubes', 'Skyrockets'
    ]
    for category in product_categories:
        new_category = Category(name=category)
        new_category.save()  #todo remove
Example #3
0
def cats(request):
    cat_req = urlopen("https://www.eventbriteapi.com/v3/categories/?token=A3KV5OGJFN7YWZI6JLIC")
    json_in = cat_req.read()
    decoded = json.loads(json_in)
    for cat1 in decoded['categories']:
        p = Category(cat_id = cat1['id'], short_name = cat1['short_name'])
        p.save()
        
    #return user to now-populated index page
    return HttpResponseRedirect(reverse('events:index'))
Example #4
0
 def test_name_length_validation(self):
     """Comprueba la longitud del nombre."""
     category = Category(
         name="Officia mollit esse eiusmod dolor mollit Lorem. Ut sint "\
             "deseruntalli",
         slug=slugify("Officia mollit esse eiusmod dolor mollit Lorem."),
         description="Lorem ipsum dolor sit amet, consectetu",
         image=tempfile.NamedTemporaryFile(suffix=".jpg").name
     )
     with self.assertRaisesRegex(ValidationError, "(name).*(64)"):
         category.full_clean()
Example #5
0
 def test_description_length_validation(self):
     """Comprueba la longitud de la descripción."""
     category = Category(
         name="Officia mollit esse eiusmod dolor mollit Lorem.",
         slug=slugify("Officia mollit esse eiusmod dolor mollit Lorem."),
         description="Lorem ipsum dolor sit amet, consectetuer adipiscing "\
             "elit. Aenean commodo ligula eget dolor. Aenean massa. Cum "\
             "sociis natoque penatibus et magnis dis parturient montes, na",
         image=tempfile.NamedTemporaryFile(suffix=".jpg").name
     )
     with self.assertRaisesRegex(ValidationError, "(description).*(140)"):
         category.full_clean()
Example #6
0
def create_event(request):
    user = request.user
    if user.is_staff:
        if request.method == 'POST':
            res = request.POST
            files = request.FILES
            if validate_event(res, files):
                categories = []
                for category in res['categories'].split():
                    category_object = Category.objects.filter(name=category)
                    if category_object.count():
                        categories.append(category_object.first())
                    else:
                        categories.append(Category(name=category))

                event = Event(title=res['title'],
                              start_date=parse(res['start_date']),
                              finish_date=parse(res['finish_date']),
                              organizer=res['organizer'],
                              place=res['place'],
                              cover_url=files['cover_url'],
                              logo_url=files['logo_url'],
                              description=res['description'])
                print(files)
                print(res)
                print("files['lecturer_photo']", files['lecturer_photo'])
                lecturer = Lecturer(name=res['name'],
                                    resume_url=files['resume_url'],
                                    photo_url=files['lecturer_photo'])

                lecture = Lecture(title=res['lecture_title'])
                event.save()
                lecturer.save()
                lecture.lecturer = lecturer
                lecture.event = event
                lecture.save()
                for category in categories:
                    category.save()
                    event.categories.add(category)
                return render(request, 'users/create_event.html', {
                    'user': request.user,
                    'succeed': True
                })
            else:
                return render(request, 'users/create_event.html', {
                    'user': request.user,
                    'not_valid': True
                })
        else:
            return render(request, 'users/create_event.html',
                          {'user': request.user})
    else:
        raise PermissionDenied
Example #7
0
    def setUpClass(cls):
        super(EventManagingTest, cls).setUpClass()
        Category.objects.bulk_create([
            Category(category="Art & Culture"),
            Category(category="Food"),
            Category(category="Sport"),
            Category(category="Music"),
            Category(category="Other")
        ])

        cls.user = EvUser.objects.create_user(username="******",
                                              password='******',
                                              email="*****@*****.**",
                                              is_organizer=False,
                                              profile_image=None)

        cls.organizer = EvUser.objects.create_user(username="******",
                                                   organization_name="org",
                                                   password='******',
                                                   email="*****@*****.**",
                                                   is_organizer=True,
                                                   profile_image=None)
Example #8
0
 def save_categories_in_bulk(self, graph, data_source):
     categories = []
     for subject in graph.subjects(RDF.type, SKOS.Concept):
         if is_deprecated(graph, subject):
             continue
         category = Category(data_source=data_source)
         category.aggregate = is_aggregate_concept(graph, subject)
         category.created_time = BaseModel.now()
         category.last_modified_time = BaseModel.now()
         category.url = str(subject)
         for _, literal in graph.preferredLabel(subject):
             with active_language(literal.language):
                 category.name = str(literal)
         categories.append(category)
     Category.objects.bulk_create(categories, batch_size=1000)
Example #9
0
    def save_category(self, syncher, graph, subject, data_source,
                      category_labels, save_set):
        category = syncher.get(subject)
        if not category:
            category = Category(data_source=self.data_source, url=subject)
            category._changed = True
            category._created = True
        else:
            category._created = False

        for _, literal in graph.preferredLabel(subject):
            with active_language(literal.language):
                if category.name != str(literal):
                    category.name = str(literal)
                    category._changed = True

        if category._changed:
            category.save()

        category.alt_labels.add(category_labels.get(str(subject), []))

        if not getattr(category, '_found', False):
            syncher.mark(category)
        return category
Example #10
0
 def save_categories_in_bulk(self, graph, data_source):
     categories = []
     for subject in graph.subjects(RDF.type, SKOS.Concept):
         if is_deprecated(graph, subject):
             continue
         category = Category(data_source=data_source)
         category.aggregate = is_aggregate_concept(graph, subject)
         category.created_time = BaseModel.now()
         category.last_modified_time = BaseModel.now()
         category.url = str(subject)
         for _, literal in graph.preferredLabel(subject):
             with active_language(literal.language):
                 category.name = str(literal)
         categories.append(category)
     Category.objects.bulk_create(categories, batch_size=1000)
Example #11
0
    def save_category(self, syncher, graph, subject, data_source, category_labels, save_set):
        category = syncher.get(subject)
        if not category:
            category = Category(
                data_source=self.data_source, url=subject)
            category._changed = True
            category._created = True
        else:
            category._created = False

        for _, literal in graph.preferredLabel(subject):
            with active_language(literal.language):
                if category.name != str(literal):
                    category.name = str(literal)
                    category._changed = True

        if category._changed:
            category.save()

        category.alt_labels.add(category_labels.get(str(subject), []))

        if not getattr(category, '_found', False):
            syncher.mark(category)
        return category
Example #12
0
def event_update(request, event_id):
    if request.user.is_staff:
        if request.method == 'POST':
            res = request.POST
            files = request.FILES
            if validate_event(res, files):
                print(files)
                print(res)
                print("files['lecturer_photo']", files['lecturer_photo'])
                categories = []
                for category in res['categories'].split():
                    category_object = Category.objects.filter(name=category)
                    if category_object.count():
                        categories.append(category_object.first())
                    else:
                        categories.append(Category(name=category))
                event = get_object_or_404(Event, pk=event_id)
                event.title = res['title']
                event.start_date = parse(res['start_date'])
                event.finish_date = parse(res['finish_date'])
                event.organizer = res['organizer']
                event.place = res['place']
                event.cover_url = files['cover_url']
                event.logo_url = files['logo_url']
                description = res['description']
                lecture = event.lecture_set.all()[0]
                lecture.title = res['lecture_title']
                print(lecture.lecturer)
                print(lecture.lecturer.photo_url)
                lecture.lecturer.name = res['name']
                lecture.lecturer.resume_url = files['resume_url']
                lecture.lecturer.photo_url = files['lecturer_photo']
                event.save()
                lecture.save()
                lecture.lecturer.save()

                for category in categories:
                    category.save()
                    print(category)
                    print(Category.objects.filter(name=category.name))
                    if not Category.objects.filter(name=category.name).count():
                        event.categories.add(category)
                return render(
                    request, 'users/update_event.html', {
                        'user': request.user,
                        'succeed': True,
                        'event': event,
                        'finish_date': res['finish_date'],
                        'categories': categories,
                        'lecture': lecture,
                        'start_date': res['start_date']
                    })
        else:
            event = get_object_or_404(Event, pk=event_id)
            categories = [category.name for category in event.categories.all()]
            lecture = event.lecture_set.all()[0]
            start_date = event.start_date.strftime('%Y-%m-%dT%H:%M')
            finish_date = event.finish_date.strftime('%Y-%m-%dT%H:%M')
            return render(
                request, 'users/update_event.html', {
                    'user': request.user,
                    'event': event,
                    'categories': categories,
                    'lecture': lecture,
                    'start_date': start_date,
                    'finish_date': finish_date
                })
    raise PermissionDenied
Example #13
0
    def setUpClass(cls):
        super(FilterEventsTest, cls).setUpClass()
        Category.objects.bulk_create([
            Category(category="Art & Culture"),
            Category(category="Food"),
            Category(category="Sport"),
            Category(category="Music"),
            Category(category="Other")
        ])

        cls.user = EvUser.objects.create_user(username="******",
                                              password='******',
                                              email="*****@*****.**",
                                              is_organizer=False,
                                              profile_image=None)

        cls.organizer = EvUser.objects.create_user(username="******",
                                                   organization_name="org",
                                                   password='******',
                                                   email="*****@*****.**",
                                                   is_organizer=True,
                                                   profile_image=None)

        cls.organizer2 = EvUser.objects.create_user(
            username="******",
            organization_name="org2",
            password='******',
            email="*****@*****.**",
            is_organizer=True,
            profile_image=None)

        cls.A1 = Event.objects.create(
            organizer=cls.organizer,
            name="TestEvent1A",
            status="A",
            start_date=datetime.date.today().__str__(),
            venue="TestVenue")

        cls.A2 = Event.objects.create(
            organizer=cls.organizer2,
            name="TestEvent2A",
            status="A",
            start_date=datetime.date.today().__str__(),
            venue="TestVenue")

        cls.A3 = Event.objects.create(
            organizer=cls.organizer2,
            name="TestEvent3A",
            status="A",
            start_date=datetime.date.today().__str__(),
            venue="TestVenue")

        cls.S = Event.objects.create(
            organizer=cls.organizer,
            name="TestEvent2S",
            status="S",
            start_date=datetime.date.today().__str__(),
        )

        cls.C = Event.objects.create(
            organizer=cls.organizer,
            name="TestEvent3C",
            status="C",
            start_date=datetime.date.today().__str__(),
        )

        cls.A1.categories.add(Category.objects.get(id=6))
        cls.A2.categories.add(Category.objects.get(id=6),
                              Category.objects.get(id=7),
                              Category.objects.get(id=8))
        cls.A3.categories.add(Category.objects.get(id=9))