Exemple #1
0
def edit(id):
    publication = Publication.query.filter_by(id=id).first_or_404()
    form = RegistrationForm()
    form.subject.choices = ([(subject.name, subject.name)
                             for subject in publication.subjects])
    form.subject.choices.remove(
        (publication.main_subject, publication.main_subject))
    form.subject.choices.insert(
        0, (publication.main_subject, publication.main_subject))
    form.set_choices()
    form.title.data = publication.title
    form.author.data = publication.author
    form.text_content.data = publication.text_content
    form.publish_date.data = publication.publish_date
    form.text_call.data = publication.text_call
    form.show_home.data = publication.show_home
    form.thumb.data = publication.thumb
    form.subject.data = [subject.name for subject in publication.subjects]
    form.language.data = publication.language
    if publication.thumb_src:
        form.thumb_src.data = publication.thumb_src

    return render_template('news/edit.html',
                           form=form,
                           action=url_for('news.update', id=id))
Exemple #2
0
def create():
    csrf_token = request.form.get('csrf_token')
    upload_folder = os.path.join(app.config['UPLOAD_FOLDER'], mod.name, csrf_token, 'files')

    form = RegistrationForm()

    if not os.path.exists(upload_folder):
        flash(u'Selecione o arquivo do artigo para enviá-lo.', 'danger')
        return render_template('scholar/new.html', form=form)

    if form.validate() is False:
        form.set_choices(approved_articles_keywords())
        return render_template('scholar/new.html', form=form)
    else:
        article = Article()
        article.title = form.title.data
        article.theme = form.theme.data
        article.abstract = form.abstract.data
        article.postage_date = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
        article.approval_status = 0

        author_input_list = form.authors.data.replace(', ', ',').split(',')
        for author_input in author_input_list:
            article.authors.append(AuthorScholar(author_input))

        for keyword_input in form.keywords.data:
            keyword = KeyWord.query.filter_by(name=keyword_input).first()
            if not keyword:
                article.keywords.append(KeyWord(keyword_input))
            else:
                article.keywords.append(keyword)

        db.session.add(article)
        db.session.flush()

        if os.path.exists(upload_folder):

            file_name = [file for file in os.listdir(upload_folder)][0]

            article.file_url = upload_helper.upload_s3_file(
                os.path.join(upload_folder, file_name),
                os.path.join('scholar/', str(article.id), 'files/', 'article'),
                {
                    'ContentType': "application/pdf",
                    'ContentDisposition': 'attachment; filename=dataviva-article-' + str(article.id) + '.pdf'
                }
            )

            shutil.rmtree(os.path.split(upload_folder)[0])

        db.session.commit()
        upload_helper.log_operation(module=mod.name, operation='create', user=(g.user.id, g.user.email), objs=[(article.id, article.title)])
        new_article_advise(article, request.url_root)
        message = dictionary()["article_submission"]
        flash(message, 'success')
        return redirect(url_for('scholar.index'))
Exemple #3
0
def create():
    csrf_token = request.form.get('csrf_token')
    upload_folder = os.path.join(app.config['UPLOAD_FOLDER'], mod.name, csrf_token, 'files')

    form = RegistrationForm()

    if not os.path.exists(upload_folder):
        flash(u'Selecione o arquivo do artigo para enviá-lo.', 'danger')
        return render_template('scholar/new.html', form=form)

    if form.validate() is False:
        form.set_choices(approved_articles_keywords())
        return render_template('scholar/new.html', form=form)
    else:
        article = Article()
        article.title = form.title.data
        article.theme = form.theme.data
        article.abstract = form.abstract.data
        article.postage_date = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
        article.approval_status = 0

        author_input_list = form.authors.data.replace(', ', ',').split(',')
        for author_input in author_input_list:
            article.authors.append(AuthorScholar(author_input))

        for keyword_input in form.keywords.data:
            keyword = KeyWord.query.filter_by(name=keyword_input).first()
            if not keyword:
                article.keywords.append(KeyWord(keyword_input))
            else:
                article.keywords.append(keyword)

        db.session.add(article)
        db.session.flush()

        if os.path.exists(upload_folder):

            file_name = [file for file in os.listdir(upload_folder)][0]

            article.file_url = upload_helper.upload_s3_file(
                os.path.join(upload_folder, file_name),
                os.path.join('scholar/', str(article.id), 'files/', 'article'),
                {
                    'ContentType': "application/pdf",
                    'ContentDisposition': 'attachment; filename=dataviva-article-' + str(article.id) + '.pdf'
                }
            )

            shutil.rmtree(os.path.split(upload_folder)[0])

        db.session.commit()
        upload_helper.log_operation(module=mod.name, operation='create', user=(g.user.id, g.user.email), objs=[(article.id, article.title)])
        new_article_advise(article, request.url_root)
        message = dictionary()["article_submission"]
        flash(message, 'success')
        return redirect(url_for('scholar.index'))
