## -*- coding: utf-8 -*-
##
## See also repo_settings.html
##
<%inherit file="/base/base.html"/>

<%def name="title()">
    ${_('Edit repository')} ${c.repo_info.repo_name} &middot; ${c.rhodecode_name}
</%def>

<%def name="breadcrumbs_links()">
    ${_('Settings')}
</%def>

<%def name="page_nav()">
    ${self.menu('admin')}
</%def>

<%def name="main()">
${self.repo_context_bar('options')}
<div class="box box-left">
    <!-- box / title -->
    <div class="title">
        ${self.breadcrumbs()}
    </div>
    ${h.form(url('repo', repo_name=c.repo_info.repo_name),method='put')}
    <div class="form">
        <!-- fields -->
        <div class="fields">
            <div class="field">
                <div class="label">
                    <label for="repo_name">${_('Name')}:</label>
                </div>
                <div class="input">
                    ${h.text('repo_name',class_="medium")}
                    <span class="help-block">${_('Non-changeable id')}: ${c.repo_info.repo_id}</span>
                </div>
           </div>
           <div class="field">
               <div class="label">
                   <label for="clone_uri">${_('Clone uri')}:</label>
               </div>
               <div class="input">
                   ${h.text('clone_uri',class_="medium")}
                 <span class="help-block">${_('Optional http[s] url from which repository should be cloned.')}</span>
               </div>
            </div>
            <div class="field">
                <div class="label">
                    <label for="repo_group">${_('Repository group')}:</label>
                </div>
                <div class="input">
                    ${h.select('repo_group','',c.repo_groups,class_="medium")}
                    <span class="help-block">${_('Optional select a group to put this repository into.')}</span>
                </div>
            </div>
            <div class="field">
                <div class="label">
                    <label for="repo_landing_rev">${_('Landing revision')}:</label>
                </div>
                <div class="input">
                    ${h.select('repo_landing_rev','',c.landing_revs,class_="medium")}
                    <span class="help-block">${_('Default revision for files page, downloads, whoosh and readme')}</span>
                </div>
            </div>
            <div class="field">
                <div class="label label-textarea">
                    <label for="repo_description">${_('Description')}:</label>
                </div>
                <div class="textarea text-area editor">
                    ${h.textarea('repo_description')}
                    <span class="help-block">${_('Keep it short and to the point. Use a README file for longer descriptions.')}</span>
                </div>
            </div>

            <div class="field">
                <div class="label label-checkbox">
                    <label for="repo_private">${_('Private repository')}:</label>
                </div>
                <div class="checkboxes">
                    ${h.checkbox('repo_private',value="True")}
                    <span class="help-block">${_('Private repositories are only visible to people explicitly added as collaborators.')}</span>
                </div>
            </div>
            <div class="field">
                <div class="label label-checkbox">
                    <label for="repo_enable_statistics">${_('Enable statistics')}:</label>
                </div>
                <div class="checkboxes">
                    ${h.checkbox('repo_enable_statistics',value="True")}
                    <span class="help-block">${_('Enable statistics window on summary page.')}</span>
                </div>
            </div>
            <div class="field">
                <div class="label label-checkbox">
                    <label for="repo_enable_downloads">${_('Enable downloads')}:</label>
                </div>
                <div class="checkboxes">
                    ${h.checkbox('repo_enable_downloads',value="True")}
                    <span class="help-block">${_('Enable download menu on summary page.')}</span>
                </div>
            </div>
            <div class="field">
                <div class="label label-checkbox">
                    <label for="repo_enable_locking">${_('Enable locking')}:</label>
                </div>
                <div class="checkboxes">
                    ${h.checkbox('repo_enable_locking',value="True")}
                    <span class="help-block">${_('Enable lock-by-pulling on repository.')}</span>
                </div>
            </div>
            <div class="field">
                <div class="label">
                    <label for="user">${_('Owner')}:</label>
                </div>
                <div class="input input-medium ac">
                    <div class="perm_ac">
                       ${h.text('user',class_='yui-ac-input')}
                       <span class="help-block">${_('Change owner of this repository.')}</span>
                       <div id="owner_container"></div>
                    </div>
                </div>
             </div>
            %if c.visual.repository_fields:
              ## EXTRA FIELDS
              %for field in c.repo_fields:
                <div class="field">
                    <div class="label">
                        <label for="${field.field_key_prefixed}">${field.field_label} (${field.field_key}):</label>
                    </div>
                    <div class="input input-medium">
                        ${h.text(field.field_key_prefixed, field.field_value, class_='medium')}
                        %if field.field_desc:
                          <span class="help-block">${field.field_desc}</span>
                        %endif
                    </div>
                 </div>
              %endfor
            %endif
            <div class="buttons">
              ${h.submit('save',_('Save'),class_="ui-btn large")}
              ${h.reset('reset',_('Reset'),class_="ui-btn large")}
            </div>
        </div>
    </div>
    ${h.end_form()}
