Exemplo n.º 1
0
 def get_field_attrs(self, db_field, **kwargs):
     attrs = super(ExtensionAdmin, self).get_field_attrs(db_field, **kwargs)
     if db_field.name == 'action_to_id':
         attrs['widget'] = widgets.SelectRelation(
             self,
             'action_type',
             {
                 'device':
                 widgets.ForeignKeyPopupWidget(self, models.Device, 'id'),
                 'ivr':
                 widgets.ForeignKeyPopupWidget(self, models.IVR, 'id'),
                 'conference':
                 widgets.ForeignKeyPopupWidget(self, models.Conference,
                                               'id'),
                 #'queue': widgets.ForeignKeyPopupWidget(self,models.Queue,'id'),
                 'voicemail':
                 widgets.ForeignKeyPopupWidget(self, models.VoiceMail,
                                               'id'),
             })
     if db_field.name == 'sound_content':
         fkwidget = widgets.ForeignKeyPopupWidget(self,
                                                  base_models.MediaFile,
                                                  'true_path')
         charwidget = widgets.AdminTextInputWidget()
         attrs['widget'] = widgets.SelectRelation(
             self, 'sound_type', {
                 'audio': fkwidget,
                 'tts': charwidget,
                 'number': charwidget,
                 'count': charwidget,
                 'tts_var': charwidget,
                 'number_var': charwidget,
                 'count_var': charwidget,
             })
     return attrs
Exemplo n.º 2
0
def make_action_to_selections(self):
    from xadmin import widgets
    from apps.funcs import models as funcs_models
    from apps.extend import models as extend_models
    return {
        'device':
        widgets.ForeignKeyPopupWidget(self, funcs_models.Device, 'id'),
        'ivr':
        widgets.ForeignKeyPopupWidget(self, extend_models.IVR, 'id'),
        'conference':
        widgets.ForeignKeyPopupWidget(self, funcs_models.Conference, 'id'),
        #'queue': widgets.ForeignKeyPopupWidget(self,models.Queue,'id'),
        'ringgroup':
        widgets.ForeignKeyPopupWidget(self, funcs_models.RingGroup, 'id'),
        'voicemail':
        widgets.ForeignKeyPopupWidget(self, funcs_models.VoiceMail, 'id'),
    }
Exemplo n.º 3
0
 class MyForm(forms.Form):
     name = forms.CharField(label='名称')
     parent = forms.IntegerField(label='父目录',
                                 required=False,
                                 widget=widgets.ForeignKeyPopupWidget(
                                     self, models.MediaFile, 'id'))
     number = forms.CharField(label='分机号',
                              required=False,
                              help='通过此分机号来接听并录音')
     media_file = forms.FileField(label='上传媒体文件', required=False)
Exemplo n.º 4
0
def make_audio_selections(self):
    from xadmin import widgets
    from apps.extend.models import MediaFile
    return {
        'audio': widgets.ForeignKeyPopupWidget(self, MediaFile, 'id'),
        'tts': widgets.AdminTextInputWidget(),
        'number': widgets.AdminTextInputWidget(),
        'count': widgets.AdminTextInputWidget(),
        'tts_var': widgets.AdminTextInputWidget(),
        'number_var': widgets.AdminTextInputWidget(),
        'count_var': widgets.AdminTextInputWidget(),
    }
Exemplo n.º 5
0
 def get_field_attrs(self, db_field, **kwargs):
     attrs = super(IVRKeymappingInline,
                   self).get_field_attrs(db_field, **kwargs)
     if db_field.name == 'action_to_id':
         attrs['widget'] = widgets.SelectRelation(
             self,
             'action_type',
             {
                 'device':
                 widgets.ForeignKeyPopupWidget(self, models.Device, 'name'),
                 'ivr':
                 widgets.ForeignKeyPopupWidget(self, models.IVR, 'id'),
                 'conference':
                 widgets.ForeignKeyPopupWidget(self, models.Conference,
                                               'id'),
                 #'queue': widgets.ForeignKeyPopupWidget(self,models.Queue,'id'),
                 'voicemail':
                 widgets.ForeignKeyPopupWidget(self, models.VoiceMail,
                                               'id'),
                 'parent':
                 HiddenInput()
             },
             inline_ref='keymappings')
     return attrs
Exemplo n.º 6
0
 def get_field_attrs(self, db_field, **kwargs):
     attrs = super(PhraseItemInline,
                   self).get_field_attrs(db_field, **kwargs)
     if db_field.name == 'sound_content':
         fkwidget = widgets.ForeignKeyPopupWidget(self, models.MediaFile,
                                                  'true_path')
         charwidget = widgets.AdminTextInputWidget()
         attrs['widget'] = widgets.SelectRelation(
             self,
             'sound_type', {
                 'audio': fkwidget,
                 'tts': charwidget,
                 'number': charwidget,
                 'count': charwidget,
                 'tts_var': charwidget,
                 'number_var': charwidget,
                 'count_var': charwidget,
             },
             inline_ref='items')
     return attrs
Exemplo n.º 7
0
 def get_field_attrs(self, db_field, **kwargs):
     attrs = super(IVRAdmin, self).get_field_attrs(db_field, **kwargs)
     if db_field.name == 'greet_long_content':
         fkwidget = widgets.ForeignKeyPopupWidget(self,
                                                  base_models.MediaFile,
                                                  'true_path')
         charwidget = widgets.AdminTextInputWidget()
         attrs['widget'] = widgets.SelectRelation(
             self, 'greet_long_type', {
                 'audio': fkwidget,
                 'tts': charwidget,
                 'number': charwidget,
                 'count': charwidget,
                 'tts_var': charwidget,
                 'number_var': charwidget,
                 'count_var': charwidget,
             })
     if db_field.name == 'greet_short_content':
         fkwidget = widgets.ForeignKeyPopupWidget(self,
                                                  base_models.MediaFile,
                                                  'true_path')
         charwidget = widgets.AdminTextInputWidget()
         attrs['widget'] = widgets.SelectRelation(
             self, 'greet_short_type', {
                 'audio': fkwidget,
                 'tts': charwidget,
                 'number': charwidget,
                 'count': charwidget,
                 'tts_var': charwidget,
                 'number_var': charwidget,
                 'count_var': charwidget,
             })
     if db_field.name == 'invalid_sound_content':
         fkwidget = widgets.ForeignKeyPopupWidget(self,
                                                  base_models.MediaFile,
                                                  'true_path')
         charwidget = widgets.AdminTextInputWidget()
         attrs['widget'] = widgets.SelectRelation(
             self, 'invalid_sound_type', {
                 'audio': fkwidget,
                 'tts': charwidget,
                 'number': charwidget,
                 'count': charwidget,
                 'tts_var': charwidget,
                 'number_var': charwidget,
                 'count_var': charwidget,
             })
     if db_field.name == 'exit_sound_content':
         fkwidget = widgets.ForeignKeyPopupWidget(self,
                                                  base_models.MediaFile,
                                                  'true_path')
         charwidget = widgets.AdminTextInputWidget()
         attrs['widget'] = widgets.SelectRelation(
             self, 'exit_sound_type', {
                 'audio': fkwidget,
                 'tts': charwidget,
                 'number': charwidget,
                 'count': charwidget,
                 'tts_var': charwidget,
                 'number_var': charwidget,
                 'count_var': charwidget,
             })
     return attrs