예제 #1
0
파일: config.py 프로젝트: mjsorribas/ringo
def setup_modul(config, modul):
    """Setup routes and views for the activated actions of the given
    model of the modul.

    :config: Pylons config instance
    :modul: The module for which the new routes will be set up.
    """
    clazz = helpers.dynamic_import(modul.clazzpath)
    log.info("Setup modul '%s'" % modul.name)

    # Reload modul
    old_actions = list(a.url for a in modul.actions)

    for bclazz in clazz.__bases__:
        if issubclass(bclazz, Mixin):
            for action in bclazz.get_mixin_actions():
                if not action.url in old_actions:
                    action.mid = clazz._modul_id
                    modul.actions.append(action)
                    NTDBSession.add(action)
    NTDBSession.commit()

    for action in modul.actions:
        _setup_web_action(config, action, clazz, web_action_view_mapping)
        _setup_rest_action(config, action, clazz, rest_action_view_mapping)
예제 #2
0
파일: config.py 프로젝트: reiterl/ringo
def setup_modul(config, modul):
    """Setup routes and views for the activated actions of the given
    model of the modul.

    :config: Pylons config instance
    :modul: The module for which the new routes will be set up.
    """
    clazz = helpers.dynamic_import(modul.clazzpath)
    log.info("Setup modul '%s'" % modul.name)

    # Reload modul
    old_actions = list(a.url for a in modul.actions)

    for bclazz in clazz.__bases__:
        if hasattr(bclazz, "get_mixin_actions"):
            for action in bclazz.get_mixin_actions():
                if not action.url in old_actions:
                    action.mid = clazz._modul_id
                    modul.actions.append(action)
                    NTDBSession.add(action)
    NTDBSession.commit()

    for action in modul.actions:
        # Link is a special actions which does not need a view. So
        # ignore it (e.g Link action).
        if not action.url:
            continue
        _setup_web_action(config, action, clazz, web_action_view_mapping)
        _setup_rest_action(config, action, clazz, rest_action_view_mapping)