</div>

<div class="box box-right">
    <div class="title">
        <h5>${_('Permissions')}</h5>
    </div>
    ${h.form(url('set_repo_perm_member', repo_name=c.repo_info.repo_name),method='post')}
    <div class="form">
       <div class="fields">
            <div class="field">
                <div class="label">
                    <label for="input">${_('Permissions')}:</label>
                </div>
                <div class="input">
                    ${h.hidden('repo_private')}
                    <%include file="repo_edit_perms.html"/>
                </div>
            </div>
            <div class="buttons">
              ${h.submit('save',_('Save'),class_="ui-btn large")}
              ${h.reset('reset',_('Reset'),class_="ui-btn large")}
            </div>
       </div>
    </div>
    ${h.end_form()}
</div>


<div class="box box-right"  style="clear:right">
    <div class="title">
        <h5>${_('Advanced settings')}</h5>
    </div>

    <h3>${_('Statistics')}</h3>
    ${h.form(url('repo_stats', repo_name=c.repo_info.repo_name),method='delete')}
    <div class="form">
       <div class="fields">
           ${h.submit('reset_stats_%s' % c.repo_info.repo_name,_('Reset current statistics'),class_="ui-btn",onclick="return confirm('"+_('Confirm to remove current statistics')+"');")}
           <div class="field" style="border:none;color:#888">
           <ul>
                <li>${_('Fetched to rev')}: ${c.stats_revision}/${c.repo_last_rev}</li>
                <li>${_('Stats gathered')}: ${c.stats_percentage}%</li>
           </ul>
           </div>
       </div>
    </div>
    ${h.end_form()}

    %if c.repo_info.clone_uri:
    <h3>${_('Remote')}</h3>
    ${h.form(url('repo_pull', repo_name=c.repo_info.repo_name),method='put')}
    <div class="form">
       <div class="fields">
           ${h.submit('remote_pull_%s' % c.repo_info.repo_name,_('Pull changes from remote location'),class_="ui-btn",onclick="return confirm('"+_('Confirm to pull changes from remote side')+"');")}
           <div class="field" style="border:none">
           <ul>
                <li><a href="${c.repo_info.clone_uri}">${c.repo_info.clone_uri}</a></li>
           </ul>
           </div>
       </div>
    </div>
    ${h.end_form()}
    %endif

    <h3>${_('Cache')}</h3>
    ${h.form(url('repo_cache', repo_name=c.repo_info.repo_name),method='delete')}
    <div class="form">
       <div class="fields">
           ${h.submit('reset_cache_%s' % c.repo_info.repo_name,_('Invalidate repository cache'),class_="ui-btn",onclick="return confirm('"+_('Confirm to invalidate repository cache')+"');")}
          <div class="field" style="border:none;color:#888">
          <ul>
              <li>${_('Manually invalidate cache for this repository. On first access repository will be cached again')}
              </li>
          </ul>
          </div>
          <div class="field" style="border:none;">
            ${_('List of cached values')}
               <table>
               <tr>
                <th>${_('Prefix')}</th>
                <th>${_('Key')}</th>
                <th>${_('Active')}</th>
                </tr>
              %for cache in c.repo_info.cache_keys:
                  <tr>
                    <td>${cache.get_prefix() or '-'}</td>
                    <td>${cache.cache_key}</td>
                    <td>${h.boolicon(cache.cache_active)}</td>
                  </tr>
              %endfor
              </table>
          </div>
       </div>
    </div>
    ${h.end_form()}

    <h3>${_('Public journal')}</h3>
    ${h.form(url('repo_public_journal', repo_name=c.repo_info.repo_name),method='put')}
    <div class="form">
      ${h.hidden('auth_token',str(h.get_token()))}
      <div class="field">
      %if c.in_public_journal:
        ${h.submit('set_public_%s' % c.repo_info.repo_name,_('Remove from public journal'),class_="ui-btn")}
      %else:
        ${h.submit('set_public_%s' % c.repo_info.repo_name,_('Add to public journal'),class_="ui-btn")}
      %endif
      </div>
     <div class="field" style="border:none;color:#888">
     <ul>
          <li>${_('All actions made on this repository will be accessible to everyone in public journal')}
          </li>
     </ul>
     </div>
    </div>
    ${h.end_form()}

    <h3>${_('Locking')}</h3>
    ${h.form(url('repo_locking', repo_name=c.repo_info.repo_name),method='put')}
    <div class="form">
       <div class="fields">
          %if c.repo_info.locked[0]:
           ${h.submit('set_unlock' ,_('Unlock locked repo'),class_="ui-btn",onclick="return confirm('"+_('Confirm to unlock repository')+"');")}
           ${'Locked by %s on %s' % (h.person_by_id(c.repo_info.locked[0]),h.fmt_date(h.time_to_datetime(c.repo_info.locked[1])))}
          %else:
            ${h.submit('set_lock',_('Lock repo'),class_="ui-btn",onclick="return confirm('"+_('Confirm to lock repository')+"');")}
            ${_('Repository is not locked')}
          %endif
       </div>
       <div class="field" style="border:none;color:#888">
       <ul>
            <li>${_('Force locking on repository. Works only when anonymous access is disabled')}
            </li>
       </ul>
       </div>
    </div>
    ${h.end_form()}

    <h3>${_('Set as fork of')}</h3>
    ${h.form(url('repo_as_fork', repo_name=c.repo_info.repo_name),method='put')}
    <div class="form">
       <div class="fields">
           ${h.select('id_fork_of','',c.repos_list,class_="medium")}
           ${h.submit('set_as_fork_%s' % c.repo_info.repo_name,_('Set'),class_="ui-btn",)}
       </div>
           <div class="field" style="border:none;color:#888">
           <ul>
                <li>${_('''Manually set this repository as a fork of another from the list''')}</li>
           </ul>
           </div>
    </div>
    ${h.end_form()}

    <h3>${_('Delete')}</h3>
    ${h.form(url('repo', repo_name=c.repo_info.repo_name),method='delete')}
    <div class="form">
        <div class="fields">
            <div class="field" style="border:none;color:#888">
