コード例 #1
0
def auto_dial_disable(request):
    """10/03/19: moved from view.py"""

    if dsh_django_request.deny_it(request):
        return views.please_log_in()

    response = views.page_header('disable auto-dial')

    dsh_db_config.set('auto_dial_disable', True)
    disabled = dsh_db_config.get('auto_dial_disable')
    
    if not disabled:
        message = 'views.auto_dial_disable: unexpected error.'
        response += dsh_utils.red_error_break_msg(message)
        dsh_django_utils.error_event(message, errorLevel='CRT')
        response += views.page_footer()
        return HttpResponse(response)

    response += spool_wipe_status_message()
    dsh_django_utils.auto_schedule_delete_all()

    response += dsh_utils.black_break_msg(
        'now <font color=red><b>disabled</b></font>. ' +\
        'wanna <a href="/autodialenable">re-enable</a>?')
    
    response += views.page_footer()

    dsh_agi.report_event('auto-dial disabled.')

    return HttpResponse(response)
コード例 #2
0
def selection_unshare(request):
    if dsh_django_request.deny_it(request):
        return views.please_log_in()

    response = views.page_header('unshare the selected items')
    response += dsh_selection.process_selection('peer_shared', action='clear')
    response += views.page_footer()
    return HttpResponse(response)
コード例 #3
0
def selection_activate(request):
    if dsh_django_request.deny_it(request):
        return views.please_log_in()

    response = views.page_header('activate the selected items')
    response += dsh_selection.process_selection('active', action='set')
    response += views.page_footer()
    return HttpResponse(response)
コード例 #4
0
def unhear(request, dshUid, eventTable, itemTable):
    """
    10/04/01:
    called by views.unhear().
    """

    if dsh_django_request.deny_it(request):
        return views.please_log_in()

    response = views.page_header('unhear')
    response += dsh_common_db.unhear(dshUid, eventTable, itemTable)
    response += views.page_footer()
    return HttpResponse(response)
コード例 #5
0
def send_demo_reply_confirmed(request, dshUid,
                              itemTable, keyWordTable, eventTable):
    """
    10/04/09: called by views.send_demo_reply_confirmed()
    """

    if dsh_django_request.deny_it(request):
        return views.please_log_in()

    response = views.page_header('sending a demo reply now')
    response += dsh_common_db.send_demo_reply_confirmed(
        dshUid, itemTable, keyWordTable, eventTable)
    response += views.page_footer()
    return HttpResponse(response)
コード例 #6
0
def send_demo_reply_now(request, itemTable, keyWordTable, eventTable):
    """
    10/04/09: called by views.send_demo_reply_now()
    """

    if dsh_django_request.deny_it(request):
        return views.please_log_in()

    response = views.page_header('send a demo reply now')
    sessionID = dsh_common_db.make_dsh_uid()
    success,msg = dsh_common_agi.demo_reply(
        itemTable, keyWordTable, eventTable, sessionID=sessionID)
    response += msg
    response += views.page_footer()
    return HttpResponse(response)
コード例 #7
0
def clear_current_dial_set(request, personTable):
    """
    10/03/22:
    called by views.clear_current_dial_set().
    """

    if dsh_django_request.deny_it(request):
        return views.please_log_in()

    response = views.page_header('clear the current dial set')

    response += dsh_common_selection.clear_current_dial_set(personTable)

    response += views.page_footer()
    return HttpResponse(response)
コード例 #8
0
def keyword_deselect(request, dshUid, keyWordTable, itemTable):
    """called by views.keyword_select().
    remove the keyworded items from the current selection.
    """

    if dsh_django_request.deny_it(request):
        return views.please_log_in()

    response = views.page_header('de-select items with this key word')

    success,msgs = dsh_common_selection.keyword_select(
        dshUid, keyWordTable, itemTable, action='deselect')
    response += msgs

    response += views.page_footer()
    return HttpResponse(response)
コード例 #9
0
def set_current_dial_sel(personTable, request, action='set'):
    """
    10/03/22.  called by views.set_current_dial_sel() and
    views.clear_current_dial_sel().
    """

    if dsh_django_request.deny_it(request):
        return views.please_log_in()

    response = views.page_header('add people to the current dial set')
    if action == 'clear':
        response = views.page_header('remove people from the current dial set')

    response += dsh_common_selection.process_selected_people_current_dial(
        personTable, action=action)
    response += views.page_footer()
    return HttpResponse(response)
コード例 #10
0
def select_current_dial_set(personTable, request, action='set'):
    """
    10/03/22.  called by views.select_current_dial_set() and
    deselect_current_dial_set().
    """

    if dsh_django_request.deny_it(request):
        return views.please_log_in()

    response = views.page_header('select people in the current dial set')
    if action == 'clear':
        response = views.page_header(
            'de-select people in the current dial set')

    response += dsh_common_selection.select_current_dial_set(
        personTable, action=action)
    response += views.page_footer()
    return HttpResponse(response)
コード例 #11
0
def reply_upload_submit(request, dshUid):
    """
    10/03/06:
    called by views.reply_upload_submit().
    a temporary reply has been put in.
    modeled after views.reply_submit()
    """

    if dsh_django_request.deny_it(request):
        return views.please_log_in()

    response = views.page_header('a reply is initiated')

    success,msgs = dsh_django_utils.save_red5_mp3_in_django(
        None, originalItemDshUid=dshUid, copyBlankReply=True)
    response += msgs

    response += views.page_footer()
    return HttpResponse(response)
