'Some question types may require additional processing'

@staticmethod
def answer_onaccept(form):

    form_vars = form.vars
    if (form_vars.complete_id and form_vars.question_id):
        atable = current.s3db.survey_answer
        complete_id = form_vars.complete_id
        question_id = form_vars.question_id
        value = form_vars.value
        widget_obj = survey_getWidgetFromQuestion(question_id)
        new_value = widget_obj.onaccept(value)
        if (new_value != value):
            query = ((atable.question_id == question_id) & (atable.complete_id == complete_id))
            current.db(query).update(value=new_value)
