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,
|
||||
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
|
||||
|
||||
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
|
||||
put "/assign" => "assign#assign"
|
||||
put "/unassign" => "assign#unassign"
|
||||
|
@ -336,6 +352,8 @@ SQL
|
|||
|
||||
Discourse::Application.routes.append do
|
||||
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
|
||||
|
||||
|
|
Loading…
Reference in New Issue