Exemple #4
0
def edit(id):
    form = RegistrationForm()
    form.set_choices(g.locale)
    question = SearchQuestion.query.filter_by(id=id).first_or_404()
    form.profile.data = question.profile_id
    form.description_en.data = question.description_en
    form.description_pt.data = question.description_pt
    form.answer.data = question.answer
    form.selector.data = ', '.join((question.selectors).split(','))
    return render_template('search/edit.html', form=form, action=url_for('search.update', id=id))
Exemple #5
0
def update(id):
    csrf_token = request.form.get('csrf_token')
    upload_folder = os.path.join(app.config['UPLOAD_FOLDER'], mod.name,
                                 csrf_token, 'files')
    article = Article.query.filter_by(id=id).first_or_404()
    form = RegistrationForm()

    if form.validate() is False:
        form.set_choices(approved_articles_keywords())
        return render_template('scholar/edit.html', form=form)
    else:
        old_title = article.title
        article.title = form.title.data
        article.theme = form.theme.data
        article.abstract = form.abstract.data
        article.postage_date = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
        article.authors = []
        article.keywords = []

        author_input_list = form.authors.data.replace(', ', ',').split(',')
        for author_input in author_input_list:
            article.authors.append(AuthorScholar(author_input))

        for keyword_input in form.keywords.data:
            keyword = KeyWord.query.filter_by(name=keyword_input).first()
            if not keyword:
                article.keywords.append(KeyWord(keyword_input))
            else:
                article.keywords.append(keyword)

        if os.path.exists(upload_folder):

            file_name = [file for file in os.listdir(upload_folder)][0]

            article.file_url = upload_helper.upload_s3_file(
                os.path.join(upload_folder, file_name),
                os.path.join('scholar/', str(article.id), 'files/', 'article'),
                {
                    'ContentType':
                    "application/pdf",
                    'ContentDisposition':
                    'attachment; filename=dataviva-article-' +
                    str(article.id) + '.pdf'
                })

            shutil.rmtree(os.path.split(upload_folder)[0])

        db.session.commit()
        upload_helper.log_operation(module=mod.name,
                                    operation='edit',
                                    user=(g.user.id, g.user.email),
                                    objs=[(article.id, old_title)])
        message = u'Estudo editado com sucesso!'
        flash(message, 'success')
        return redirect(url_for('scholar.admin'))
Exemple #6
0
def edit(id):
    form = RegistrationForm()
    form.set_choices(g.locale)
    question = SearchQuestion.query.filter_by(id=id).first_or_404()
    form.profile.data = question.profile_id
    form.description_en.data = question.description_en
    form.description_pt.data = question.description_pt
    form.answer.data = question.answer
    form.selector.data = ', '.join((question.selectors).split(','))
    return render_template('search/edit.html',
                           form=form,
                           action=url_for('search.update', id=id))
Exemple #7
0
def edit(id):
    article = Article.query.filter_by(id=id).first_or_404()
    form = RegistrationForm()
    form.keywords.choices = ([(keyword.name, keyword.name) for keyword in article.keywords])
    form.set_choices(approved_articles_keywords())
    form.title.data = article.title
    form.theme.data = article.theme
    form.authors.data = article.authors_str()
    form.keywords.data = [keyword.name for keyword in article.keywords]
    form.abstract.data = article.abstract
    article_url = article.file_url

    return render_template('scholar/edit.html', form=form, action=url_for('scholar.update', id=id), article_url=article_url)
Exemple #8
0
def edit(id):
    article = Article.query.filter_by(id=id).first_or_404()
    form = RegistrationForm()
    form.keywords.choices = ([(keyword.name, keyword.name) for keyword in article.keywords])
    form.set_choices(approved_articles_keywords())
    form.title.data = article.title
    form.theme.data = article.theme
    form.authors.data = article.authors_str()
    form.keywords.data = [keyword.name for keyword in article.keywords]
    form.abstract.data = article.abstract
    article_url = article.file_url

    return render_template('scholar/edit.html', form=form, action=url_for('scholar.update', id=id), article_url=article_url)
