<div dir="ltr"><div>Hello List,</div><div><br></div><div>I am failing to make a validation using RQLConstraint. What I am trying to accomplish is to validate dates among attributes of the same entity, making the following validations:</div>
<div><br></div><div> (finished date >= prevision date) & (prevision date >= start date)</div><div><br></div><div>none of the dates are required, but if you need to set prevision date then you must set start date, same thing for finished date.</div>
<div><br></div><div>Here is the entity:</div><div><br></div><div>class ProjectStage(WorkflowableEntityType):</div><div>    """a project stage groups a list of activities/todo's to be completed</div><div>
    in certain amount of time.</div><div>    """</div><div>    start = Datetime(description=_('start date'),</div><div>                 constraints=[</div><div>            RQLConstraint('(S start NULL)'</div>
<div>                          ' OR (S start <= B, S prevision B)'</div><div>                          ' OR (S prevision NULL)',</div><div>                          msg=_('start date should be'</div>
<div>                                ' less than or equal to'</div><div>                                ' prevision date')),</div><div>            RQLConstraint('(S start NULL)'</div><div>                          ' OR (S start <= B, S finished B)'</div>
<div>                          ' OR (S finished NULL)',</div><div>                          msg=_('start date should be'</div><div>                                ' less than or equal to'</div><div>
                                ' finish date'))])</div><div>    prevision = Datetime(description=_('estimated finish date'),</div><div>                     constraints=[</div><div>            RQLConstraint('(S prevision NULL)'</div>
<div>                          ' OR (S prevision >= B, S start B)'</div><div>                          ' OR (S start NULL)',</div><div>                          msg=_('prevision date should be'</div>
<div>                                ' greater than or equal to'</div><div>                                ' start date'))])</div><div>    finished = Datetime(description=_('real finish date'),</div>
<div>                        constraints=[</div><div>            RQLConstraint('(S finished NULL)'</div><div>                          ' OR (S finished >= B, S start B)'</div><div>                          ' OR (S start NULL)',</div>
<div>                          msg=_('finish date should be'</div><div>                                ' greater than or equal to'</div><div>                                ' start date'))])</div><div>
<br></div><div><br></div><div>At the time I am creating the ProjectStage entity I am getting the message of constraint violation even though the date values are correct according to the explained logic.</div><div><br></div>
<div>I understand this functionality can be covered by using hooks, but I really like to know if what I am trying to do is possible by using RQLConstraints or to find out what I am doing wrong.</div><div><br></div><div>I will appreciate very much your help or guidance.</div>
<div><br></div><div>Thank you very much to all!.</div>-- <br><div>Carlos Balderas</div><div><br></div>
</div>