diff --git a/app/builders/learning_object/draft_builder.rb b/app/builders/learning_object/draft_builder.rb index d08bd7e608b705681b8a753c3e1ae27a6b2cee1b..c1d1381d94658a305d97446a85c8bb99a0e15eca 100644 --- a/app/builders/learning_object/draft_builder.rb +++ b/app/builders/learning_object/draft_builder.rb @@ -1,7 +1,8 @@ class LearningObject::DraftBuilder def self.build(publisher, params={}) - @draft = LearningObject::Draft.new(sanitize_params(params)) + @draft = LearningObject.new(sanitize_params(params)) + @draft.draft # build topics params[:topics].try(:each) do |t| diff --git a/app/controllers/reviews_controller.rb b/app/controllers/reviews_controller.rb index 1782a404fcdce9b6edc82ff3c932a9f72e041709..5341190727c642f779c0212e80bae87cf3987d59 100644 --- a/app/controllers/reviews_controller.rb +++ b/app/controllers/reviews_controller.rb @@ -37,10 +37,10 @@ class ReviewsController < ApplicationController params[:rates].each { |id, value| ratings << ReviewRating.new(review: review, rating_id: id.to_i, value: value.to_i) } ReviewRating.import ratings - format.html { redirect_to params[:reviewable_type].constantize.find(params[:reviewable_id]), notice: 'Review was successfully created.' } + format.html { redirect_to params[:reviewable_type].constantize.find(params[:reviewable_id]), notice: t('activerecord.attributes.review.create.notice.successfully_created') } else review.destroy - format.html { redirect_to new_review_path, alert: 'There was an error!' } + format.html { redirect_to new_review_path, alert: t('activerecord.attributes.review.create.alert.there_was_an_error')} end end end @@ -51,7 +51,7 @@ class ReviewsController < ApplicationController @review.destroy respond_to do |format| - format.html { redirect_to redirect, notice: 'Review was successfully destroyed.' } + format.html { redirect_to redirect, notice: t('activerecord.attributes.review.destroy.notice.successfully_destroy') } end end diff --git a/app/models/concerns/stateful.rb b/app/models/concerns/stateful.rb index 389bc8efc8a50646a1372bdb0e6bd8be3ca1784c..75bff6aed52a6bf76842cfb0eeebb2fcc5861001 100644 --- a/app/models/concerns/stateful.rb +++ b/app/models/concerns/stateful.rb @@ -18,6 +18,10 @@ module Stateful @state = 'published' end + def draft + @state = 'draft' + end + def suspend @state = 'suspended' end diff --git a/app/models/learning_object.rb b/app/models/learning_object.rb index 94d501fbdf9292f4caa94df7bb47456f5b168910..ee386fd9f997ade131abfb6971752707ba8c4d8e 100644 --- a/app/models/learning_object.rb +++ b/app/models/learning_object.rb @@ -18,8 +18,8 @@ class LearningObject < ActiveRecord::Base belongs_to :object_type belongs_to :attachment, class_name: 'LearningObject::Attachment' - validates_presence_of :name, :publisher, :object_type, :language, :author - validates :id_dspace, presence: true, uniqueness: true, unless: Proc.new { |lo| lo.is_draft? } + validates_presence_of :name, :publisher, :object_type, :language, :author, :topics + validates :id_dspace, presence: true, uniqueness: true, unless: :is_draft? default_scope { includes(:object_type, :attachment, :attachments).order(score: :desc) } scope :missing_thumbnail, ->() { where(thumbnail_file_name: nil) } diff --git a/app/services/learning_object_publisher.rb b/app/services/learning_object_publisher.rb index c9c5a585658ee3a70f74dd54c12b7cbaeb79fe36..857b03092f9eac3638849e7e350e35cb205f2fc9 100644 --- a/app/services/learning_object_publisher.rb +++ b/app/services/learning_object_publisher.rb @@ -13,7 +13,7 @@ class LearningObjectPublisher item = create_dspace_item draft # save on postgres draft.id_dspace = item.id - draft.save! + draft.save publish! draft if draft.has_url_reference? return draft diff --git a/app/views/about/_about_text.html.erb b/app/views/about/_about_text.html.erb new file mode 100644 index 0000000000000000000000000000000000000000..77a9050f87b9a1cfbbb5ccd092ca51afc9693bb2 --- /dev/null +++ b/app/views/about/_about_text.html.erb @@ -0,0 +1,82 @@ +<div role="tabpanel" class="tab-pane active" id="about"> + <h3 class="title-about">Sobre este Portal</h3> + <ul class="col-md-12" style="list-style-type:none"> + <li> + Este portal de conteúdos educacionais provê serviços relacionados com o + armazenamento e distribuição de conteúdos educacionais, com propriedades + como busca simples e avançada, ranqueamento de resultados levando + em consideração métricas como similaridade de palavras chave, + pontuação de autores, quantidade de downloads e + recomendações de outros usuários. Além de objetos + inseridos diretamente na base própria, integra conteúdos + disponÃveis nas bases: + <ul style="list-style-type:initial"> + <li><a target="_blank" href="http://objetoseducacionais2.mec.gov.br/">Banco Internacional de Objetos Educacionais</a></li> + <li><a target="_blank" href="http://portaldoprofessor.mec.gov.br/index.html">Portal do Professor</a></li> + </ul> + </li> + <li> + Este portal pretende ser uma importante ferramenta para uso de professores + na preparação de aulas e de alunos no estudo dos conteúdos. + </li> + <li> + Está sendo desenvolvido pelo + Centro de Computação CientÃfica e Software Livre (C3SL) + da Universidade Federal do Paraná (UFPR) em + parceria com o Fundo Nacional de Desenvolvimento da Educação (FNDE), + responsável pela execução de polÃticas educacionais do Ministério da Educação (MEC). + </li> + </ul> +</div> +</div> +</div> +<div class="row"> +<div class="col-md-12"> +<br/><h3 class="title-about">Perguntas Frequentes</h3> +<div class="faq-row"> + <h4 class="question">Preciso me registrar para participar?</h4> + <p class="answer">Você pode consultar e usufruir conteúdos do Portal MEC sem ter cadastro. + Mas para colocar novos materiais é necessário se registrar.</p> +</div> +<div class="faq-row"> + <h4 class="question">Posso alterar meus dados cadastrais?</h4> + <p class="answer">Sim, para isso é preciso clicar na sua foto ou no + seu nome e depois em “Editar Perfilâ€.</p> +</div> +<div class="faq-row"> + <h4 class="question">Esqueci minha senha. E agora?</h4> + <p class="answer">Você pode clicar na página inicial, em “entre†e no formulário de entrada + existe um link “Esqueceu sua senhaâ€, ou ainda você pode clicar na sua foto ou no seu nome e + depois em “Editar Perfilâ€, existe um outro link no inÃcio da página “Esqueci a senhaâ€.</p> +</div> +<div class="faq-row"> + <h4 class="question">Posso salvar um objeto educacional do portal em meu computador?</h4> + <p class="answer">Sim, existe a opção “salvar no computador†na página que mostra os detalhes + do objeto educacional.</p> +</div> +</div> +</div> +<div class="col-md-12 about-contact"> +<br/><h3 class="title-about">Contatos</h3> +<div class="contact-row row"> +<div class="col-md-6"> + <h4>Email: <a target="_blank" href="mailto:contato@c3sl.ufpr.br">contato@c3sl.ufpr.br</a></h4> +</div> +<div class="col-md-6"> + <h4>Telefone: (41)3361-3567</h4> +</div> +</div> +<div class="contact-row"> +<h4>Redes Sociais</h4> +<div class="row"> + <div class='col-md-1 col-sm-offset-1 contact-item'><i class="fa fa-facebook i-facebook"></i></div> + <div class='col-md-1 contact-item'><i class="fa fa-google-plus-square i-google"></i></div> + <div class='col-md-1 contact-item'><i class="fa fa-twitter-square i-twitter"></i></div> +</div> +</div> +<div class="contact-row"> +<h4>Portal desenvolvido por</h4> +<div class="row"> + <div class='contact-item col-md-1 col-sm-offset-1'><%=link_to (image_tag 'logo_c3.png', class:"logo-contact"), "http://www.c3sl.ufpr.br/", target:"_blank"%> </div> +</div> +</div> diff --git a/app/views/about/index.html.erb b/app/views/about/index.html.erb index d2d17284e8b7b662d1233276d190495e6766aa7e..a0853bf4c31221a25e04f50579789f7cfb8793ad 100644 --- a/app/views/about/index.html.erb +++ b/app/views/about/index.html.erb @@ -1,86 +1,3 @@ - - <!-- Tab panes --> - <div class="tab-content"> - <div role="tabpanel" class="tab-pane active" id="about"> - <h3 class="title-about">Sobre este Portal</h3> - <ul class="col-md-12" style="list-style-type:none"> - <li> - Este portal de conteúdos educacionais provê serviços relacionados com o - armazenamento e distribuição de conteúdos educacionais, com propriedades - como busca simples e avançada, ranqueamento de resultados levando - em consideração métricas como similaridade de palavras chave, - pontuação de autores, quantidade de downloads e - recomendações de outros usuários. Além de objetos - inseridos diretamente na base própria, integra conteúdos - disponÃveis nas bases: - <ul style="list-style-type:initial"> - <li><a target="_blank" href="http://objetoseducacionais2.mec.gov.br/">Banco Internacional de Objetos Educacionais</a></li> - <li><a target="_blank" href="http://portaldoprofessor.mec.gov.br/index.html">Portal do Professor</a></li> - </ul> - </li> - <li> - Este portal pretende ser uma importante ferramenta para uso de professores - na preparação de aulas e de alunos no estudo dos conteúdos. - </li> - <li> - Está sendo desenvolvido pelo - Centro de Computação CientÃfica e Software Livre (C3SL) - da Universidade Federal do Paraná (UFPR) em - parceria com o Fundo Nacional de Desenvolvimento da Educação (FNDE), - responsável pela execução de polÃticas educacionais do Ministério da Educação (MEC). - </li> - </ul> - </div> - </div> -</div> -<div class="row"> - <div class="col-md-12"> - <br/><h3 class="title-about">Perguntas Frequentes</h3> - <div class="faq-row"> - <h4 class="question">Preciso me registrar para participar?</h4> - <p class="answer">Você pode consultar e usufruir conteúdos do Portal MEC sem ter cadastro. - Mas para colocar novos materiais é necessário se registrar.</p> - </div> - <div class="faq-row"> - <h4 class="question">Posso alterar meus dados cadastrais?</h4> - <p class="answer">Sim, para isso é preciso clicar na sua foto ou no - seu nome e depois em “Editar Perfilâ€.</p> - </div> - <div class="faq-row"> - <h4 class="question">Esqueci minha senha. E agora?</h4> - <p class="answer">Você pode clicar na página inicial, em “entre†e no formulário de entrada - existe um link “Esqueceu sua senhaâ€, ou ainda você pode clicar na sua foto ou no seu nome e - depois em “Editar Perfilâ€, existe um outro link no inÃcio da página “Esqueci a senhaâ€.</p> - </div> - <div class="faq-row"> - <h4 class="question">Posso salvar um objeto educacional do portal em meu computador?</h4> - <p class="answer">Sim, existe a opção “salvar no computador†na página que mostra os detalhes - do objeto educacional.</p> - </div> - </div> -</div> -<div class="col-md-12 about-contact"> - <br/><h3 class="title-about">Contatos</h3> - <div class="contact-row row"> - <div class="col-md-6"> - <h4>Email: <a target="_blank" href="mailto:contato@c3sl.ufpr.br">contato@c3sl.ufpr.br</a></h4> - </div> - <div class="col-md-6"> - <h4>Telefone: (41)3361-3567</h4> - </div> - </div> - <div class="contact-row"> - <h4>Redes Sociais</h4> - <div class="row"> - <div class='col-md-1 col-sm-offset-1 contact-item'><i class="fa fa-facebook i-facebook"></i></div> - <div class='col-md-1 contact-item'><i class="fa fa-google-plus-square i-google"></i></div> - <div class='col-md-1 contact-item'><i class="fa fa-twitter-square i-twitter"></i></div> - </div> - </div> - <div class="contact-row"> - <h4>Portal desenvolvido por</h4> - <div class="row"> - <div class='contact-item col-md-1 col-sm-offset-1'><%=link_to (image_tag 'logo_c3.png', class:"logo-contact"), "http://www.c3sl.ufpr.br/", target:"_blank"%> </div> - </div> - </div> +<div class="tab-content"> + <%= render 'about_text' %> </div> diff --git a/app/views/institutions/_form.html.erb b/app/views/institutions/_form.html.erb index 6abf7dba58c709a483eb1eb921faff8e02aca431..eac2733613994a8f3e35ca023e7acb8effc102c5 100644 --- a/app/views/institutions/_form.html.erb +++ b/app/views/institutions/_form.html.erb @@ -1,7 +1,7 @@ <%= form_for(@intitution) do |f| %> <% if @institution.errors.any? %> <div id="error_explanation"> - <h2><%= pluralize(@institution.errors.count, "error") %> prohibited this learning_object from being saved:</h2> + <h2><%= pluralize(@institution.errors.count, "error") %> impedem essa instituição de ser salva:</h2> <ul> <% @institution.errors.full_messages.each do |message| %> diff --git a/app/views/learning_objects/_form.html.erb b/app/views/learning_objects/_form.html.erb index 2561430cab7b0f677bc559aaefda06097c21c659..022742c40e9c0ea6503981cc5516e3c2dfb940c8 100644 --- a/app/views/learning_objects/_form.html.erb +++ b/app/views/learning_objects/_form.html.erb @@ -1,8 +1,8 @@ <%= form_for(@learning_object, url: {controller: :learning_objects}) do |f| %> <% if @learning_object.errors.any? %> <div id="error_explanation"> - <h2><%= pluralize(@learning_object.errors.count, "error") %> prohibited this learning_object from being - saved:</h2> + <h2><%= pluralize(@learning_object.errors.count, "erro") %> impedem esse objeto + educacional de ser salvo</h2> <ul> <% @learning_object.errors.full_messages.each do |message| %> diff --git a/app/views/management/institutions/_form.html.erb b/app/views/management/institutions/_form.html.erb index 3c8b6b8a5286531719f5a0ba0d0fbb0c0c446581..dd43ac7600f0e80b6b4a2d6dafa9ff7775806f87 100644 --- a/app/views/management/institutions/_form.html.erb +++ b/app/views/management/institutions/_form.html.erb @@ -2,7 +2,7 @@ <% if @institution.errors.any? %> <div class="ls-alert-danger"> - <h2><%= pluralize(@institution.errors.count, "erro") %> <%= "happened".pluralize(@institution.errors.count) %>:</h2> + <h2><%= pluralize(@institution.errors.count, "erro") %> <%= "ocorreu".pluralize(@institution.errors.count) %>:</h2> <ul> <% @institution.errors.full_messages.each do |message| %> <li><%= message %></li> diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml index f5231beeec92fa8a845210e3d0f77b269a068a01..6670a9dce73ce690f231b3b0dd5391d8acffee83 100644 --- a/config/locales/pt-BR.yml +++ b/config/locales/pt-BR.yml @@ -106,15 +106,17 @@ pt-BR: activerecord: models: attribute: "Atributo" - carousel: "Carossel" bookmarks: "Favoritos" + carousel: "Carossel" collection: "Coleção" institution: "Instituição" + language: "Linguagem" learning_object: "Objeto Educacional" main_page: "Página Principal" search: "Busca" subject: "Assunto" user: "Usuário" + attributes: user: name: "Nome" @@ -130,6 +132,23 @@ pt-BR: description: "Descrição" privacy: "Privacidade" learning_objects: "Objetos Educacionais" + learning_object: + name: "Nome" + object_type: "Tipo do objeto" + language: "Idioma" + author: "Autor" + institution: + name: "Nome" + review: + create: + notice: + successfully_created: "Avaliação criada com sucesso." + alert: + there_was_an_error: "Ocorreu um erro!" + destroy: + notice: + successfully_destroy: "Avaliação excluÃda com sucesso." + errors: template: header: