Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <%= stylesheet_link_tag 'jquery.rte.css' %>
- <script type="text/javascript">
- function changeHeader(title, value)
- {
- var elt = document.getElementById(title);
- elt.innerHTML = value;
- }
- $(function() {
- $("#task_due").datepicker();
- });
- function prioritySelected(priority)
- {
- $('#task_priority_id').val(priority);
- }
- function statusSelected(status)
- {
- $('#new_task_status_id').val(status);
- }
- function userSelected(user)
- {
- var ids = $('#task_user_ids').val() + user + ",";
- alert(ids);
- $('#task_user_ids').val(ids);
- }
- </script>
- <% form_for(@task) do |f| %>
- <%= f.error_messages %>
- <table cellspacing=0 cellpadding=0 style="border:0;">
- <tbody style="border:0;">
- <tr>
- <td style="border:0;"><%= f.label :priority %></td>
- <td style="border:0;" align="left">
- <div class="fg-buttonset fg-buttonset-single">
- <% @priorities = Priority.find(:all)
- @priorities.each { |priority| %>
- <button type="button" onclick="prioritySelected(<%= priority.id %>);" class="fg-button ui-state-default
- <% if (@priorities.index(priority) == 0) %>
- ui-corner-left
- <% elsif (@priorities.index(priority) == @priorities.length-1) %>
- ui-corner-right
- <% end %>
- "><%= priority.name %></button>
- <% } %>
- </div>
- </td>
- </tr>
- <tr>
- <td style="border:0;"><%= f.label :status %></td>
- <td style="border:0;" align="left">
- <div class="fg-buttonset fg-buttonset-single">
- <% @statuses = Status.find(:all)
- @statuses.each { |status| if (status.name != "Inactive") %>
- <button type="button" onclick="statusSelected(<%= status.id %>);" class="fg-button ui-state-default
- <% if (@statuses.index(status) == 0) %>
- ui-corner-left
- <% elsif (@statuses.index(status) == @statuses.length-1) %>
- ui-corner-right
- <% end %>
- "><%= status.name %></button>
- <% end } %>
- </div>
- </td>
- </tr>
- <tr>
- <td style="border:0;"><%= f.label :due %></td>
- <td style="border:0;" align="left"><%= f.text_field :due %></td>
- </tr>
- <tr>
- <td style="border:0">Assignee:</td>
- <td style="border:0" align="left">
- <div class="fg-buttonset fg-buttonset-multi">
- <% @users = User.find(:all)
- @users.each { |user| %>
- <button type="button" onclick="userSelected(<%= user.id %>);" class="fg-button ui-state-default
- <% if (@users.index(user) == 0) %>
- ui-corner-left
- <% elsif (@users.index(user) == @users.length-1) %>
- ui-corner-right
- <% end %>
- "><%= user.name %></button>
- <% } %>
- </div>
- </td>
- </tr>
- <tr>
- <td style="border:0;" colspan=4 align="left" valign="top">
- <%= f.label :description %>
- <%= f.text_area :description, :id => "desc-area" %>
- </td>
- </tr>
- </tbody>
- <tfoot style="border:0;">
- <tr>
- <td style="border:0;" align="right" colspan=4>
- <button id="create-button" type="submit" class="fg-create-button ui-state-default">Create</button>
- </td>
- </tr>
- </tfoot>
- </table>
- <input id="new_task_status_id" name="task[status_id]" type="hidden" />
- <input id="task_user_id" name="task[user_id]" type="hidden" />
- <input id="task_priority_id" name="task[priority_id]" type="hidden" />
- <input id="task_assigner_id" name="task[assigner_id]" type="hidden" value="<%= cookies[:currentUserId] %>" />
- <input id="task_user_ids" name="user_ids" id="user_ids" type="hidden" value="" />
- <% end %>
- <%= javascript_include_tag 'jquery.rte.js' %>
- <%= javascript_include_tag 'jquery.rte.tb.js' %>
- <script type="text/javascript">
- $(function(){
- $('#desc-area').rte({
- controls_rte: rte_toolbar,
- controls_html: html_toolbar,
- width: 475,
- height: 200
- });
- //all hover and click logic for buttons
- $(".fg-button:not(.ui-state-disabled)")
- .hover(
- function(){
- $(this).addClass("ui-state-hover");
- },
- function(){
- $(this).removeClass("ui-state-hover");
- }
- )
- .mousedown(function(){
- $(this).parents('.fg-buttonset-single:first').find(".fg-button.ui-state-active").removeClass("ui-state-active");
- if( $(this).is('.ui-state-active.fg-button-toggleable, .fg-buttonset-multi .ui-state-active') ){ $(this).removeClass("ui-state-active"); }
- else { $(this).addClass("ui-state-active"); }
- })
- .mouseup(function(){
- if(! $(this).is('.fg-button-toggleable, .fg-buttonset-single .fg-button, .fg-buttonset-multi .fg-button') ){
- $(this).removeClass("ui-state-active");
- }
- });
- });
- </script>
- ## controller.rb
- class TasksController < ApplicationController
- # GET /tasks
- # GET /tasks.xml
- def index
- @userParam = params[:viewUser];
- if (!@userParam)
- @userParam = "all";
- end
- @statusParam = params[:viewStatus];
- if (!@statusParam)
- @statusParam = "active";
- end
- @doneIdx = 3
- # Status.find(:first, :conditions => { :name => "Done"}).id
- @inactIdx = 2
- # Status.find(:first, :conditions => { :name => "Inactive"}).id
- @sqlQuery = "";
- if (@userParam && @userParam != "all")
- @sqlQuery += " user_id = #{@userParam} AND "
- end
- if (@statusParam && @statusParam != "active")
- @sqlQuery += " status_id = #{@statusParam} AND "
- end
- if (@statusParam == "active")
- @sqlQuery += " status_id NOT IN (#{@doneIdx}, #{@inactIdx})"
- else
- @sqlQuery += " status_id NOT IN (#{@inactIdx})"
- end
- @tasks = Task.find(:all, :conditions => @sqlQuery)
- respond_to do |format|
- format.html # index.html.erb
- format.xml { render :xml => @tasks }
- end
- end
- # GET /tasks/1
- # GET /tasks/1.xml
- def show
- @task = Task.find(params[:id])
- respond_to do |format|
- format.html
- format.xml { render :xml => @task }
- end
- end
- # GET /tasks/new
- # GET /tasks/new.xml
- def new
- @task = Task.new
- respond_to do |format|
- format.html { render :layout => false }
- format.xml { render :xml => @task }
- end
- end
- # GET /tasks/1/edit
- def edit
- @task = Task.find(params[:id])
- @viewUser = params[:viewUser]
- @viewStatus = params[:viewStatus]
- render :layout => false
- end
- # POST /tasks
- # POST /tasks.xml
- def create
- if (params[:userId])
- cookies[:currentUserId] = params[:userId]
- cookies[:currentUserName] = params[:userName]
- redirect_to(tasks_url)
- else
- @task = Task.new(params[:task])
- @ids = params[:user_ids].split(',')
- for id in @ids
- @task.user_ids << id.to_i
- end
- respond_to do |format|
- if @task.save
- format.html { redirect_to(tasks_url) }
- else
- format.html { render :action => "new" }
- end
- end
- end
- end
- # PUT /tasks/1
- # PUT /tasks/1.xml
- def update
- @task = Task.find(params[:id])
- @task.users = User.find(params[:user_ids]) if (params[:user_ids])
- respond_to do |format|
- if @task.update_attributes(params[:task])
- if (@task.status_id == 2)
- @user = User.find(:first, :conditions => { :id => @task.assigner_id })
- Notifier.deliver_task_finished_notification(@me, @task)
- end
- if (params[:viewUser])
- format.html { redirect_to tasks_url(:viewUser => params[:viewUser], :viewStatus => params[:viewStatus]) }
- elsif (!params[:dont_redirect])
- format.html { redirect_to(@task) }
- format.xml { head :ok }
- end
- else
- format.html { render :action => "edit" }
- format.xml { render :xml => @task.errors, :status => :unprocessable_entity }
- end
- end
- end
- # DELETE /tasks/1
- # DELETE /tasks/1.xml
- def destroy
- @task = Task.find(params[:id])
- @task.destroy
- respond_to do |format|
- format.html { redirect_to(tasks_url) }
- format.xml { head :ok }
- end
- end
- def complete
- @task = Task.find(params[:id])
- @task.status_id = 4;
- @task.save
- logger.debug "Completed called!"
- end
- end
Add Comment
Please, Sign In to add comment