Coverage for lino/core/ddh.py : 78%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
# -*- coding: UTF-8 -*- # Copyright 2009-2015 Luc Saffre # License: BSD (see file COPYING for details) """
"""A helper object used to find out whether a known object can be deleted or not.
Lino installs an instance of this on each model in an attribute `_lino_ddh` during kernel startup.
.. attribute:: fklist
A list of tuples `(model, fk)`, one item for each FK field in the application which points to this model.
.. attribute:: model
The owning model (i.e. ``m._lino_ddh.model is m`` is True for every model)
"""
# called from kernel during startup. fk_model is None for # fields defined on a parent model.
# avoid duplicate entries caused by MTI children
fmn(a[0])+'.'+a[1].name, fmn(b[0])+'.'+b[1].name)
s = ','.join([m.__name__ + '.' + fk.name for m, fk in self.fklist]) return "<DisableDeleteHandler(%s, %s)>" % (self.model, s)
"""Return a veto message which explains why this object cannot be deleted. Return `None` if there is no veto.
If `ignore_model` (a set of model class objects) is specified, do not check for vetos on ForeignKey fields defined on one of these models.
""" #logger.info("20101104 called %s.disable_delete(%s)", obj, self) # print "20150831 disable_delete", obj, self # print "20150831 skipping", m, fk continue # if m.__name__.endswith("Partner") and fk.name == 'partner': # print 20150831, m, fk continue continue return obj.delete_veto_message(m, n) # print "20141208 generic related objects for %s:" % obj continue n = qs.count() # print "20141208 - %s %s %s" % ( # gfk.model, gfk.name, qs.query) if n: return obj.delete_veto_message(qs.model, n) |