Ignore:
Timestamp:
17 May 2015, 17:07:30 (9 years ago)
Author:
Henrik Bettermann
Message:

Rearrange datacenter upload page. Provide modal windows to view all processors and sources and vocabularies.

Location:
main/waeup.kofa/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • main/waeup.kofa/trunk/CHANGES.txt

    r12950 r12958  
    441.3.2.dev0 (unreleased)
    55=======================
     6
     7* Rearrange datacenter upload page. Provide modal windows to view all
     8  processors and sources and vocabularies.
    69
    710* Reorganize doctests. Remove deprecated doctests.
  • main/waeup.kofa/trunk/src/waeup/kofa/browser/pages.py

    r12957 r12958  
    520520            return html
    521521
    522 class SourcesOverview(KofaPage):
     522class SourcesOverview(grok.View):
    523523    grok.context(IUniversity)
    524     grok.name('sources')
     524    grok.name('sourcesoverview')
    525525    grok.require('waeup.Public')
    526     label = _(u'Sources & Vocabularies')
    527     pnav = 0
    528526
    529527    def _set_inst_types(self):
     
    607605        return
    608606
    609 class ProcessorsOverview(KofaPage):
     607class SourcesOverviewPage(KofaPage, SourcesOverview):
     608    grok.name('sources')
     609    grok.require('waeup.Public')
     610    label = _(u'Sources & Vocabularies')
     611    pnav = 0
     612
     613class ProcessorsOverview(grok.View):
    610614    grok.context(IUniversity)
     615    grok.name('processorsoverview')
     616    grok.require('waeup.Public')
     617
     618    def getImporters(self):
     619        return getImporters(self.context)
     620
     621class ProcessorsOverviewPage(KofaPage, ProcessorsOverview):
    611622    grok.name('processors')
    612623    grok.require('waeup.Public')
    613624    label = _(u'Available Processors (Importers)')
    614625    pnav = 0
    615 
    616     def getImporters(self):
    617         return getImporters(self.context)
    618626
    619627class SkeletonDownloadView(UtilityView, grok.View):
  • main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/datacenteruploadpage.pt

    r12957 r12958  
    1 <p i18n:translate="">
     1<span i18n:translate="">
    22    Before uploading a file, check that your file header corresponds
    3     with header format of the selected processor. All available headers
    4     are listed below.
    5     After file upload click the 'Process data' button and proceed up to
    6     import step 3. Verify that the data format
    7     meets all the import criteria and requirements of the processor.
    8 </p>
    9 
     3    with the header format of the selected processor:
     4</span>
     5<!-- Processors Modal -->
     6<button i18n:translate="" class="btn btn-info btn-xs"
     7   data-toggle="modal" data-target="#ProcessorsModal"
     8   href="../processorsoverview">
     9   View available processors (importers)
     10</button>
     11<div class="modal fade" id="ProcessorsModal" tabindex="-1"
     12     role="dialog" aria-labelledby="ProcessorsModalLabel" aria-hidden="true">
     13  <div class="modal-dialog">
     14    <div class="modal-content">
     15    </div>
     16  </div>
     17</div>
     18<br /><br />
     19<span i18n:translate="">
     20    Many import fields are of type 'Choice' which means only definied keywords
     21    are allowed:
     22</span>
     23<!-- Sources Modal -->
     24<button i18n:translate="" class="btn btn-info btn-xs"
     25   data-toggle="modal" data-target="#SourcesModal"
     26   href="../sourcesoverview">
     27   View choices
     28</button>
     29<div class="modal fade" id="SourcesModal" tabindex="-1"
     30     role="dialog" aria-labelledby="SourcesModalLabel" aria-hidden="true">
     31  <div class="modal-dialog">
     32    <div class="modal-content">
     33    </div>
     34  </div>
     35</div>
     36<br />
    1037<form method="post" enctype="multipart/form-data">
    1138<br />
     
    5986      tal:attributes="value view/cancel_button"/>
    6087</form>
     88
     89
     90<br /><br />
     91
     92<div i18n:translate="">
     93    After file upload click the 'Process data' button and proceed up to
     94    import step 3. Verify that the data format
     95    meets all the import criteria and requirements of the processor.
     96</div>
    6197<br />
    62 <p i18n:translate="">
     98<div i18n:translate="">
    6399    Import managers will be automatically informed by email after file upload.
    64     There is no need for assigning tickets or sending emails anymore.
    65     The data will be imported according to the information given.
    66 </p>
     100</div>
  • main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/processorsoverview.pt

    r12957 r12958  
    1 <div class="panel-group"
    2      id="accordion"
    3      role="tablist"
    4      aria-multiselectable="true"
    5      i18n:domain="waeup.kofa"
    6      >
    7   <div class="panel panel-default"  tal:repeat="importer view/getImporters">
    8     <div class="panel-heading" role="tab"
    9          tal:attributes="id python: 'heading' + importer['name']">
    10       <h4 class="panel-title">
    11         <a class="collapsed" data-toggle="collapse"
    12            data-parent="#accordion"
    13            tal:attributes="href python: '#collapse' + importer['name'];
    14                            aria-controls python: 'collapse' + importer['name']"
    15            aria-expanded="false"
    16            i18n:translate="">
    17           <span tal:replace="importer/title">TITLE</span>
    18         </a>
    19       </h4>
    20     </div>
    21     <div tal:attributes="id python: 'collapse' + importer['name'];
    22                          aria-labelledby python: 'heading' + importer['name']"
    23          class="panel-collapse collapse"
    24          role="tabpanel">
    25       <div class="panel-body">
    26         <table class="table table-condensed">
    27           <thead>
    28             <tr>
    29               <th i18n:translate="">Processor</th>
    30               <th i18n:translate="">Required Schema Fields</th>
    31               <th i18n:translate="">Optional Schema Fields</th>
    32               <th i18n:translate="">Non-Schema Fields</th>
    33             </tr>
    34           </thead>
    35           <tbody>
    36             <tr>
    37               <td>
    38                 <span tal:content="importer/title">TITLE</span><br /><br />
    39                 <a i18n:translate="" class="btn btn-primary btn-xs"
    40                    tal:attributes="href python: view.url(layout.site)
    41                                         + '/skeleton?name='
    42                                         + importer['name']">
    43                    Download CSV File Template
    44                 </a>
    45               </td>
    46               <td nowrap>
    47                 <span tal:repeat="field importer/fields">
    48                     <tal:schemafield condition="field/f_type">
    49                       <tal:required condition="field/f_required">
     1<div class="modal-body">
     2  <div class="panel-group"
     3       id="accordion"
     4       role="tablist"
     5       aria-multiselectable="true"
     6       i18n:domain="waeup.kofa"
     7       >
     8    <div class="panel panel-default"  tal:repeat="importer view/getImporters">
     9      <div class="panel-heading" role="tab"
     10           tal:attributes="id python: 'heading' + importer['name']">
     11        <h4 class="panel-title">
     12          <a class="collapsed" data-toggle="collapse"
     13             data-parent="#accordion"
     14             tal:attributes="href python: '#collapse' + importer['name'];
     15                             aria-controls python: 'collapse' + importer['name']"
     16             aria-expanded="false"
     17             i18n:translate="">
     18            <span tal:replace="importer/title">TITLE</span>
     19          </a>
     20        </h4>
     21      </div>
     22      <div tal:attributes="id python: 'collapse' + importer['name'];
     23                           aria-labelledby python: 'heading' + importer['name']"
     24           class="panel-collapse collapse"
     25           role="tabpanel">
     26        <div class="panel-body">
     27          <table class="table table-condensed">
     28            <thead>
     29              <tr>
     30                <th i18n:translate="">Processor</th>
     31                <th i18n:translate="">Required Schema Fields</th>
     32                <th i18n:translate="">Optional Schema Fields</th>
     33                <th i18n:translate="">Non-Schema Fields</th>
     34              </tr>
     35            </thead>
     36            <tbody>
     37              <tr>
     38                <td>
     39                  <span tal:content="importer/title">TITLE</span><br /><br />
     40                  <a i18n:translate="" class="btn btn-primary btn-xs"
     41                     tal:attributes="href python: view.url(context)
     42                                          + '/skeleton?name='
     43                                          + importer['name']">
     44                     Download CSV File Template
     45                  </a>
     46                </td>
     47                <td nowrap>
     48                  <span tal:repeat="field importer/fields">
     49                      <tal:schemafield condition="field/f_type">
     50                        <tal:required condition="field/f_required">
     51                          <span tal:replace="field/f_name"></span>
     52                          (<span tal:replace="field/f_type"></span>)
     53                          <br />
     54                        </tal:required>
     55                      </tal:schemafield>
     56                  </span>
     57                </td>
     58                <td nowrap>
     59                  <span tal:repeat="field importer/fields">
     60                      <tal:schemafield condition="field/f_type">
     61                        <tal:notrequired condition="not:field/f_required">
     62                          <span tal:replace="field/f_name"></span>
     63                          (<span tal:replace="field/f_type"></span>)
     64                          <br />
     65                        </tal:notrequired>
     66                      </tal:schemafield>
     67                  </span>
     68                </td>
     69                <td>
     70                  <span tal:repeat="field importer/fields">
     71                      <tal:extrafield condition="not:field/f_type">
    5072                        <span tal:replace="field/f_name"></span>
    51                         (<span tal:replace="field/f_type"></span>)
    5273                        <br />
    53                       </tal:required>
    54                     </tal:schemafield>
    55                 </span>
    56               </td>
    57               <td nowrap>
    58                 <span tal:repeat="field importer/fields">
    59                     <tal:schemafield condition="field/f_type">
    60                       <tal:notrequired condition="not:field/f_required">
    61                         <span tal:replace="field/f_name"></span>
    62                         (<span tal:replace="field/f_type"></span>)
    63                         <br />
    64                       </tal:notrequired>
    65                     </tal:schemafield>
    66                 </span>
    67               </td>
    68               <td>
    69                 <span tal:repeat="field importer/fields">
    70                     <tal:extrafield condition="not:field/f_type">
    71                       <span tal:replace="field/f_name"></span>
    72                       <br />
    73                     </tal:extrafield>
    74                 </span>
    75               </td>
    76             </tr>
    77           </tbody>
    78         </table>
     74                      </tal:extrafield>
     75                  </span>
     76                </td>
     77              </tr>
     78            </tbody>
     79          </table>
     80        </div>
    7981      </div>
    8082    </div>
    8183  </div>
     84  <br />
     85  <button type="button" class="btn btn-default" style="float: right"
     86          i18n:translate="" data-dismiss="modal">
     87      Close
     88  </button>
    8289</div>
  • main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/sourcesoverview.pt

    r12933 r12958  
    1 <table width="100%">
    2   <tr>
    3     <td valign="top">
    4       <div class="panel-group" id="accordion-left" role="tablist"
    5            aria-multiselectable="true"
    6            i18n:domain="waeup.kofa">
    7         <tal:sourcesleft tal:content="structure provider:sources_left" />
    8       </div>
    9     </td>
    10     <td valign="top">
    11       <div class="panel-group" id="accordion-right" role="tablist"
    12            aria-multiselectable="true"
    13            i18n:domain="waeup.kofa">
    14         <tal:sourcesright tal:content="structure provider:sources_right" />
    15       </div>
    16     </td>
    17   </tr>
    18 </table>
     1<div class="modal-body" i18n:domain="waeup.kofa">
     2  <table width="100%">
     3    <tr>
     4      <td valign="top">
     5        <div class="panel-group" id="accordion-left" role="tablist"
     6             aria-multiselectable="true">
     7          <tal:sourcesleft tal:content="structure provider:sources_left" />
     8        </div>
     9      </td>
     10      <td valign="top">
     11        <div class="panel-group" id="accordion-right" role="tablist"
     12             aria-multiselectable="true">
     13          <tal:sourcesright tal:content="structure provider:sources_right" />
     14        </div>
     15      </td>
     16    </tr>
     17  </table>
     18  <button type="button" class="btn btn-default" style="float: right"
     19          i18n:translate="" data-dismiss="modal">
     20      Close
     21  </button>
     22</div>
Note: See TracChangeset for help on using the changeset viewer.