コード例 #12
0
def add_person_keyword(request, personTable, keyWordTable, dshUid,
                       action='set'):
    """
    10/03/22:
    called by views.add_person_keyword() and views.del_person_keyword().
    """

    if dsh_django_request.deny_it(request):
        return views.please_log_in()

    response = views.page_header('add this key word to selected persons')
    if action == 'clear':
        response = views.page_header(
            'remove this key word from selected persons')

    response += dsh_common_selection.add_person_key_word(
        personTable, keyWordTable, dshUid, action=action)

    response += views.page_footer()
    return HttpResponse(response)
コード例 #13
0
def reply_upload(request, dshUid):
    """
    10/03/06:
    called by views.reply_upload().
    displays a page asking for confirming to make a blank reply.
    modeled after views.reply()
    """

    if dsh_django_request.deny_it(request):
        return views.please_log_in()

    response = views.page_header('reply to a message')
    response += """
<BR>
You're about to create a blank reply, which needs to be further refined.
<a href='/replyuploadsubmit/%s'>Confirm</a>?
<BR>
""" % (dshUid,)
    response += views.page_footer()
    return HttpResponse(response)
コード例 #14
0
def reschedule(request, personTable):
    """
    10/03/19: moved from views.py
    a combination of delete all and active."""
    
    if dsh_django_request.deny_it(request):
        return views.please_log_in()
    
    response = views.page_header('reschedule auto-dialed calls')
    dsh_common_agi.auto_schedule_delete_all()

    response += spool_wipe_status_message()

    disabled = dsh_db_config.get('auto_dial_disable')
    if disabled:
        response += dsh_utils.black_break_msg(
            'global auto-dial is currently ' +\
            '<font color=red><b>disabled</b></font>.')
        response += dsh_utils.black_break_msg(
            'processing people in the current dial set...')
        response += dsh_common_selection.reschedule_current_dial_set(
            personTable)
    else:
        response += dsh_utils.black_break_msg(
            'global auto-dial is currently ' +\
            '<font color=green><b>enabled</b></font>.')
        response += dsh_utils.black_break_msg(
            'processing all people...')
        dsh_django_utils.check_auto_timed_calls_for_all_persons(noLogging=True)

    response += dsh_utils.black_break_msg('done.')
    response += dsh_utils.black_break_msg(
        'see the <a href=/scheduled>schedule</a>.')

    response += views.page_footer()

    dsh_agi.report_event(
        'reschedule triggered by web interface.',
        action='RESC')
    
    return HttpResponse(response)
コード例 #15
0
def select_keyed_persons(request, personTable, keyWordTable, dshUid,
                         action='set'):
    """
    10/03/22.
    called by views.select_key_persons() and views.deselect_keyed_persons().
    """

    if dsh_django_request.deny_it(request):
        return views.please_log_in()

    response = views.page_header('select persons with this key word')
    if action == 'clear':
        response = views.page_header(
            'de-select persons with this key word')

    success,msg = dsh_common_selection.select_keyed_persons(
        personTable, keyWordTable, dshUid, action=action)

    response += msg    

    response += views.page_footer()
    return HttpResponse(response)
コード例 #16
0
def demographics(request, dshUid, personTable):
    """
    10/03/13:
    called by views.demographics().
    """

    if dsh_django_request.deny_it(request):
        return views.please_log_in()

    response = views.page_header('demographics', includeMp3Player=True)
    person = dsh_django_utils.get_foreign_key(personTable, dshUid)

    if not person:
        message = 'dsh_common_views.demographics: no person found: ' + dshUid
        response += dsh_utils.red_error_break_msg(message)
        dsh_django_utils.error_event(message, errorLevel='ERR')
        response += page_footer()
        return HttpResponse(response)

    personEditUrl = dsh_django_config.lookup('PERSON_DETAIL_URL') + \
                    str(person.id)
    thumb = dsh_django_utils.thumbnail(
        person, person.mugshot, noCenter=True)
    url = '<a href=%s title="edit person details">%s</a>' % \
          (personEditUrl, thumb)

    response += url

    response += '<BR><BR>'
    response += '<TABLE BORDER=1>'

    name = person.__unicode__()
    if name:
        response += '<TR><TD>name</TD><TD>%s</TD></TR>' % (name,)

    if person.spoken_name:
        spokenName = person.spoken_name_display_field()
        if spokenName:
            response += '<TR><TD>spoken name</TD><TD>%s</TD></TR>' % \
                        (spokenName)

    response += '<TR><TD>dsh uid</TD><TD>%s</TD></TR>' % (person.dsh_uid,)

    if person.phone_number:
        response += '<TR><TD>phone</TD><TD>%s</TD></TR>' % \
                    (person.phone_number,)

    if person.organization and person.organization.alias:
        response += '<TR><TD>org.</TD><TD>%s</TD></TR>' % \
                    (person.organization.alias,)

    if person.ptype:
        response += '<TR><TD>type</TD><TD>%s</TD></TR>' % (person.ptype,)

    if person.gender:
        response += '<TR><TD>gender</TD><TD>%s</TD></TR>' % (person.gender,)
        
    if person.date_birth:
        if person.birth_date_approximate:
            dateStr = str(person.date_birth.year)
        else:
            dateStr = person.date_birth.isoformat()
        response += '<TR><TD>birth date</TD><TD>%s</TD></TR>' % (dateStr,)

    if person.birth_date_approximate:
        response += '<TR><TD>birth date approximate</TD><TD>True</TD></TR>'

    if person.date_birth:
        years = dsh_common_db.calculate_age(person)
        if years:
            response += '<TR><TD>age</TD><TD>%s</TD></TR>' % (str(years),)

    if person.modify_datetime:
        timeStr = person.modify_datetime.strftime(
            '%#Y-%#m-%#d %#H:%#M:%#S')
        response += '<TR><TD>modify time</TD><TD>%s</TD></TR>' % (timeStr,)
    
    response += '</TABLE>'
    
    response += views.mp3_widget_control()
    response += views.page_footer()
    return HttpResponse(response)