diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2014-06-13 16:19:14 +0400 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2014-06-13 16:19:14 +0400 |
commit | 15c27192c0fa4e33188c3f6663362faca02df8af (patch) | |
tree | 2cbac2abf10cb88afdf03319c58f65ebd88c6cfd /app | |
parent | d3d0775acde8dbbb887665c3c52009d76e906d10 (diff) | |
parent | d593c98fcbd34789068a72c9386f69a152107139 (diff) |
Merge branch 'remove-wall'
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Conflicts:
CHANGELOG
Diffstat (limited to 'app')
-rw-r--r-- | app/assets/javascripts/dispatcher.js.coffee | 2 | ||||
-rw-r--r-- | app/assets/javascripts/wall.js.coffee | 85 | ||||
-rw-r--r-- | app/assets/stylesheets/sections/wall.scss | 55 | ||||
-rw-r--r-- | app/controllers/projects/walls_controller.rb | 20 | ||||
-rw-r--r-- | app/helpers/events_helper.rb | 2 | ||||
-rw-r--r-- | app/helpers/projects_helper.rb | 2 | ||||
-rw-r--r-- | app/helpers/search_helper.rb | 1 | ||||
-rw-r--r-- | app/mailers/emails/notes.rb | 9 | ||||
-rw-r--r-- | app/models/event.rb | 4 | ||||
-rw-r--r-- | app/models/note.rb | 6 | ||||
-rw-r--r-- | app/models/project.rb | 5 | ||||
-rw-r--r-- | app/observers/note_observer.rb | 5 | ||||
-rw-r--r-- | app/services/notification_service.rb | 1 | ||||
-rw-r--r-- | app/services/projects/create_service.rb | 1 | ||||
-rw-r--r-- | app/views/layouts/nav/_project.html.haml | 4 | ||||
-rw-r--r-- | app/views/notify/note_wall_email.html.haml | 1 | ||||
-rw-r--r-- | app/views/notify/note_wall_email.text.erb | 9 | ||||
-rw-r--r-- | app/views/projects/edit.html.haml | 7 | ||||
-rw-r--r-- | app/views/projects/walls/show.html.haml | 23 |
19 files changed, 4 insertions, 238 deletions
diff --git a/app/assets/javascripts/dispatcher.js.coffee b/app/assets/javascripts/dispatcher.js.coffee index 6518c380bdc..ff68b520ad6 100644 --- a/app/assets/javascripts/dispatcher.js.coffee +++ b/app/assets/javascripts/dispatcher.js.coffee @@ -34,8 +34,6 @@ class Dispatcher new Activities() when 'projects:new', 'projects:edit' new Project() - when 'projects:walls:show' - new Wall(project_id) when 'projects:teams:members:index' new TeamMembers() when 'groups:members' diff --git a/app/assets/javascripts/wall.js.coffee b/app/assets/javascripts/wall.js.coffee deleted file mode 100644 index 4cc11331aca..00000000000 --- a/app/assets/javascripts/wall.js.coffee +++ /dev/null @@ -1,85 +0,0 @@ -class Wall - constructor: (project_id) -> - @project_id = project_id - @note_ids = [] - @getContent() - @initRefresh() - @initForm() - - # - # Gets an initial set of notes. - # - getContent: -> - Api.notes @project_id, (notes) => - $.each notes, (i, note) => - # render note if it not present in loaded list - # or skip if rendered - if $.inArray(note.id, @note_ids) == -1 - @note_ids.push(note.id) - @renderNote(note) - @scrollDown() - $("abbr.timeago").timeago() - - initRefresh: -> - setInterval => - @refresh() - , 10000 - - refresh: -> - @getContent() - - scrollDown: -> - notes = $('ul.notes') - $('body, html').scrollTop(notes.height()) - - initForm: -> - form = $('.wall-note-form') - form.find("#target_type").val('wall') - - form.on 'ajax:success', => - @refresh() - form.find(".js-note-text").val("").trigger("input") - - form.on 'ajax:complete', -> - form.find(".js-comment-button").removeAttr('disabled') - form.find(".js-comment-button").removeClass('disabled') - - form.on "click", ".js-choose-note-attachment-button", -> - form.find(".js-note-attachment-input").click() - - form.on "change", ".js-note-attachment-input", -> - filename = $(this).val().replace(/^.*[\\\/]/, '') - form.find(".js-attachment-filename").text(filename) - - form.find('.note_text').keydown (e) -> - if e.ctrlKey && e.keyCode == 13 - form.find('.js-comment-button').submit() - - form.show() - - renderNote: (note) -> - template = @noteTemplate() - template = template.replace('{{author_name}}', note.author.name) - template = template.replace(/{{created_at}}/g, note.created_at) - template = template.replace('{{text}}', simpleFormat(note.body)) - - if note.attachment - file = '<i class="icon-paper-clip"/><a href="' + gon.relative_url_root + '/files/note/' + note.id + '/' + note.attachment + '">' + note.attachment + '</a>' - else - file = '' - template = template.replace('{{file}}', file) - - - $('ul.notes').append(template) - - noteTemplate: -> - return '<li> - <strong class="wall-author">{{author_name}}</strong> - <span class="wall-text"> - {{text}} - <span class="wall-file">{{file}}</span> - </span> - <abbr class="timeago" title="{{created_at}}">{{created_at}}</abbr> - </li>' - -@Wall = Wall diff --git a/app/assets/stylesheets/sections/wall.scss b/app/assets/stylesheets/sections/wall.scss deleted file mode 100644 index 3705afdb87c..00000000000 --- a/app/assets/stylesheets/sections/wall.scss +++ /dev/null @@ -1,55 +0,0 @@ -.wall-page { - .wall-note-form { - @extend .col-md-12; - - margin: 0; - height: 140px; - background: #F9F9F9; - position: fixed; - bottom: 0px; - padding: 3px; - padding-bottom: 25px; - border: 1px solid #DDD; - } - - .notes { - margin-bottom: 160px; - background: #FFE; - border: 1px solid #EED; - - > li { - @extend .clearfix; - border-bottom: 1px solid #EED; - padding: 10px; - } - - .wall-author { - color: #666; - float: left; - font-size: 12px; - width: 120px; - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; - } - - .wall-text { - border-left: 1px solid #CCC; - margin-left: 10px; - padding-left: 10px; - float: left; - width: 75%; - } - - .wall-file { - margin-left: 8px; - background: #EEE; - } - - abbr { - float: right; - color: #AAA; - border: none; - } - } -} diff --git a/app/controllers/projects/walls_controller.rb b/app/controllers/projects/walls_controller.rb deleted file mode 100644 index 834215a1473..00000000000 --- a/app/controllers/projects/walls_controller.rb +++ /dev/null @@ -1,20 +0,0 @@ -class Projects::WallsController < Projects::ApplicationController - before_filter :module_enabled - - respond_to :js, :html - - def show - @note = @project.notes.new - - respond_to do |format| - format.html - end - end - - protected - - def module_enabled - return render_404 unless @project.wall_enabled - end -end - diff --git a/app/helpers/events_helper.rb b/app/helpers/events_helper.rb index 929f9a9c381..d3904e16c11 100644 --- a/app/helpers/events_helper.rb +++ b/app/helpers/events_helper.rb @@ -109,8 +109,6 @@ module EventsHelper "#{event.note_target_type} ##{truncate event.note_target_iid}" end end - elsif event.wall_note? - link_to 'wall', project_wall_path(event.project) else content_tag :strong do "(deleted)" diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index ef0460f8728..ba4c7068e90 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -139,7 +139,7 @@ module ProjectsHelper nav_tabs << :settings end - [:issues, :wiki, :wall, :snippets].each do |feature| + [:issues, :wiki, :snippets].each do |feature| nav_tabs << feature if project.send :"#{feature}_enabled" end diff --git a/app/helpers/search_helper.rb b/app/helpers/search_helper.rb index a4471507da8..ecd8d3994d0 100644 --- a/app/helpers/search_helper.rb +++ b/app/helpers/search_helper.rb @@ -61,7 +61,6 @@ module SearchHelper { label: "#{prefix} - Milestones", url: project_milestones_path(@project) }, { label: "#{prefix} - Snippets", url: project_snippets_path(@project) }, { label: "#{prefix} - Team", url: project_team_index_path(@project) }, - { label: "#{prefix} - Wall", url: project_wall_path(@project) }, { label: "#{prefix} - Wiki", url: project_wikis_path(@project) }, ] else diff --git a/app/mailers/emails/notes.rb b/app/mailers/emails/notes.rb index 7848d34ab2b..acc6d03b5e4 100644 --- a/app/mailers/emails/notes.rb +++ b/app/mailers/emails/notes.rb @@ -32,14 +32,5 @@ module Emails cc: recipient(recipient_id), subject: subject("#{@merge_request.title} (##{@merge_request.iid})")) end - - def note_wall_email(recipient_id, note_id) - @note = Note.find(note_id) - @project = @note.project - @target_url = project_wall_url(@note.project, anchor: "note_#{@note.id}") - mail(from: sender(@note.author_id), - cc: recipient(recipient_id), - subject: subject("Note on wall")) - end end end diff --git a/app/models/event.rb b/app/models/event.rb index cf88e9f4afc..b88635ccb59 100644 --- a/app/models/event.rb +++ b/app/models/event.rb @@ -286,10 +286,6 @@ class Event < ActiveRecord::Base end.to_s end - def wall_note? - target.noteable_type.blank? - end - def note_target_type if target.noteable_type.present? target.noteable_type.titleize diff --git a/app/models/note.rb b/app/models/note.rb index dc8b968c3d2..659cd752071 100644 --- a/app/models/note.rb +++ b/app/models/note.rb @@ -251,10 +251,6 @@ class Note < ActiveRecord::Base for_merge_request? && for_diff_line? end - def for_wall? - noteable_type.blank? - end - # override to return commits, which are not active record def noteable if for_commit? @@ -295,8 +291,6 @@ class Note < ActiveRecord::Base def noteable_type_name if noteable_type.present? noteable_type.downcase - else - "wall" end end diff --git a/app/models/project.rb b/app/models/project.rb index f92cc40642a..e251c777d89 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -31,7 +31,6 @@ class Project < ActiveRecord::Base default_value_for :archived, false default_value_for :issues_enabled, true - default_value_for :wall_enabled, true default_value_for :merge_requests_enabled, true default_value_for :wiki_enabled, true default_value_for :snippets_enabled, true @@ -39,7 +38,7 @@ class Project < ActiveRecord::Base ActsAsTaggableOn.strict_case_match = true attr_accessible :name, :path, :description, :issues_tracker, :label_list, - :issues_enabled, :wall_enabled, :merge_requests_enabled, :snippets_enabled, :issues_tracker_id, + :issues_enabled, :merge_requests_enabled, :snippets_enabled, :issues_tracker_id, :wiki_enabled, :visibility_level, :import_url, :last_activity_at, as: [:default, :admin] attr_accessible :namespace_id, :creator_id, as: :admin @@ -98,7 +97,7 @@ class Project < ActiveRecord::Base exclusion: { in: Gitlab::Blacklist.path }, format: { with: Gitlab::Regex.path_regex, message: "only letters, digits & '_' '-' '.' allowed. Letter or digit should be first" } - validates :issues_enabled, :wall_enabled, :merge_requests_enabled, + validates :issues_enabled, :merge_requests_enabled, :wiki_enabled, inclusion: { in: [true, false] } validates :issues_tracker_id, length: { maximum: 255 }, allow_blank: true validates :namespace, presence: true diff --git a/app/observers/note_observer.rb b/app/observers/note_observer.rb index 9bb1f0f7b98..bb0b0876eca 100644 --- a/app/observers/note_observer.rb +++ b/app/observers/note_observer.rb @@ -3,12 +3,9 @@ class NoteObserver < BaseObserver notification.new_note(note) # Skip system notes, like status changes and cross-references. - # Skip wall notes to prevent spamming of dashboard - if note.noteable_type.present? && !note.system + unless note.system event_service.leave_note(note, note.author) - end - unless note.system? # Create a cross-reference note if this Note contains GFM that names an # issue, merge request, or commit. note.references.each do |mentioned| diff --git a/app/services/notification_service.rb b/app/services/notification_service.rb index 3547552df8e..650b6008db8 100644 --- a/app/services/notification_service.rb +++ b/app/services/notification_service.rb @@ -106,7 +106,6 @@ class NotificationService # TODO: split on methods and refactor # def new_note(note) - # ignore wall messages return true unless note.noteable_type.present? # ignore gitlab service messages diff --git a/app/services/projects/create_service.rb b/app/services/projects/create_service.rb index 7d322f25e44..3d2b9bf4875 100644 --- a/app/services/projects/create_service.rb +++ b/app/services/projects/create_service.rb @@ -19,7 +19,6 @@ module Projects default_opts = { issues_enabled: default_features.issues, wiki_enabled: default_features.wiki, - wall_enabled: default_features.wall, snippets_enabled: default_features.snippets, merge_requests_enabled: default_features.merge_requests, visibility_level: default_features.visibility_level diff --git a/app/views/layouts/nav/_project.html.haml b/app/views/layouts/nav/_project.html.haml index d7d330e2a61..dd48ff6ce38 100644 --- a/app/views/layouts/nav/_project.html.haml +++ b/app/views/layouts/nav/_project.html.haml @@ -36,10 +36,6 @@ = nav_link(controller: :wikis) do = link_to 'Wiki', project_wiki_path(@project, :home) - - if project_nav_tab? :wall - = nav_link(controller: :walls) do - = link_to 'Wall', project_wall_path(@project) - - if project_nav_tab? :snippets = nav_link(controller: :snippets) do = link_to 'Snippets', project_snippets_path(@project) diff --git a/app/views/notify/note_wall_email.html.haml b/app/views/notify/note_wall_email.html.haml deleted file mode 100644 index 2fa2f784661..00000000000 --- a/app/views/notify/note_wall_email.html.haml +++ /dev/null @@ -1 +0,0 @@ -= render 'note_message' diff --git a/app/views/notify/note_wall_email.text.erb b/app/views/notify/note_wall_email.text.erb deleted file mode 100644 index ee0dc3db1db..00000000000 --- a/app/views/notify/note_wall_email.text.erb +++ /dev/null @@ -1,9 +0,0 @@ -New message on the project wall <%= @note.project %> - -<%= url_for(project_wall_url(@note.project, anchor: "note_#{@note.id}")) %> - - -<%= @note.author_name %> - -<%= @note.note %> - diff --git a/app/views/projects/edit.html.haml b/app/views/projects/edit.html.haml index 59dcf3a6ff0..adc7316820d 100644 --- a/app/views/projects/edit.html.haml +++ b/app/views/projects/edit.html.haml @@ -74,13 +74,6 @@ %span.descr Pages for project documentation .form-group - = f.label :wall_enabled, "Wall", class: 'control-label' - .col-sm-10 - .checkbox - = f.check_box :wall_enabled - %span.descr Simple chat system for broadcasting inside project - - .form-group = f.label :snippets_enabled, "Snippets", class: 'control-label' .col-sm-10 .checkbox diff --git a/app/views/projects/walls/show.html.haml b/app/views/projects/walls/show.html.haml deleted file mode 100644 index 3e3c7c4f8dd..00000000000 --- a/app/views/projects/walls/show.html.haml +++ /dev/null @@ -1,23 +0,0 @@ -%div.wall-page - %ul.notes - - - if can? current_user, :write_note, @project - .note-form-holder - = form_for [@project, @note], remote: true, html: { multipart: true, id: nil, class: "new_note wall-note-form" }, authenticity_token: true do |f| - = note_target_fields - .note_text_and_preview - = f.text_area :note, size: 255, class: 'note_text js-note-text js-gfm-input turn-on' - .note-form-actions - .buttons - = f.submit 'Add Comment', class: "btn comment-btn btn-grouped js-comment-button" - - .note-form-option - %a.choose-btn.btn.btn-small.js-choose-note-attachment-button - %i.icon-paper-clip - %span Choose File ... - - %span.file_name.js-attachment-filename File name... - = f.file_field :attachment, class: "js-note-attachment-input hidden" - - .hint.pull-right CTRL + Enter to send message - .clearfix |