summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMrYummy <elemental428@gmail.com>2017-06-12 21:40:33 +0200
committerMrYummy <elemental428@gmail.com>2017-06-12 21:40:33 +0200
commit32231e4eea55953ebcedcc2a826d5126729ae5ef (patch)
treefdf9e4d4a3001e467769156c0c2d7ea5ff384ce5
parent895e56ff0671f23c14e1a74d7e168126a9399c36 (diff)
Updated user_target autocomplete regex, removed unnecessary permission check
-rw-r--r--app/assets/javascripts/editor.js42
-rw-r--r--app/assets/stylesheets/.style.css.scss.swpbin36864 -> 0 bytes
-rw-r--r--app/assets/stylesheets/style.css.scss1
-rw-r--r--app/controllers/messages_controller.rb14
-rw-r--r--app/views/application/_md_editor_user.html.erb2
5 files changed, 43 insertions, 16 deletions
diff --git a/app/assets/javascripts/editor.js b/app/assets/javascripts/editor.js
index 4b35aea..4f4de5d 100644
--- a/app/assets/javascripts/editor.js
+++ b/app/assets/javascripts/editor.js
@@ -88,5 +88,45 @@ $(function() {
}], {
debounce: 300
});
+ $('.md_editor .field_container_user .editor_field').textcomplete([{
+ // match up to 2 words (everything except some special characters)
+ // each word can have up to 16 characters (up to 32 total)
+ // words must be separated by a single space
+ match: /(^|\s)([^!"ยง$%&\/()=?.,;+*@\s]{1,16})$/,
+ search: function (text, callback, match) {
+ console.log("Searching " + text);
+ text = text.toLowerCase();
+ $.ajax("/users/suggestions", {
+ type: "post",
+ data: {name: text},
+ dataType: "json",
+ headers: {
+ "X-CSRF-Token": $('meta[name="csrf-token"]').attr("content")
+ },
+ success: function(data) {
+ callback(data);
+ },
+ error: function(xhr, status, err) {
+ console.error(err);
+ callback([]);
+ }
+ });
+ },
+ template: function(user) {
+ var name = user[0];
+ var ign = user[1];
+ if (name != ign) {
+ return name + " <small>(" + ign + ")</small>";
+ } else {
+ return ign;
+ }
+ },
+ cache: true,
+ replace: function (word) {
+ return "$1" + word[1] + " ";
+ }
+ }], {
+ debounce: 300
+ });
-}); \ No newline at end of file
+});
diff --git a/app/assets/stylesheets/.style.css.scss.swp b/app/assets/stylesheets/.style.css.scss.swp
deleted file mode 100644
index cb49b61..0000000
--- a/app/assets/stylesheets/.style.css.scss.swp
+++ /dev/null
Binary files differ
diff --git a/app/assets/stylesheets/style.css.scss b/app/assets/stylesheets/style.css.scss
index de55b5b..2682f91 100644
--- a/app/assets/stylesheets/style.css.scss
+++ b/app/assets/stylesheets/style.css.scss
@@ -481,7 +481,6 @@ blockquote p {
}
}
.field_container_user {
- position: relative;
.editor_field {
}
}
diff --git a/app/controllers/messages_controller.rb b/app/controllers/messages_controller.rb
index 6655ea6..7deaeed 100644
--- a/app/controllers/messages_controller.rb
+++ b/app/controllers/messages_controller.rb
@@ -1,7 +1,5 @@
class MessagesController < ApplicationController
- before_filter :check_permission, only: :destroy
-
def index
if current_user
@messages = Message.where(user_target: current_user).page(params[:page])
@@ -67,19 +65,9 @@ class MessagesController < ApplicationController
end
def message_params(add = [])
- params[:message][:user_target_id] = User.find_by(ign: params[:message][:user_target].gsub(/[@ ]/,"")).try(:id)
+ params[:message][:user_target_id] = User.find_by(ign: params[:message][:user_target].strip).try(:id)
params[:message][:user_sender_id] = User.find_by(ign: params[:message][:user_sender]).id
params.require(:message).permit([:text, :user_target_id, :user_sender_id])
end
-
- private
-
- def check_permission
- @message = Message.find(params[:id])
- unless @message.user_target == current_user
- flash[:alert] = "You are not allowed to view this message"
- redirect_to home_statics_path
- end
- end
end
diff --git a/app/views/application/_md_editor_user.html.erb b/app/views/application/_md_editor_user.html.erb
index 950b962..d799fce 100644
--- a/app/views/application/_md_editor_user.html.erb
+++ b/app/views/application/_md_editor_user.html.erb
@@ -2,7 +2,7 @@
<div class="field_container_user">
<% options = (defined?(options) && options || {}) %>
<% options[:class] = "#{options[:class]} editor_field" %>
- <% options[:placeholder] ||= "Enter user's name. prefix with \"@\" to get suggestions." %>
+ <% options[:placeholder] ||= "Enter user's name." %>
<%= text_field_tag name, content, options %>
</div>
</div>