Guest User

Untitled

a guest
Jun 21st, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.03 KB | None | 0 0
  1. <%= stylesheet_link_tag 'jquery.rte.css' %>
  2. <script type="text/javascript">
  3. function changeHeader(title, value)
  4. {
  5. var elt = document.getElementById(title);
  6. elt.innerHTML = value;
  7. }
  8.  
  9. $(function() {
  10. $("#task_due").datepicker();
  11. });
  12.  
  13. function prioritySelected(priority)
  14. {
  15. $('#task_priority_id').val(priority);
  16. }
  17.  
  18. function statusSelected(status)
  19. {
  20. $('#new_task_status_id').val(status);
  21. }
  22.  
  23. function userSelected(user)
  24. {
  25. var ids = $('#task_user_ids').val() + user + ",";
  26. alert(ids);
  27. $('#task_user_ids').val(ids);
  28. }
  29. </script>
  30.  
  31. <% form_for(@task) do |f| %>
  32. <%= f.error_messages %>
  33.  
  34. <table cellspacing=0 cellpadding=0 style="border:0;">
  35. <tbody style="border:0;">
  36. <tr>
  37. <td style="border:0;"><%= f.label :priority %></td>
  38. <td style="border:0;" align="left">
  39. <div class="fg-buttonset fg-buttonset-single">
  40. <% @priorities = Priority.find(:all)
  41. @priorities.each { |priority| %>
  42. <button type="button" onclick="prioritySelected(<%= priority.id %>);" class="fg-button ui-state-default
  43. <% if (@priorities.index(priority) == 0) %>
  44. ui-corner-left
  45. <% elsif (@priorities.index(priority) == @priorities.length-1) %>
  46. ui-corner-right
  47. <% end %>
  48. "><%= priority.name %></button>
  49. <% } %>
  50. </div>
  51. </td>
  52. </tr>
  53. <tr>
  54. <td style="border:0;"><%= f.label :status %></td>
  55. <td style="border:0;" align="left">
  56. <div class="fg-buttonset fg-buttonset-single">
  57. <% @statuses = Status.find(:all)
  58. @statuses.each { |status| if (status.name != "Inactive") %>
  59. <button type="button" onclick="statusSelected(<%= status.id %>);" class="fg-button ui-state-default
  60. <% if (@statuses.index(status) == 0) %>
  61. ui-corner-left
  62. <% elsif (@statuses.index(status) == @statuses.length-1) %>
  63. ui-corner-right
  64. <% end %>
  65. "><%= status.name %></button>
  66. <% end } %>
  67. </div>
  68. </td>
  69. </tr>
  70. <tr>
  71. <td style="border:0;"><%= f.label :due %></td>
  72. <td style="border:0;" align="left"><%= f.text_field :due %></td>
  73. </tr>
  74. <tr>
  75. <td style="border:0">Assignee:</td>
  76. <td style="border:0" align="left">
  77. <div class="fg-buttonset fg-buttonset-multi">
  78. <% @users = User.find(:all)
  79. @users.each { |user| %>
  80. <button type="button" onclick="userSelected(<%= user.id %>);" class="fg-button ui-state-default
  81. <% if (@users.index(user) == 0) %>
  82. ui-corner-left
  83. <% elsif (@users.index(user) == @users.length-1) %>
  84. ui-corner-right
  85. <% end %>
  86. "><%= user.name %></button>
  87. <% } %>
  88. </div>
  89. </td>
  90. </tr>
  91. <tr>
  92. <td style="border:0;" colspan=4 align="left" valign="top">
  93. <%= f.label :description %>
  94. <%= f.text_area :description, :id => "desc-area" %>
  95. </td>
  96. </tr>
  97.  
  98. </tbody>
  99. <tfoot style="border:0;">
  100. <tr>
  101. <td style="border:0;" align="right" colspan=4>
  102. <button id="create-button" type="submit" class="fg-create-button ui-state-default">Create</button>
  103. </td>
  104. </tr>
  105. </tfoot>
  106. </table>
  107.  
  108. <input id="new_task_status_id" name="task[status_id]" type="hidden" />
  109. <input id="task_user_id" name="task[user_id]" type="hidden" />
  110. <input id="task_priority_id" name="task[priority_id]" type="hidden" />
  111. <input id="task_assigner_id" name="task[assigner_id]" type="hidden" value="<%= cookies[:currentUserId] %>" />
  112. <input id="task_user_ids" name="user_ids" id="user_ids" type="hidden" value="" />
  113. <% end %>
  114.  
  115. <%= javascript_include_tag 'jquery.rte.js' %>
  116. <%= javascript_include_tag 'jquery.rte.tb.js' %>
  117. <script type="text/javascript">
  118. $(function(){
  119. $('#desc-area').rte({
  120. controls_rte: rte_toolbar,
  121. controls_html: html_toolbar,
  122. width: 475,
  123. height: 200
  124. });
  125.  
  126. //all hover and click logic for buttons
  127. $(".fg-button:not(.ui-state-disabled)")
  128. .hover(
  129. function(){
  130. $(this).addClass("ui-state-hover");
  131. },
  132. function(){
  133. $(this).removeClass("ui-state-hover");
  134. }
  135. )
  136. .mousedown(function(){
  137. $(this).parents('.fg-buttonset-single:first').find(".fg-button.ui-state-active").removeClass("ui-state-active");
  138. if( $(this).is('.ui-state-active.fg-button-toggleable, .fg-buttonset-multi .ui-state-active') ){ $(this).removeClass("ui-state-active"); }
  139. else { $(this).addClass("ui-state-active"); }
  140. })
  141. .mouseup(function(){
  142. if(! $(this).is('.fg-button-toggleable, .fg-buttonset-single .fg-button, .fg-buttonset-multi .fg-button') ){
  143. $(this).removeClass("ui-state-active");
  144. }
  145. });
  146. });
  147. </script>
  148.  
  149. ## controller.rb
  150.  
  151. class TasksController < ApplicationController
  152. # GET /tasks
  153. # GET /tasks.xml
  154. def index
  155. @userParam = params[:viewUser];
  156. if (!@userParam)
  157. @userParam = "all";
  158. end
  159.  
  160. @statusParam = params[:viewStatus];
  161. if (!@statusParam)
  162. @statusParam = "active";
  163. end
  164.  
  165. @doneIdx = 3
  166. # Status.find(:first, :conditions => { :name => "Done"}).id
  167. @inactIdx = 2
  168. # Status.find(:first, :conditions => { :name => "Inactive"}).id
  169.  
  170. @sqlQuery = "";
  171. if (@userParam && @userParam != "all")
  172. @sqlQuery += " user_id = #{@userParam} AND "
  173. end
  174. if (@statusParam && @statusParam != "active")
  175. @sqlQuery += " status_id = #{@statusParam} AND "
  176. end
  177.  
  178. if (@statusParam == "active")
  179. @sqlQuery += " status_id NOT IN (#{@doneIdx}, #{@inactIdx})"
  180. else
  181. @sqlQuery += " status_id NOT IN (#{@inactIdx})"
  182. end
  183.  
  184. @tasks = Task.find(:all, :conditions => @sqlQuery)
  185.  
  186. respond_to do |format|
  187. format.html # index.html.erb
  188. format.xml { render :xml => @tasks }
  189. end
  190. end
  191.  
  192. # GET /tasks/1
  193. # GET /tasks/1.xml
  194. def show
  195. @task = Task.find(params[:id])
  196.  
  197. respond_to do |format|
  198. format.html
  199. format.xml { render :xml => @task }
  200. end
  201. end
  202.  
  203. # GET /tasks/new
  204. # GET /tasks/new.xml
  205. def new
  206. @task = Task.new
  207.  
  208. respond_to do |format|
  209. format.html { render :layout => false }
  210. format.xml { render :xml => @task }
  211. end
  212. end
  213.  
  214. # GET /tasks/1/edit
  215. def edit
  216. @task = Task.find(params[:id])
  217. @viewUser = params[:viewUser]
  218. @viewStatus = params[:viewStatus]
  219.  
  220. render :layout => false
  221. end
  222.  
  223. # POST /tasks
  224. # POST /tasks.xml
  225. def create
  226. if (params[:userId])
  227. cookies[:currentUserId] = params[:userId]
  228. cookies[:currentUserName] = params[:userName]
  229.  
  230. redirect_to(tasks_url)
  231. else
  232. @task = Task.new(params[:task])
  233. @ids = params[:user_ids].split(',')
  234. for id in @ids
  235. @task.user_ids << id.to_i
  236. end
  237.  
  238. respond_to do |format|
  239. if @task.save
  240. format.html { redirect_to(tasks_url) }
  241. else
  242. format.html { render :action => "new" }
  243. end
  244. end
  245. end
  246. end
  247.  
  248. # PUT /tasks/1
  249. # PUT /tasks/1.xml
  250. def update
  251. @task = Task.find(params[:id])
  252. @task.users = User.find(params[:user_ids]) if (params[:user_ids])
  253.  
  254. respond_to do |format|
  255. if @task.update_attributes(params[:task])
  256. if (@task.status_id == 2)
  257. @user = User.find(:first, :conditions => { :id => @task.assigner_id })
  258. Notifier.deliver_task_finished_notification(@me, @task)
  259. end
  260. if (params[:viewUser])
  261. format.html { redirect_to tasks_url(:viewUser => params[:viewUser], :viewStatus => params[:viewStatus]) }
  262. elsif (!params[:dont_redirect])
  263. format.html { redirect_to(@task) }
  264. format.xml { head :ok }
  265. end
  266. else
  267. format.html { render :action => "edit" }
  268. format.xml { render :xml => @task.errors, :status => :unprocessable_entity }
  269. end
  270. end
  271. end
  272.  
  273. # DELETE /tasks/1
  274. # DELETE /tasks/1.xml
  275. def destroy
  276. @task = Task.find(params[:id])
  277. @task.destroy
  278.  
  279. respond_to do |format|
  280. format.html { redirect_to(tasks_url) }
  281. format.xml { head :ok }
  282. end
  283. end
  284.  
  285. def complete
  286. @task = Task.find(params[:id])
  287. @task.status_id = 4;
  288. @task.save
  289.  
  290. logger.debug "Completed called!"
  291.  
  292. end
  293. end
Add Comment
Please, Sign In to add comment