Zine

open source content publishing system


Changeset 1336:f7557bef0b09


Ignore:
Timestamp:
01/10/10 20:09:58 (2 years ago)
Author:
Georg Brandl <georg@…>
Branch:
default
Message:

Add repo ids of out-of-date components to upgrade info page.

Location:
zine
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • zine/_core.py

    r1331 r1336  
    3030class InstanceUpgradeRequired(RuntimeError): 
    3131    """Zine requires a database upgrade""" 
     32    def __init__(self, repo_ids=None): 
     33        self.repo_ids = repo_ids 
    3234 
    3335class MissingDependency(RuntimeError): 
     
    6769            app.__init__(instance_folder) 
    6870            app.check_if_upgrade_required() 
    69         except InstanceUpgradeRequired: 
     71        except InstanceUpgradeRequired, inst: 
    7072            from zine.upgrades.webapp import WebUpgrades 
    71             _application = app = WebUpgrades(app) 
     73            _application = app = WebUpgrades(app, inst.repo_ids) 
    7274        except: 
    7375            # if an exception happened, tear down the application 
  • zine/application.py

    r1332 r1336  
    882882        from zine.upgrades.customisation import Repository 
    883883 
     884        to_upgrade = [] 
     885 
    884886        for sv in SchemaVersion.query.all(): 
    885887            repository = Repository(sv.repository_path, sv.repository_id) 
     
    887889                self.repository_has_upgrade(repository, sv) 
    888890            except _core.InstanceUpgradeRequired: 
    889                 # set Zine in maintenance mode 
    890                 cfg = self.cfg.edit() 
    891                 cfg['maintenance_mode'] = True 
    892                 cfg.commit() 
    893                 raise _core.InstanceUpgradeRequired() 
     891                to_upgrade.append(sv.repository_id) 
     892 
     893        if to_upgrade: 
     894            # set Zine in maintenance mode 
     895            cfg = self.cfg.edit() 
     896            cfg['maintenance_mode'] = True 
     897            cfg.commit() 
     898            raise _core.InstanceUpgradeRequired(to_upgrade) 
    894899 
    895900        # we got here, let's check for a bad upgrade lockfile left behind 
  • zine/templates/admin/perform_upgrade.html

    r1335 r1336  
    115115          this is designed not to corrupt your database, you can back it up 
    116116          now before clicking “Perform upgrade”.{% endtrans %}</p> 
     117      {%- if repo_ids %} 
     118      <p>{% trans %}Components that need an upgrade:{% endtrans %} 
     119          {{ repo_ids|join(', ') }}</p>  
     120      {%- endif %} 
    117121      <br/> 
    118122      <form action="" method="POST"> 
  • zine/upgrades/webapp.py

    r1334 r1336  
    4444    wants_reload = False 
    4545 
    46     def __init__(self, app): 
     46    def __init__(self, app, repo_ids=None): 
    4747        self.app = app 
     48        self.repo_ids = repo_ids 
    4849        self.database_engine = app.database_engine 
    4950        self.lockfile = app.upgrade_lockfile 
     
    134135 
    135136        return render_response(request, 'admin/perform_upgrade.html', 
    136                                in_progress=isfile(self.lockfile)) 
     137                               in_progress=isfile(self.lockfile), 
     138                               repo_ids=self.repo_ids) 
    137139 
    138140    def __call__(self, environ, start_response): 
Note: See TracChangeset for help on using the changeset viewer.