Exemple #9
0
def update(id):
    csrf_token = request.form.get('csrf_token')
    upload_folder = os.path.join(app.config['UPLOAD_FOLDER'], mod.name, csrf_token, 'files')
    article = Article.query.filter_by(id=id).first_or_404()
    form = RegistrationForm()

    if form.validate() is False:
        form.set_choices(approved_articles_keywords())
        return render_template('scholar/edit.html', form=form)
    else:
        old_title = article.title
        article.title = form.title.data
        article.theme = form.theme.data
        article.abstract = form.abstract.data
        article.postage_date = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
        article.authors = []
        article.keywords = []

        author_input_list = form.authors.data.replace(', ', ',').split(',')
        for author_input in author_input_list:
            article.authors.append(AuthorScholar(author_input))

        for keyword_input in form.keywords.data:
            keyword = KeyWord.query.filter_by(name=keyword_input).first()
            if not keyword:
                article.keywords.append(KeyWord(keyword_input))
            else:
                article.keywords.append(keyword)

        if os.path.exists(upload_folder):

            file_name = [file for file in os.listdir(upload_folder)][0]

            article.file_url = upload_helper.upload_s3_file(
                os.path.join(upload_folder, file_name),
                os.path.join('scholar/', str(article.id), 'files/', 'article'),
                {
                    'ContentType': "application/pdf",
                    'ContentDisposition': 'attachment; filename=dataviva-article-' + str(article.id) + '.pdf'
                }
            )

            shutil.rmtree(os.path.split(upload_folder)[0])

        db.session.commit()
        upload_helper.log_operation(module=mod.name, operation='edit', user=(g.user.id, g.user.email), objs=[(article.id, old_title)])
        message = u'Estudo editado com sucesso!'
        flash(message, 'success')
        return redirect(url_for('scholar.admin'))
Exemple #10
0
def update(id):
    form = RegistrationForm()
    id = int(id.encode())
    if form.validate() is False:
        form.set_choices()
        return render_template('news/edit.html', form=form)
    else:
        publication = Publication.query.filter_by(id=id).first_or_404()
        old_title = publication.title
        publication.title = form.title.data
        publication.text_call = form.text_call.data
        publication.last_modification = datetime.now().strftime(
            '%Y-%m-%d %H:%M:%S')
        publication.publish_date = form.publish_date.data.strftime('%Y-%m-%d')
        publication.show_home = form.show_home.data
        publication.author = form.author.data
        publication.language = form.language.data
        if form.thumb_src.data:
            publication.thumb_src = form.thumb_src.data
        else:
            publication.thumb_src = None

        num_subjects = len(publication.subjects)
        for i in range(0, num_subjects):
            publication.subjects.remove(publication.subjects[0])

        publication.add_subjects(form.subject.data, form.language.data)

        publication.text_content = upload_images_to_s3(form.text_content.data,
                                                       mod.name,
                                                       publication.id)
        clean_s3_folder(publication.text_content, mod.name, publication.id)

        if len(form.thumb.data.split(',')) > 1:
            upload_folder = os.path.join(app.config['UPLOAD_FOLDER'], mod.name,
                                         str(publication.id), 'images')
            publication.thumb = save_b64_image(
                form.thumb.data.split(',')[1], upload_folder, 'thumb')

        db.session.commit()
        log_operation(module=mod.name,
                      operation='edit',
                      user=(g.user.id, g.user.email),
                      objs=[(publication.id, old_title)])

        message = u'Notícia editada com sucesso!'
        flash(message, 'success')
        return redirect(url_for('news.admin'))
