FEATURE: use topic list format for assigned
FEATURE: ability to see assigned messages
This commit is contained in:
parent
32767b5553
commit
7c3e0c6547
|
@ -0,0 +1,6 @@
|
||||||
|
export default {
|
||||||
|
resource: 'user.userPrivateMessages',
|
||||||
|
map() {
|
||||||
|
this.route('assigned');
|
||||||
|
}
|
||||||
|
};
|
|
@ -0,0 +1,3 @@
|
||||||
|
{{#link-to 'userPrivateMessages.assigned' model}}
|
||||||
|
{{i18n 'discourse_assign.assigned'}}
|
||||||
|
{{/link-to}}
|
|
@ -0,0 +1,7 @@
|
||||||
|
export default {
|
||||||
|
shouldRender(args, component) {
|
||||||
|
const needsButton = component.currentUser && component.currentUser.get('staff');
|
||||||
|
return needsButton && (!component.get('site.mobileView') || args.topic.get('isPrivateMessage'));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
import UserActivityStreamRoute from "discourse/routes/user-activity-stream";
|
import UserTopicListRoute from "discourse/routes/user-topic-list";
|
||||||
|
|
||||||
export default UserActivityStreamRoute.extend({
|
export default UserTopicListRoute.extend({
|
||||||
userActionType: 16,
|
userActionType: 16,
|
||||||
noContentHelpKey: "discourse_assigns.no_assigns"
|
noContentHelpKey: "discourse_assigns.no_assigns",
|
||||||
|
model: function() {
|
||||||
|
return this.store.findFiltered('topicList', {filter: 'latest', params: {assigned: this.modelFor('user').get('username_lower') }});
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
import createPMRoute from "discourse/routes/build-private-messages-route";
|
||||||
|
|
||||||
|
export default createPMRoute('assigned', 'private-messages-assigned');
|
18
plugin.rb
18
plugin.rb
|
@ -329,6 +329,22 @@ SQL
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
require_dependency 'topic_query'
|
||||||
|
class ::TopicQuery
|
||||||
|
def list_private_messages_assigned(user)
|
||||||
|
list = private_messages_for(user, :user)
|
||||||
|
list = list.where("topics.id IN (
|
||||||
|
SELECT topic_id FROM topic_custom_fields WHERE name = 'assigned_to_id' AND value = ?
|
||||||
|
)", user.id.to_s)
|
||||||
|
create_list(:private_messages, {}, list)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
require_dependency 'list_controller'
|
||||||
|
class ::ListController
|
||||||
|
generate_message_route(:private_messages_assigned)
|
||||||
|
end
|
||||||
|
|
||||||
DiscourseAssign::Engine.routes.draw do
|
DiscourseAssign::Engine.routes.draw do
|
||||||
put "/assign" => "assign#assign"
|
put "/assign" => "assign#assign"
|
||||||
put "/unassign" => "assign#unassign"
|
put "/unassign" => "assign#unassign"
|
||||||
|
@ -336,6 +352,8 @@ SQL
|
||||||
|
|
||||||
Discourse::Application.routes.append do
|
Discourse::Application.routes.append do
|
||||||
mount ::DiscourseAssign::Engine, at: "/assign"
|
mount ::DiscourseAssign::Engine, at: "/assign"
|
||||||
|
get "topics/private-messages-assigned/:username" => "list#private_messages_assigned",
|
||||||
|
as: "topics_private_messages_assigned", constraints: {username: /[\w.\-]+?/}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue