def event_form(request, object_id, slug): topic = get_object_or_404(models.Topic, pk=object_id) if request.method == 'POST': form = forms.EventForm(topic, request.POST) if form.is_valid(): services.create_event(request.user, topic, form.cleaned_data) return redirect(topic) else: form = forms.EventForm(topic) return render(request, 'manopozicija/form.html', { 'form_name': 'event-form', 'form_title': ugettext('Naujas įvykis'), 'forms': [form], })
def event_form(request, object_id, slug): topic = get_object_or_404(models.Topic, pk=object_id) if request.method == 'POST': form = forms.EventForm(topic, request.POST) if form.is_valid(): services.create_event(request.user, topic, form.cleaned_data) return redirect(topic) else: form = forms.EventForm(topic) return render( request, 'manopozicija/form.html', { 'form_name': 'event-form', 'form_title': ugettext('Naujas įvykis'), 'forms': [form], })
def create_topic_event(topic, user, upvotes, downvotes, title, source, date): user = user or UserFactory() timestamp = datetime.datetime.strptime(date, '%Y-%m-%d') event = services.create_event(user, topic, { 'type': models.Event.DOCUMENT, 'title': title, 'source_link': _get_source_link(source, date), 'source_title': source, 'timestamp': timestamp, }) post = event.post.first() position = 1 if upvotes > downvotes else -1 if upvotes < downvotes else 0 services.update_user_position(user, post, position) return post
def handle(self, slug, path, **options): printer = helpers.Printer(self.stdout, options['verbosity']) user = services.get_bot_user('importbot') topic = models.Topic.objects.get(slug=slug) with open(path) as f: posts = yaml.safe_load(f) for post in posts: if post['type'] == 'event': exists = (models.Event.objects.filter( post__topic=topic, source_link=post['event']['source_link']).exists()) if exists: printer.info('"%s" already exists.' % post['event']['title']) else: form = forms.EventForm(topic, post['event']) if form.is_valid(): services.create_event(user, topic, form.cleaned_data) printer.info('"%s" imported.' % post['event']['title']) else: printer.info('Error while importing %r' % post['event']) printer.info(form.errors.as_text())
def handle(self, slug, path, **options): printer = helpers.Printer(self.stdout, options['verbosity']) user = services.get_bot_user('importbot') topic = models.Topic.objects.get(slug=slug) with open(path) as f: posts = yaml.safe_load(f) for post in posts: if post['type'] == 'event': exists = ( models.Event.objects. filter(post__topic=topic, source_link=post['event']['source_link']). exists() ) if exists: printer.info('"%s" already exists.' % post['event']['title']) else: form = forms.EventForm(topic, post['event']) if form.is_valid(): services.create_event(user, topic, form.cleaned_data) printer.info('"%s" imported.' % post['event']['title']) else: printer.info('Error while importing %r' % post['event']) printer.info(form.errors.as_text())