Exemple #11
0
def update(id):
    form = RegistrationForm()
    id = int(id.encode())
    if form.validate() is False:
        form.set_choices()
        return render_template('news/edit.html', form=form)
    else:
        publication = Publication.query.filter_by(id=id).first_or_404()
        old_title = publication.title
        publication.title = form.title.data
        publication.text_call = form.text_call.data
        publication.last_modification = datetime.now().strftime(
            '%Y-%m-%d %H:%M:%S')
        publication.publish_date = form.publish_date.data.strftime('%Y-%m-%d')
        publication.show_home = form.show_home.data
        publication.author = form.author.data
        publication.language = form.language.data
        if form.thumb_src.data:
            publication.thumb_src = form.thumb_src.data
        else:
            publication.thumb_src = None

        num_subjects = len(publication.subjects)
        for i in range(0, num_subjects):
            publication.subjects.remove(publication.subjects[0])

        publication.add_subjects(form.subject.data, form.language.data)

        publication.text_content = upload_images_to_s3(
            form.text_content.data, mod.name, publication.id)
        clean_s3_folder(publication.text_content, mod.name, publication.id)

        if len(form.thumb.data.split(',')) > 1:
            upload_folder = os.path.join(
                app.config['UPLOAD_FOLDER'], mod.name, str(publication.id), 'images')
            publication.thumb = save_b64_image(
                form.thumb.data.split(',')[1], upload_folder, 'thumb')

        db.session.commit()
        log_operation(module=mod.name, operation='edit', user=(g.user.id, g.user.email), objs=[(publication.id, old_title)])

        message = u'Notícia editada com sucesso!'
        flash(message, 'success')
        return redirect(url_for('news.admin'))
Exemple #12
0
def create():
    form = RegistrationForm()
    if form.validate() is False:
        form.set_choices()
        return render_template('news/new.html', form=form)
    else:
        publication = Publication()
        publication.title = form.title.data
        publication.text_call = form.text_call.data
        publication.last_modification = datetime.now().strftime(
            '%Y-%m-%d %H:%M:%S')
        publication.publish_date = form.publish_date.data.strftime('%Y-%m-%d')
        publication.show_home = form.show_home.data
        publication.active = 0
        publication.author = form.author.data
        publication.language = form.language.data
        publication.add_subjects(form.subject.data, form.language.data)

        if form.thumb_src.data:
            publication.thumb_src = form.thumb_src.data

        db.session.add(publication)
        db.session.flush()

        text_content = upload_images_to_s3(form.text_content.data, mod.name,
                                           publication.id)
        Publication.query.get(publication.id).text_content = text_content
        clean_s3_folder(text_content, mod.name, publication.id)

        if len(form.thumb.data.split(',')) > 1:
            upload_folder = os.path.join(app.config['UPLOAD_FOLDER'], mod.name,
                                         str(publication.id), 'images')
            publication.thumb = save_b64_image(
                form.thumb.data.split(',')[1], upload_folder, 'thumb')

        db.session.commit()
        log_operation(module=mod.name,
                      operation='create',
                      user=(g.user.id, g.user.email),
                      objs=[(publication.id, publication.title)])
        message = u'Muito obrigado! Sua notícia foi submetida com sucesso!'
        flash(message, 'success')
        return redirect(url_for('news.admin'))
Exemple #13
0
def edit(id):
    publication = Publication.query.filter_by(id=id).first_or_404()
    form = RegistrationForm()
    form.subject.choices = ([(subject.name, subject.name) for subject in publication.subjects])
    form.subject.choices.remove((publication.main_subject, publication.main_subject))
    form.subject.choices.insert(0, (publication.main_subject, publication.main_subject))
    form.set_choices()
    form.title.data = publication.title
    form.author.data = publication.author
    form.text_content.data = publication.text_content
    form.publish_date.data = publication.publish_date
    form.text_call.data = publication.text_call
    form.show_home.data = publication.show_home
    form.thumb.data = publication.thumb
    form.subject.data = [subject.name for subject in publication.subjects]
    form.language.data = publication.language
    if publication.thumb_src:
        form.thumb_src.data = publication.thumb_src

    return render_template('news/edit.html', form=form, action=url_for('news.update', id=id))
Exemple #14
0
def update(id):
    form = RegistrationForm()
    form.set_choices(g.locale)
    id = int(id.encode())
    if form.validate() is False:
        return render_template('search/edit.html', form=form)
    else:
        question = SearchQuestion.query.filter_by(id=id).first_or_404()
        profile_id = form.profile.data
        question.profile_id = profile_id
        question.description_en = form.description_en.data
        question.description_pt = form.description_pt.data
        question.answer = form.answer.data
        question.selectors = form.selector.data.replace(' ', '') #remove spaces

        db.session.commit()

        message = u'Pergunta editada com sucesso!'
        flash(message, 'success')
        return redirect(url_for('search.admin'))
