Continue sloughing through screens - warvox - VoIP based wardialing tool, forked from rapid7/warvox.
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
---
(DIR) commit 267f835bb1298e0aafcfa095971be2f03573f3bd
(DIR) parent 951083434c6a1646d60513f8a2b5810ee03f5136
(HTM) Author: HD Moore <hd_moore@rapid7.com>
Date: Sun, 13 Jan 2013 16:28:01 -0600
Continue sloughing through screens
Diffstat:
A app/assets/javascripts/analyze/_in… | 58 ++++++++++++++++++++++++++++++
A app/views/analyze/_index.json.erb | 17 +++++++++++++++++
A app/views/jobs/new_analyze.html.erb | 12 ++++++++++++
3 files changed, 87 insertions(+), 0 deletions(-)
---
(DIR) diff --git a/app/assets/javascripts/analyze/_index.coffee b/app/assets/javascripts/analyze/_index.coffee
@@ -0,0 +1,58 @@
+jQuery ($) ->
+ $ ->
+ resultsPath = $('#results-path').html()
+ $resultsTable = $('#results-table')
+
+ # Enable DataTable for the results list.
+ $resultsDataTable = $resultsTable.table
+ analysisTab: true
+ controlBarLocation: $('.analysis-control-bar')
+ searchInputHint: 'Search Calls'
+ searchable: true
+ datatableOptions:
+ "sDom": "<'row'<'span6'l><'span6'f>r>t<'row'<'span6'i><'span6'p>>",
+ "sPaginationType": "bootstrap",
+ "oLanguage":
+ "sEmptyTable": "No analysis results."
+ "sAjaxSource": resultsPath
+ "aaSorting": [[1, 'asc']]
+ "aoColumns": [
+ {"mDataProp": "checkbox", "bSortable": false, "sWidth": "22px"}
+ {"mDataProp": "number"}
+ {"mDataProp": "line_type"}
+ {"mDataProp": "signal"}
+ ]
+ "fnServerData": ( sSource, aoData, fnCallback ) ->
+ $.getJSON sSource, aoData, (json) ->
+ fnCallback(json)
+ $(".xtooltip").tooltip('fixTitle')
+ $(".xpopover").popover
+ html: true
+ placement: 'right'
+ trigger: 'hover'
+ delay: { show: 300, hide: 300 }
+ animation: false
+
+ # Gray out the table during loads.
+ $("#results-table_processing").watch 'visibility', ->
+ if $(this).css('visibility') == 'visible'
+ $resultsTable.css opacity: 0.6
+ else
+ $resultsTable.css opacity: 1
+
+ # Display the search bar when the search icon is clicked
+ $('.button .search').click (e) ->
+ $filter = $('.dataTables_filter')
+ $input = $('.dataTables_filter input')
+ if $filter.css('bottom').charAt(0) == '-' # if (css matches -42px)
+ # input box is visible, hide it
+ # only allow user to hide if there is no search string
+ if !$input.val() || $input.val().length < 1
+ $filter.css('bottom', '99999999px')
+ else # input box is invisible, display it
+ $filter.css('bottom', '-42px')
+ $input.focus() # auto-focus input
+ e.preventDefault()
+
+ searchVal = $('.dataTables_filter input').val()
+ $('.button .search').click() if searchVal && searchVal.length > 0
(DIR) diff --git a/app/views/analyze/_index.json.erb b/app/views/analyze/_index.json.erb
@@ -0,0 +1,17 @@
+<%- self.formats = ["html"] %>
+{
+ "sEcho": <%= echo_data_tables %>,
+ "iTotalRecords": <%= @results_total_count.to_json %>,
+ "iTotalDisplayRecords": <%= @results_total_display_count.to_json %>,
+ "aaData": [
+ <% @results.each_with_index do |result, index| -%>
+ {
+ "DT_RowId": <%= dom_id(result).to_json.html_safe%>,
+ "checkbox": <%= call_checkbox_tag(result) %>,
+ "number": "<%= raw(escape_javascript_dq(render(:partial => 'shared/call_info', :layout => false, :locals => { :call => result }))) %>",
+ "line_type": "<%= raw(escape_javascript_dq(render(:partial => 'shared/call_type', :layout => false, :locals => { :call => result }))) %>",
+ "signal": "<%= raw(escape_javascript_dq(render(:partial => 'shared/call_signal', :layout => false, :locals => { :call => result }))) %>"
+ }<%= ',' unless index == (@results.size - 1) %>
+ <% end -%>
+ ]
+}
(DIR) diff --git a/app/views/jobs/new_analyze.html.erb b/app/views/jobs/new_analyze.html.erb
@@ -0,0 +1,12 @@
+<h1 class='title'>Call Analysis</h1>
+
+<%= semantic_form_for(@job, :url => analyze_project_job_path(@project) ) do |f| %>
+ <%= f.input :project, :as => :select %>
+ <br/>
+ <%= f.input :force, :as => :boolean, :label => 'Process previously analyzed calls?', :input_html => { :value => 1 } %>
+ <%= f.action :submit, :label => 'Analyze', :button_html => { :class => 'btn btn-large fbtn' } %>
+
+ <a class="btn btn-link" href="<%= project_path(@project) %>" rel="tooltip" title="Return to project"><i class="icon-return"></i>Cancel</a>
+<% end %>
+
+<%= set_focus('job_submit') %>