source: TI01-discovery/trunk/OAIInfoEditor/oai_info_editor/templates/repository_info.html @ 5239

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/TI01-discovery/trunk/OAIInfoEditor/oai_info_editor/templates/repository_info.html@5239
Revision 5239, 3.1 KB checked in by cbyrom, 11 years ago (diff)

Add Harvester class to run the jOAI Harvester API and run repository
harvests. Add code throughout the app to allow harvests to be
ran from the UI. Add new test data and tests to exercise the new
functionality and adjust the config file to allow input of required
harvest data. Add confirmation pop up when running deletes.

Line 
1<!--! An individual record - representing something to create/update -->
2<html xmlns="http://www.w3.org/1999/xhtml" 
3        xmlns:py="http://genshi.edgewall.org/"
4        xmlns:xi="http://www.w3.org/2001/XInclude"
5        py:strip="">
6
7    <?python
8                import oai_info_editor.lib.constants as constants
9                import oai_info_editor.model.repositoryinfo as ri
10                from ndg.common.src.lib.htmlUtilities import setupDropdownList
11                import oai_info_editor.model.formattype as format
12        ?>
13        <div py:def="RepositoryInfoTable(records, isEditable, editLink, harvestLink)">
14        <div class="yui-skin-sam sortDiv">
15                <table id="generalRecordTable" class="sortTable">
16        <thead>
17                <tr>
18                                <th>Name</th>
19                                <th>Base URL</th>
20                                <th>SetSpec</th>
21                                <th>Format</th>
22                                <th py:if="c.user.isAdmin">Split by set</th>
23                </tr>
24        </thead>
25        <tbody>
26            <div py:for="i in range(len(records))" py:strip="">
27                    <tr py:if="not records[i].isEmpty()">
28                        <div py:replace="RepositoryInfoRecord(records[i], isEditable, str(i) + ri.RI_DELIMITER, harvestLink)" />
29                    </tr>
30            </div>
31            <?python
32newRecord = ri.RepositoryInfo()
33                        ?>
34            <div py:if="not records" py:strip="">
35                <div py:replace="RepositoryInfoRecord(newRecord, isEditable, '0' + ri.RI_DELIMITER, None)" />
36            </div>
37                        <span py:if="isEditable and records" py:strip="">
38                        <tr id="addRecord" class="hidden">
39                                <div py:replace="RepositoryInfoRecord(newRecord, isEditable, str(len(records)) + ri.RI_DELIMITER, None)" />
40                        </tr>
41                    <tr id="updateLink" class="shown">
42                        <td>
43                                        <a href="javascript:;" title="Click to add new repository data" onclick="document.getElementById('updateLink').style.display = 'none';showHide('addRecord');">
44                                                Add new repository data
45                                        </a>
46                                        </td>
47                                </tr>
48                        </span>
49                        </tbody>
50        </table>
51     </div>
52     </div>
53
54        <div py:def="RepositoryInfoRecord(record, isEditable, prefix, harvestLink)" py:strip="">
55                <div py:replace="EditTextField(prefix + ri.NAME_ELEMENT_NAME, record.name, isEditable, constants.TEXT_FIELD, width='35%')"/>
56                <div py:replace="EditTextField(prefix + ri.URL_ELEMENT_NAME, record.url, isEditable, constants.TEXT_FIELD, width='35%')"/>
57                <div py:replace="EditTextField(prefix + ri.SET_SPEC_ELEMENT_NAME, record.setSpec, isEditable, constants.TEXT_FIELD)"/>
58                <td width="5%">
59                        <span py:if="isEditable" py:strip="">
60                                ${Markup(h.select(prefix + ri.DATA_FORMAT_ELEMENT_NAME, option_tags = setupDropdownList(format.ALL_NAMES, selected = record.dataFormat)))}
61                        </span>
62                    <span py:if="not isEditable" py:strip="">
63                        ${Markup(record.dataFormat or "")}
64                        </span>
65                </td>
66                <td width="5%" py:if="c.user.isAdmin">
67                        ${Markup(h.check_box(prefix + ri.SPLIT_BY_SET_NAME, checked = record.splitBySet, disabled = not isEditable))}
68                </td>
69                <td>
70                <form py:if="harvestLink" action="${harvestLink.replace(constants.REPOSITORY_REPLACEMENT, urllib.quote(record.name))}" method="post">
71              ${Markup(h.submit('Harvest', **{'onclick': 'Div_show("loading");'}))}
72                </form>
73                </td>
74        </div>
75</html>
Note: See TracBrowser for help on using the repository browser.