Changeset 5236 for TI01-discovery


Ignore:
Timestamp:
28/04/09 13:57:52 (10 years ago)
Author:
cbyrom
Message:

Add functionality to add new repository info data to provider info
records + properly escape/unescape provider name when passing via url.

Location:
TI01-discovery/trunk/OAIInfoEditor/oai_info_editor
Files:
1 deleted
5 edited

Legend:

Unmodified
Added
Removed
  • TI01-discovery/trunk/OAIInfoEditor/oai_info_editor/controllers/edit.py

    r5235 r5236  
    3939        logging.debug("Processing inputs") 
    4040 
    41         self.providerName = self.inputs.get(PI.NAME_ATT_NAME) 
     41        self.providerName = urllib.unquote(self.inputs.get(PI.NAME_ATT_NAME)) 
    4242         
    4343        # NB, we always need the provider name specified - this is effectively the 
     
    8787        ''' 
    8888        logging.debug("Setting up oai info editor edit page") 
    89         self._setUpController(providerName = providerName) 
     89        unquotedName = urllib.unquote(providerName) 
     90        self._setUpController(providerName = unquotedName) 
    9091 
    91         c.saveLink = h.url_for('saveProviderInfo', providerName = providerName) 
     92        c.saveLink = h.url_for('saveProviderInfo', providerName = urllib.quote(providerName)) 
    9293        c.deleteLink = h.url_for('deleteProviderInfo', providerName = providerName) 
    9394         
    94         c.title = const.EDIT_PAGE_TITLE %providerName 
     95        c.title = const.EDIT_PAGE_TITLE %unquotedName 
    9596        return self._renderTemplate('genshi', 'edit_provider_infos', **self.inputs) 
    9697 
     
    102103        ''' 
    103104        logging.debug("Deleting provider info for provider, '%s'" %providerName) 
     105        providerName = urllib.unquote(providerName) 
    104106        self._setUpController(providerName = providerName) 
    105107 
     
    119121        ''' 
    120122        logging.debug("Saving provider info for provider, '%s'" %providerName) 
     123        providerName = urllib.unquote(providerName) 
    121124        self._setUpController(providerName = providerName) 
    122125        self.__getInputs() 
     
    124127        if c.errors: 
    125128            return self.editProviderInfo(providerName) 
    126              
    127129 
    128130        pi = PI.createProviderInfoWithData(self.providerName, self.repositoryInfos) 
     
    137139 
    138140        # now, return to the view page 
    139         h.redirect_to('viewProviderInfo', providerName = pi.name) 
     141        h.redirect_to('viewProviderInfo', providerName = urllib.quote(pi.name)) 
  • TI01-discovery/trunk/OAIInfoEditor/oai_info_editor/controllers/view.py

    r5233 r5236  
    1717        @param providerName: name of provider whose info should be displayed 
    1818        ''' 
     19        providerName = urllib.unquote(providerName) 
    1920        self._setUpController(providerName = providerName) 
    2021        logging.info("Setting up page to display info for provider, '%s'" %providerName) 
  • TI01-discovery/trunk/OAIInfoEditor/oai_info_editor/templates/home.html

    r5235 r5236  
    66        <head> 
    77        <title py:content="c.title">title</title> 
    8         <?python import oai_info_editor.lib.constants as constants        ?> 
     8        <?python  
     9import oai_info_editor.lib.constants as constants 
     10import urllib 
     11        ?> 
    912            <script py:if="c.popupMessage" type="text/javascript"> 
    1013                        window.onload = alert('$c.popupMessage'); 
     
    2730                              <tr py:for="pi in c.providerInfos"> 
    2831                                <td> 
    29                                         <a href="${h.url_for('viewProviderInfo', providerName = pi.name)}">${Markup(pi.name)}</a> 
     32                                        <a href="${h.url_for('viewProviderInfo', providerName = urllib.quote(pi.name))}">${Markup(pi.name)}</a> 
    3033                                </td> 
    3134                              </tr> 
  • TI01-discovery/trunk/OAIInfoEditor/oai_info_editor/templates/provider_info.html

    r5235 r5236  
    99                import oai_info_editor.lib.constants as constants 
    1010                import oai_info_editor.model.providerinfo as PI 
     11                import urllib 
    1112        ?> 
    1213 
     
    2728                <span py:if="editLink">  
    2829                        <td> 
    29                         <a href="${'%s%s' %(c.editLink, record.name)}" onclick="Div_show('loading');">Edit</a> 
     30                        <a href="${'%s%s' %(c.editLink, urllib.quote(record.name))}" onclick="Div_show('loading');">Edit</a> 
    3031                        </td> 
    3132                        <td py:if="c.user.isAdmin"> 
    32                         <a href="${'%s%s' %(c.deleteLink, record.name)}" onclick="Div_show('loading');">Delete</a> 
     33                        <a href="${'%s%s' %(c.deleteLink, urllib.quote(record.name))}" onclick="Div_show('loading');">Delete</a> 
    3334                        </td> 
    3435                        <td py:if="not c.user.isAdmin" /> 
  • TI01-discovery/trunk/OAIInfoEditor/oai_info_editor/templates/repository_info.html

    r5235 r5236  
    2929                    </tr> 
    3030            </div> 
    31             <div py:if="not records" py:strip=""> 
    32                     <?python 
     31            <?python 
    3332newRecord = ri.RepositoryInfo() 
    3433                        ?> 
     34            <div py:if="not records" py:strip=""> 
    3535                <div py:replace="RepositoryInfoRecord(newRecord, isEditable, '0' + ri.RI_DELIMITER)" /> 
    3636            </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)" /> 
     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> 
    3749                        </tbody> 
    3850        </table> 
Note: See TracChangeset for help on using the changeset viewer.