Exemple #15
0
def update(id):
    form = RegistrationForm()
    form.set_choices(g.locale)
    id = int(id.encode())
    if form.validate() is False:
        return render_template('search/edit.html', form=form)
    else:
        question = SearchQuestion.query.filter_by(id=id).first_or_404()
        profile_id = form.profile.data
        question.profile_id = profile_id
        question.description_en = form.description_en.data
        question.description_pt = form.description_pt.data
        question.answer = form.answer.data
        question.selectors = form.selector.data.replace(' ',
                                                        '')  #remove spaces

        db.session.commit()

        message = u'Pergunta editada com sucesso!'
        flash(message, 'success')
        return redirect(url_for('search.admin'))
Exemple #16
0
def create():
    form = RegistrationForm()
    if form.validate() is False:
        form.set_choices()
        return render_template('news/new.html', form=form)
    else:
        publication = Publication()
        publication.title = form.title.data
        publication.text_call = form.text_call.data
        publication.last_modification = datetime.now().strftime(
            '%Y-%m-%d %H:%M:%S')
        publication.publish_date = form.publish_date.data.strftime('%Y-%m-%d')
        publication.show_home = form.show_home.data
        publication.active = 0
        publication.author = form.author.data
        publication.language = form.language.data
        publication.add_subjects(form.subject.data, form.language.data)

        if form.thumb_src.data:
            publication.thumb_src = form.thumb_src.data

        db.session.add(publication)
        db.session.flush()

        text_content = upload_images_to_s3(
            form.text_content.data, mod.name, publication.id)
        Publication.query.get(publication.id).text_content = text_content
        clean_s3_folder(text_content, mod.name, publication.id)

        if len(form.thumb.data.split(',')) > 1:
            upload_folder = os.path.join(
                app.config['UPLOAD_FOLDER'], mod.name, str(publication.id), 'images')
            publication.thumb = save_b64_image(
                form.thumb.data.split(',')[1], upload_folder, 'thumb')

        db.session.commit()
        log_operation(module=mod.name, operation='create', user=(g.user.id, g.user.email), objs=[(publication.id, publication.title)])
        message = u'Muito obrigado! Sua notícia foi submetida com sucesso!'
        flash(message, 'success')
        return redirect(url_for('news.admin'))
Exemple #17
0
def create():
    form = RegistrationForm()
    form.set_choices(g.locale)
    if form.validate() is False:
        return render_template('search/new.html', form=form)
    else:
        question = SearchQuestion()
        question.profile_id = form.profile.data
        question.description_en = form.description_en.data
        question.description_pt = form.description_pt.data
        question.answer = form.answer.data
        question.selectors = form.selector.data.replace(' ', '') #remove spaces

        db.session.add(question)
        db.session.flush()

        db.session.add(question)
        db.session.commit()

        message = u'Muito obrigado! Sua pergunta foi submetida com sucesso!'
        flash(message, 'success')
        return redirect(url_for('search.admin'))
Exemple #18
0
def create():
    form = RegistrationForm()
    form.set_choices(g.locale)
    if form.validate() is False:
        return render_template('search/new.html', form=form)
    else:
        question = SearchQuestion()
        question.profile_id = form.profile.data
        question.description_en = form.description_en.data
        question.description_pt = form.description_pt.data
        question.answer = form.answer.data
        question.selectors = form.selector.data.replace(' ',
                                                        '')  #remove spaces

        db.session.add(question)
        db.session.flush()

        db.session.add(question)
        db.session.commit()

        message = u'Muito obrigado! Sua pergunta foi submetida com sucesso!'
        flash(message, 'success')
        return redirect(url_for('search.admin'))
Exemple #19
0
def new():
    form = RegistrationForm()
    form.set_choices()
    return render_template('news/new.html',
                           form=form,
                           action=url_for('news.create'))
Exemple #20
0
def new():
    form = RegistrationForm()
    form.set_choices(g.locale)
    return render_template('search/new.html',
                           form=form,
                           action=url_for('search.create'))
Exemple #21
0
def new():
    form = RegistrationForm()
    form.set_choices()
    return render_template('news/new.html', form=form, action=url_for('news.create'))
Exemple #22
0
def new():
    form = RegistrationForm()
    form.set_choices(approved_articles_keywords())
    return render_template('scholar/new.html', form=form, action=url_for('scholar.create'))
Exemple #23
0
def new():
    form = RegistrationForm()
    form.set_choices(g.locale)
    return render_template('search/new.html', form=form, action=url_for('search.create'))
Exemple #24
0
def new():
    form = RegistrationForm()
    form.set_choices(approved_articles_keywords())
    return render_template('scholar/new.html', form=form, action=url_for('scholar.create'))