adding all of botlist, initial add
[botlist.git] / openbotlist / WEB-INF / jsps / search / addtopics.rb
blobe92455ff90ce45ae6b44f44f6f5e1bbcffd25886
1 ##\r
2 ## Berlin Brown\r
3 ## 8/20/2007\r
4 ##\r
5 ## Add topic is only available for logged in users.\r
6 \r
7 require 'java'\r
8 \r
9 require File.join(File.dirname(__FILE__), '../../WEB-INF/lib/ruby/web', 'web_core')\r
11 include_class 'org.spirit.spring.validate.BotListAddTopicValidator' unless defined? BotListAddTopicValidator\r
12 include_class 'org.spirit.contract.BotListContractManager' unless defined? BotListContractManager\r
13 include_class 'org.spirit.form.BotListSearchQueryFiltersForm' unless defined? BotListSearchQueryFiltersForm\r
14 include_class 'org.spirit.bean.impl.BotListSearchQueryFilters' unless defined? BotListSearchQueryFilters\r
16 class AddTopicController\r
17                 \r
18   def initialize(controller)\r
19         @log = LogFactory::getLog("org.jruby")\r
20     @controller = controller\r
21     @daohelper = @controller.searchQueryFiltersDao\r
22   end    \r
23   \r
24   def getModel(request)\r
25     topicForm = BotListSearchQueryFiltersForm.new\r
26     topicForm.viewName = nil\r
27     \r
28     if !BotListWebCore.userLoggedIn?(request)\r
29                 topicForm.viewName = "errorInvalidView"\r
30                 return topicForm\r
31         end\r
32     \r
33     queryLine = request.getParameter("query")\r
34     topicForm.searchTerm = queryLine\r
35     \r
36         # Audit the request\r
37         @controller.auditLogPage(request, "addtopic.html")\r
38     \r
39     # Also set the validator\r
40     @controller.setValidator(BotListAddTopicValidator.new)        \r
41     return topicForm\r
42   end\r
44   def onSubmit(request, response, form, errors)\r
45     # Check the errors first.\r
46     if errors.getErrorCount() > 0\r
47       # Revert back to the entry screen\r
48       form.viewName = "search/addtopic"\r
49       return form\r
50     end\r
51     \r
52     # Transform the business object from the form.\r
53         topic = BotListSearchQueryFilters.new\r
54     topic.rating = 0; topic.views = 0\r
55         topic.userId = 1; topic.userName = "blah"\r
56         topic.description  = form.description\r
57         topic.searchTerm = form.searchTerm      \r
58     # Save hot topic record    \r
59     begin\r
60       sessionFactory = @daohelper.getSessionFactory()\r
61       hbm_session = sessionFactory.openSession()\r
62       tx = hbm_session.beginTransaction()\r
63       hbm_session.save(topic)\r
64       tx.commit()\r
65     rescue Exception => e\r
66       @log.error(e)\r
67       raise e.message\r
68     ensure\r
69       hbm_session.close()\r
70     end\r
71         # Navigate to the confirmation page\r
72     form.viewName = "botverse/botverse_confirm"\r
73     return form\r
74     # End of the method\r
75   end\r
76   # End of class\r
77 end\r
79 AddTopicController.new($controller)\r
81 ## End of Script ##\r