show.html.erb - warvox - VoIP based wardialing tool, forked from rapid7/warvox.
 (HTM) git clone git://jay.scot/warvox
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
       ---
       show.html.erb (7489B)
       ---
            1 <div class="row-fluid">
            2         <div class="span12">
            3                 <a class="btn btn-small pull-right" href="<%= edit_project_path(@project) %>" rel="tooltip" title="Update project settings"><i class="fa fa-wrench"></i> Settings</a>
            4                 <h1 class='title'>Project <%= @project.name %></h1>
            5                 <p class='project-header'><%=h @project.description %></p>
            6         </div>
            7 </div>
            8 
            9 <div class="row-fluid">
           10         <div class="span3">
           11                 <div class="stat-box stat-<%= @boxes[:called][:cls]%>">
           12                         <div><%= @boxes[:called][:txt] %></div>
           13                         <span class="stat-subtitle">Calls</span>
           14                 </div>
           15         </div>
           16         <div class="span9">
           17                 <div class="row-fluid">
           18                         <div class="span2">&nbsp;</div>
           19                         <div class="span2"><a href="<%= new_dialer_project_job_path(@project) %>" class="btn" rel="tooltip" title="Gather data by dialing a range of numbers"><i class="fa fa-phone"></i> <strong>Wardial</strong></a></div>
           20                         <% if @boxes[:answered][:cnt] > 0 %>
           21                         <div class="span2"><a href="<%= new_analyze_project_job_path(@project) %>" class="btn" rel="tooltip" title="Analyze call data to determine line types and frequencies"><i class="fa fa-cogs"></i> <strong>Analyze</strong></a></div>
           22                         <% else %>
           23                         <div class="span2"><a href="#" class="btn disabled" rel="tooltip" title="No call data is available to analyze"><i class="fa fa-cogs"></i> <strong>Analyze</strong></a></div>
           24                         <% end %>
           25                         <div class="span2">&nbsp;</div>
           26                 </div>
           27         </div>
           28 </div>
           29 
           30 <div class="row-fluid">
           31         <div class="span3 arrow-down"><i class="fa fa-arrow-down"></i></div>
           32         <div class="span9">&nbsp;</div>
           33 </div>
           34 
           35 <div class="row-fluid">
           36         <div class="span3">
           37                 <div class="stat-box stat-<%= @boxes[:answered][:cls]%>">
           38                         <div><%= @boxes[:answered][:txt] %></div>
           39                         <span class="stat-subtitle">Answered</span>
           40                 </div>
           41         </div>
           42         <div class="span9"></div>
           43 </div>
           44 
           45 <div class="row-fluid">
           46         <div class="span3 arrow-down"><i class="fa fa-arrow-down"></i></div>
           47         <div class="span9">&nbsp;</div>
           48 </div>
           49 
           50 <div class="row-fluid">
           51         <div class="span3">
           52                 <div class="stat-box stat-<%= @boxes[:analyzed][:cls]%>">
           53                         <div><%= @boxes[:analyzed][:txt] %></div>
           54                         <span class="stat-subtitle">Analyzed</span>
           55                 </div>
           56         </div>
           57         <div class="span9">&nbsp;</div>
           58 </div>
           59 
           60 <div class="row-fluid">
           61         <div class="span3 arrow-down"><i class="fa fa-arrow-down"></i></div>
           62         <div class="span9">&nbsp;</div>
           63 </div>
           64 
           65 <div class="row-fluid">
           66         <div class="span3">
           67                 <div class="row-fluid">
           68                         <div class="span6">
           69                                 <div class="stat-box stat-<%= @boxes[:voice][:cls]%>">
           70                                         <div><%= @boxes[:voice][:txt] %></div>
           71                                         <span class="stat-subtitle">Voice</span>
           72                                 </div>
           73                         </div>
           74                         <div class="span6">
           75                                 <div class="stat-box stat-<%= @boxes[:voicemail][:cls]%>">
           76                                         <div><%= @boxes[:voicemail][:txt] %></div>
           77                                         <span class="stat-subtitle">VoiceMail</span>
           78                                 </div>
           79                         </div>
           80                 </div>
           81         </div>
           82         <div class="span3 sparkline-cell">
           83                 <%= render :partial => 'shared/graphs/sparkline', :locals => { :points => @project.calls.hourly_report.to_a.map{|x| x[1] } } %>
           84                 <span class='sparkline-title'>Phone Calls / Hour (Last Day)</a>
           85         </div>
           86         <div class="span3 sparkline-cell">
           87                 <%= render :partial => 'shared/graphs/sparkline', :locals => { :points => @project.calls.daily_report.to_a.map{|x| x[1] } } %>
           88                 <span class='sparkline-title'>Phone Calls / Day (Last Week)</a>
           89         </div>
           90         <div class="span3 sparkline-cell">
           91                 <%= render :partial => 'shared/graphs/sparkline', :locals => { :points => @project.calls.weekly_report.to_a.map{|x| x[1] } } %>
           92                 <span class='sparkline-title'>Phone Calls / Week (Last Month)</a>
           93         </div>
           94 </div>
           95 
           96 <div class="row-fluid">
           97         <div class="span12">&nbsp;</div>
           98 </div>
           99 
          100 <div class="row-fluid">
          101         <div class="span3">
          102                 <div class="row-fluid">
          103                         <div class="span6">
          104                                 <div class="stat-box stat-<%= @boxes[:fax][:cls]%>">
          105                                         <div><%= @boxes[:fax][:txt] %></div>
          106                                         <span class="stat-subtitle">Fax</span>
          107                                 </div>
          108                         </div>
          109                         <div class="span6">
          110                                 <div class="stat-box stat-<%= @boxes[:modem][:cls]%>">
          111                                         <div><%= @boxes[:modem][:txt] %></div>
          112                                         <span class="stat-subtitle">Modems</span>
          113                                 </div>
          114                         </div>
          115                 </div>
          116         </div>
          117         <div class="span3 sparkline-cell">
          118                 <%= render :partial => 'shared/graphs/sparkline', :locals => { :points => @project.calls.analyzed_hourly_report.to_a.map{|x| x[1] } } %>
          119                 <span class='sparkline-title'>Analyzed Calls / Hour (Last Day)</a>
          120         </div>
          121         <div class="span3 sparkline-cell">
          122                 <%= render :partial => 'shared/graphs/sparkline', :locals => { :points => @project.calls.analyzed_daily_report.to_a.map{|x| x[1] } } %>
          123                 <span class='sparkline-title'>Analyzed Calls / Day (Last Week)</a>
          124         </div>
          125         <div class="span3 sparkline-cell">
          126                 <%= render :partial => 'shared/graphs/sparkline', :locals => { :points => @project.calls.analyzed_weekly_report.to_a.map{|x| x[1] } } %>
          127                 <span class='sparkline-title'>Analyzed Calls / Week (Last Month)</a>
          128         </div>
          129         <div class="span6">&nbsp;</div>
          130 </div>
          131 
          132 <div class="row-fluid">
          133         <div class="span12">&nbsp;</div>
          134 </div>
          135 
          136 <% if @active_jobs.count > 0 %>
          137 
          138 <div class="row-fluid">
          139         <div class="span12">
          140 
          141         <h2 class='title'>Active Jobs</h1>
          142 
          143         <table class='table table-striped table-condensed' width='90%'>
          144           <tr>
          145             <th>ID</th>
          146             <th>Task</th>
          147             <th>Progress</th>
          148             <th>Rate</th>
          149             <th>Launched</th>
          150             <th>Actions</th>
          151           </tr>
          152 
          153 <% @active_jobs.each do |job| %>
          154           <tr class='active_job_row'>
          155             <td><%= job.id %></td>
          156             <td><%= format_job_details(job) %></td>
          157             <td>
          158                         <div class="progress progress-warning progress-striped progress-bar">
          159                                 <div class="bar" style="width: <%= job.progress %>%">
          160                                         <span class='progress_pct'><%= job.progress %>%</span>
          161                                 </div>
          162                         </div>
          163                 </td>
          164                 <td><%= format_job_rate(job) %></td>
          165             <td><%= time_ago_in_words(job.created_at) %> ago</td>
          166             <td>
          167                     <% if job.task == "dialer" %>
          168                             <a class="btn" href="<%= view_results_path(job.project,job) %>" rel="tooltip" title="View Current Stats" ><i class="fa fa-eye"></i></a>
          169                             <% end %>
          170                     <% if job.task == "analysis" and job.details[:scope].to_s != "calls" %>
          171                             <a class="btn" href="<%= view_analyze_path(job.project,job.details[:target_id]||job.id) %>" rel="tooltip" title="View Call Analysis"><i class="fa fa-pie-chart"></i></a>
          172                     <% end %>
          173                         <a class="btn" href="<%= stop_job_path(job) %>" data-confirm="Terminate this job?" rel="nofollow tooltip" title="Terminate Job"><i class="fa fa-stop"></i></a>
          174                         </td>
          175           </tr>
          176 <% end %>
          177         </table>
          178         </div>
          179 </div>
          180 <% end %>
          181 
          182 
          183 <% if(@inactive_jobs.length > 0) %>
          184 
          185 <div class="row-fluid">
          186         <div class="span12">
          187         <h2 class='title'>Completed Jobs</h2>
          188 
          189         <%= will_paginate @inactive_jobs, :renderer => BootstrapPagination::Rails %>
          190         <table class='table table-striped table-condensed' width='90%'>
          191           <tr>
          192             <th>ID</th>
          193             <th>Task</th>
          194             <th>Status</th>
          195             <th>Rate</th>
          196             <th>Started</th>
          197             <th>Completed</th>
          198           </tr>
          199 
          200         <% @inactive_jobs.each do |job|
          201                 special = ""
          202                 case job.status
          203                 when "error"
          204                         special = "error"
          205                 when "stopped"
          206                         special = "warning"
          207                 end
          208         %>
          209           <tr class='<%= special %>'>
          210             <td><%= job.id %></td>
          211             <td><%= format_job_details(job) %></td>
          212                 <td><%= format_job_status(job) %></td>
          213                 <td><%= format_job_rate(job) %></td>
          214             <td><%= time_ago_in_words(job.created_at) %> ago</td>
          215             <td><%= job.completed_at ? "after " + time_ago_in_words(Time.at(Time.now.to_i - (job.completed_at.to_f - job.created_at.to_f))) : "incomplete" %></td>
          216           </tr>
          217         <% end %>
          218         </table>
          219         <%= will_paginate @inactive_jobs, :renderer => BootstrapPagination::Rails %>
          220         </div>
          221 </div>
          222 <% end %>