App-AutoCRUD

 view release on metacpan or  search on metacpan

lib/App/AutoCRUD/share/templates/src/table/update.tt  view on Meta::CPAN

[%# ---------- start body ---------- %]

<div class="actions">
  <a href="descr">describe</a> | 
  <a href="search">search</a> this table
</div>


<h1>Update [% data.table %]</h1>

<form action="update" method="POST" id='update_form' accept-charset='utf-8'
   [% "onsubmit='return confirm_n_ary_operation(this,\"update\")'" 
         IF ! data.where_pk %]>

  <div id="TN_tree">

    [% FOREACH multi_cols_key IN data.multi_cols_keys %]
    <div class="TN_node">
      <span class="TN_label groupname">Multi-column keys</span>
      <div class="TN_content">
        <div class="TN_leaf">
          <span class="TN_label colname">[% multi_cols_key %]</span>
          <span class="after_label">
             set <input name="set.[% multi_cols_key %]" size=20
                    readonly class="readonly">
             <span class="where">[%  seen_where ? "and" : "where";
                                     SET seen_where = 1; %]</span>
             <input name="where.[% multi_cols_key %]" size=10
                    readonly class="readonly">
          </span>
        </div>
      </div>
    </div>
    [% END; # FOREACH multi_cols_key IN data.multi_cols_keys %]


    [% FOREACH group IN data.colgroups %]
    <div class="TN_node">
      <span class="TN_label groupname">[% group.name %]</span>
      <div class="TN_content">
        [% FOREACH col IN group.columns;
           SET col_name = col.COLUMN_NAME;
           NEXT IF data.ignore_col.$col_name; %]
        <div class="TN_leaf">

          <span class="TN_label colname" 
                title="[% col.descr %]">[% col_name %]</span>

          <span class="after_label">
            set <input name="set.[% col_name %]" size=20
                   [%~ IF data.noupd.$col_name;
                         " readonly class='readonly'";
                       ELSIF !seen_autofocus; 
                         " autofocus"; 
                         seen_autofocus = 1; 
                       END %]>


            [% IF data.where_pk.defined(col_name) %]
              <b>where</b> <input name="where.[% col_name %]" size=10 readonly
                                  class="readonly" tabindex=-1>
            [% ELSE %]

              [% IF data.where_pk;
                 # updating one single record, so we show current values.
                 # TODO : should improve GvaScript.Form so that we can
                 # replace this <input> by a mere <div>, and yet update
                 # the content automatically at init() %]
                (curr.<input name="curr.[% col_name %]" size=20 readonly
                             class="readonly" tabindex=-1>)
              [% ELSE;
                 # updating several records, so we show the WHERE criteria %]
                 <span class="where">[%  seen_where ? "and" : "where";
                                         SET seen_where = 1; %]</span>
                 <input name="where.[% col_name %]" size=10>
              [% END; # IF data.where_pk %]
            [% END; # IF data.where_pk.defined(col_name) %]
          </span>


        </div>
        [% END; # FOREACH col IN group.columns %]
      </div>
    </div>
    [% END; # FOREACH group IN data.colgroups %]
  </div>

  <input type="submit">
  <input type="reset">
</form>



( run in 0.845 second using v1.01-cache-2.11-cpan-2398b32b56e )