def append_entities_to_entity(request):
"""Appends entities to entity for example appends Projects to user.projects
etc.
"""
logger.debug('append_class_to_entity is running')
entity_id = request.matchdict.get('id', -1)
from stalker import Entity
entity = Entity.query.filter_by(id=entity_id).first()
# selected_list = get_multi_integer(request, 'selected_items[]')
from stalker_pyramid.views import EntityViewBase
selected_list = EntityViewBase.get_multi_integer(request, 'selected_ids')
logger.debug('selected_list: %s' % selected_list)
if entity and selected_list:
appended_entities = Entity.query\
.filter(Entity.id.in_(selected_list)).all()
if appended_entities:
attr_name = appended_entities[0].plural_class_name.lower()
eval(
'entity.%(attr_name)s.extend(appended_entities)' %
{'attr_name': attr_name}
)
from stalker.db.session import DBSession
DBSession.add(entity)
logger.debug('entity is updated successfully')
request.session.flash(
'success:User <strong>%s</strong> is updated successfully' %
entity.name
)
logger.debug('***append_entities_to_entity method ends ***')
else:
logger.debug('not all parameters are in request.params')
from pyramid.httpexceptions import HTTPServerError
HTTPServerError()
from pyramid.httpexceptions import HTTPOk
return HTTPOk()
评论列表
文章目录