##              <div class="label">
##                  <label for="">${_('Remove repository')}:</label>
##              </div>
                <div class="checkboxes">
                    ${h.submit('remove_%s' % c.repo_info.repo_name,_('Remove this repository'),class_="ui-btn red",onclick="return confirm('"+_('Confirm to delete this repository')+"');")}
                    %if c.repo_info.forks.count():
                        - ${ungettext('this repository has %s fork', 'this repository has %s forks', c.repo_info.forks.count()) % c.repo_info.forks.count()}
                        <input type="radio" name="forks" value="detach_forks" checked="checked"/> <label for="forks">${_('Detach forks')}</label>
                        <input type="radio" name="forks" value="delete_forks" /> <label for="forks">${_('Delete forks')}</label>
                    %endif
                    <ul>
                        <li>${_('This repository will be renamed in a special way in order to be unaccesible for RhodeCode and VCS systems. If you need to fully delete it from file system please do it manually')}</li>
                    </ul>
                </div>
            </div>
        </div>
    </div>
    ${h.end_form()}
</div>

##TODO: this should be controlled by the VISUAL setting
%if c.visual.repository_fields:
<div class="box box-left" style="clear:left">
    <!-- box / title -->
    <div class="title">
        <h5>${_('Extra fields')}</h5>
    </div>

    <div class="emails_wrap">
      <table class="noborder">
      %for field in c.repo_fields:
        <tr>
            <td>${field.field_label} (${field.field_key})</td>
            <td>${field.field_type}</td>
            <td>
              ${h.form(url('delete_repo_fields', repo_name=c.repo_info.repo_name, field_id=field.repo_field_id),method='delete')}
                  ${h.submit('remove_%s' % field.repo_field_id, _('delete'), id="remove_field_%s" % field.repo_field_id,
                  class_="delete_icon action_button", onclick="return confirm('"+_('Confirm to delete this field: %s') % field.field_key+"');")}
              ${h.end_form()}
            </td>
        </tr>
      %endfor
      </table>
    </div>

    ${h.form(url('create_repo_fields', repo_name=c.repo_info.repo_name),method='put')}
    <div class="form">
        <!-- fields -->
        <div class="fields">
             <div class="field">
                <div class="label">
                    <label for="new_field_key">${_('New field key')}:</label>
                </div>
                <div class="input">
                    ${h.text('new_field_key', class_='small')}
                </div>
             </div>
             <div class="field">
                <div class="label">
                    <label for="new_field_label">${_('New field label')}:</label>
                </div>
                <div class="input">
                    ${h.text('new_field_label', class_='small', placeholder=_('Enter short label'))}
                </div>
             </div>

             <div class="field">
                <div class="label">
                    <label for="new_field_desc">${_('New field description')}:</label>
                </div>
                <div class="input">
                    ${h.text('new_field_desc', class_='small', placeholder=_('Enter description of a field'))}
                </div>
             </div>

            <div class="buttons">
              ${h.submit('save',_('Add'),class_="ui-btn large")}
              ${h.reset('reset',_('Reset'),class_="ui-btn large")}
            </div>
        </div>
    </div>
    ${h.end_form()}
</div>
%endif
</%def>
