0
@@ -49,12 +49,21 @@ Request.table_name = "requests" # do this because of the anonymous module crap
0
class RequestPlugin < PluginBase
0
TIME_FORMAT = "%a %b %d %H:%M:%S %Z %Y"
0
+ def self.send_request_list(hub, user, requests)
0
+ format = " #%-4d \"%s\" by %s - %s"
0
+ requests.each do |request|
0
+ message = format % [request.id, request.request, request.submitter, request.created_at.strftime(TIME_FORMAT)]
0
+ message << " - claimed by #{request.claimer}" if request.claimer
0
+ hub.sendPrivateMessage(user, message)
0
def self.cmd_request(socket, sender, isprivate, args)
0
HelpPlugin.send_usage(socket, sender, "request")
0
- arghelp, desc = cmd_request_help
0
request = Request.new(:request => args, :submitter => sender)
0
@@ -77,18 +86,10 @@ class RequestPlugin < PluginBase
0
claimedRequests = openRequests.select { |req| req.claimer? }
0
unclaimedRequests = openRequests.reject { |req| req.claimer? }
0
- format = " #%-4d \"%s\" by %s - %s"
0
socket.sendPrivateMessage(sender, "Claimed requests:") unless claimedRequests.blank?
0
- claimedRequests.each do |request|
0
- message = format % [request.id, request.request, request.submitter, request.created_at.strftime(TIME_FORMAT)]
0
- message << " - claimed by #{request.claimer}"
0
- socket.sendPrivateMessage(sender, message)
0
+ send_request_list socket, sender, claimedRequests
0
socket.sendPrivateMessage(sender, "Unclaimed requests:") unless unclaimedRequests.blank?
0
- unclaimedRequests.each do |request|
0
- message = format % [request.id, request.request, request.submitter, request.created_at.strftime(TIME_FORMAT)]
0
- socket.sendPrivateMessage(sender, message)
0
+ send_request_list socket, sender, unclaimedRequests
0
@@ -259,4 +260,22 @@ class RequestPlugin < PluginBase
0
def self.cmd_delete_help
0
["RequestNum", "Deletes a request you submitted. ex. #{CMD_PREFIX}delete 12"]
0
+ def self.cmd_search(hub, sender, isprivate, args)
0
+ HelpPlugin.send_usage(hub, sender, "search")
0
+ requests = Request.find(:all, :conditions => ["filled_at IS NULL and request LIKE ?", "%#{args}%"])
0
+ if requests.blank? then
0
+ hub.sendPrivateMessage(sender, "No requests matched your query")
0
+ hub.sendPrivateMessage(sender, "Matched requests:")
0
+ send_request_list hub, sender, requests
0
+ def self.cmd_search_help
0
+ ["SearchString", "Searches all requests for those matching SearchString"]
Comments
No one has commented yet.