portrait Security and Organization records
[smr.git] / gui / app / views / objects / security / index.html.erb
blobdf8867d1a37dcac72404564daebffde6272d5e7f
1 <h1><%= @headline %></h1>
3 <% if @security %>
4     <%= form_for @security, :url=>{:action=>:create}, :method=>:POST do |f| %>
5      <fieldset id='security'>
6       <legend><% if @security.id %>Edit<% else %>Add<% end %> Security</legend>
7         <%= f.hidden_field :id %>
8       <div style='display: block; float: left;'>
9         <% if not @security.has_type_model? %>
10              <%= select_tag :security_use_type, options_for_select(Security.types.collect{|t| [Security.describe_type(t), t]}), :prompt=>'-- Select Type --' %>
11         <% else %>
12              <span><%= @security %></span>
13         <% end %>
15         <hr/>
16         Belongs to Organization <%= f.select :id_organization, @organizations.collect{|o| [o.name, o.id]} %><br/>
17         Brief Description <%= f.text_field :brief, :size=>25, :placeholder=>'Brief Description' %><br/>
18         Investor Relations Link <%= f.url_field :url, :size=>25, :placeholder=>'Link to Investor Relations page' %><br/>
20         <hr/>
21         &nbsp;<%= f.label :fetch_quote %><%= f.check_box :fetch_quote %><br/>
22         <%= f.text_field :symbol, :size=>12, :placeholder=>'Trading Symbol' %>
23         <%= f.select :id_security_symbolextension, @symbolextensions.collect{|se| ['%s - %s' %[se.fullname, se.extension], se.id] }, :prompt=>'-- Select Extension --' %>
24         via <%= f.select :id_security_quotesource, @quotesources.collect{|qs| [qs.source, qs.id] }, :prompt=>'-- Select Source --' %>
25         <hr/>
27         Collateral Coverage Ratio
28         <%= f.number_field :collateral_coverage_ratio, :step=>0.01, :min=>0.0, :value=>number_with_precision(f.object.collateral_coverage_ratio.to_f, :precision=>2) %><br/>
29         <hr/>
30         <%= f.text_area :description, :cols=>45, :rows=>15, placeholder: 'What is the story on this security?' %>
31         <br/>
32         <%= f.submit 'Save Security' %>
33       </div>
35       <% if @security.fetch_quote and @quote_retrieval_status %>
36          <table id="quote_retrieval_status">
37             <thead><tr><th colspan='2'>Quote Retrieval Status</th></thead>
38             <tbody>
39             <% @quote_retrieval_status.each do |k,v| %>
40              <tr class="separaterows"><td><%= k %>:</td><td><%= v %></td></tr>
41             <% end %>
42             </tbody>
43          </table>
44       <% end %>
46       <div style='display: block; float: right;'>
47         <%= if @security.has_type_model? then
48           render \
49              :partial=>'objects/security/%s_form' % @security.type,
50              :locals=>{:security=>@security, :type=>@security.get_type}
51         end %>
52       </div>
53      </fieldset>
54     <% end %>
55 <% end %>
58 <h2>Securities</h2>
59 <% if not @securities %>
60     <p>No securities exist yet.</p>
61 <% else %>
63 <fieldset id="security_create_from_symbol">
64     <legend>Create new Security from Symbol</legend>
65 <%= form_tag({:action=>'new'}, method: :get) do %>
66     <p>
67      <%= text_field_tag :symbol, nil, :placeholder=>'ISIN' %>
68      <%= submit_tag 'Create' %>
69     </p>
70 <% end %>
71 </fieldset>
73 <%= search_form_for @query, :url=>{:action=>:index}, :class=>:filter_form, :id=>:controller_filter do |f| %>
74 <div>
75   <%= f.search_field :symbol_or_brief_or_Organization_name_cont_any, :placeholder=>'Pattern' %>
76   <% true
77      # f.select :id_organization_eq, options_from_collection_for_select(@organizations, :id, :name)
78    %>
79   <%= f.submit :filter %>
81  <table>
82     <tr><th colspan="2">Type of Security</th></tr>
83     <% Security.types.each do |t|
84        type_id_column = ('id_security_%s_gt' % t).to_sym
85        %>
86        <tr><td><%= check_box_tag 'q[%s]' % type_id_column,
87               0,
88               (if params[:q] and params[:q][type_id_column] then true else false end)
89        %></td><td>
90        <%= label_tag 'q[%s][]' % type_id_column, Security.describe_type(t) %></td></tr>
91     <% end %>
92  </table>
93 </div>
94 <% end %>
98 <table id='securities'>
99     <thead>
100     <tr>
101         <th><%= smr_paginate @page, @total_pages, objects_security_index_path %></th>
102         <th>Symbol</th>
103         <th>Quote Source</th>
104         <th>Fetch Quote</th>
105         <th>Collateral Coverage Ratio</th>
106         <th/>
107     </tr>
108     </thead>
109     <tbody>
110     <% @securities.each do |s| %>
111         <tr class="separaterows">
112             <td <% if not s.description.blank? %>rowspan=2<% end %>>
113               <% unless s.id == Smr::ID_CASH_SECURITY %>
114                 <%= link_to '+', edit_objects_security_path(s.id) %>
115                 <%= link_to '...', s.link.to_url %>
116               <% end %>
117               <%= s %><br/>
118               <%= link_to truncate(s.url, :length=>40), s.url if s.url %>
119             </td>
120             <td><%= s.symbol %><span><%= s.SecuritySymbolextension %></span></td>
121             <td><%= s.SecurityQuotesource %></td>
122             <td><%= s.fetch_quote %></td>
123             <td><%= smr_humanize s.collateral_coverage_ratio %></td>
124             <td><%= link_to 'delete', delete_security_path(:id=>s.id) unless s.id == Smr::ID_CASH_SECURITY %></td>
125         </tr>
126         <% if not s.description.blank? %>
127         <tr>
128             <td colspan="6"><span class="comment_text"><%= s.description %></span></td>
129         </tr>
130         <% end %>
131     <% end %>
132     </tbody>
133 </table>
134 <% end %>