✏️ 正在编辑: Company.php
路径:
/srv/systems_dir/koruspay/application/forms/Company.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class Form_Company extends Yuppie_Form_Save { protected $_fieldsConfiguracoes = [ 'canal_whatsapp', 'zapi_instancia', 'zapi_token', 'zapi_domain', 'mensagem_boas_vindas', 'prefixo_cupom', 'cupom_cadastro_inicial', 'fidelidade_pedidos', 'fidelidade_intervalo', 'fidelidade_tolerancia_resgate', 'fidelidade_lembrete', 'mensagem_lembrete', 'valor_ponto', 'grupo_lead_padrao', 'notificar_aniversariantes', 'mensagem_padrao_aniversariantes', 'integracao_delivery', 'notificar_resgate_disponivel', 'mensagem_resgate_disponivel', 'enviar_pesquisa_satisfacao', 'pesquisa_satisfacao', 'script_html' ]; protected $_fieldsScore = [ 'dias_score_habitual', 'dias_score_fiel', 'dias_score_risco', 'dias_score_perdido', 'dias_recencia', 'dias_frequencia', 'dias_ticket_medio', 'ticket_medio', ]; protected $_fieldsCriterios = [ 'score_vip_indica', 'score_vip_ticket_medio', 'score_vip_periodo', 'score_vip_frequencia', ]; public function init() { $this->addElement('hidden', 'id'); $front = Zend_Controller_Front::getInstance(); $request = $front->getRequest(); $params = $request->getParams(); $this->addElement('text', 'fantasy', array( 'label' => 'Nome Fantasia:', 'required' => true, 'size' => 35 )); $this->addElement('text', 'reason', array( 'label' => 'Razão Social:', 'size' => 35 )); $this->addElement('text', 'doc_number', array( 'label' => 'CNPJ:', 'onkeypress' => 'mascara(this, fcnpj)', 'maxlength' => 18, 'validators' => array( new Validators_Cnpj() ) )); $this->addElement('text', 'zip_code', array( 'label' => 'CEP:', 'onkeypress' => 'mascara(this, soNumeros)', 'maxlength' => 8, 'size' => 10 )); $this->addElement('text', 'street', array( 'label' => 'Endereço:', 'size' => 35 )); $this->addElement('text', 'complement', array( 'label' => 'Complemento:', 'size' => 35 )); $this->addElement('text', 'neighborhood', array( 'label' => 'Bairro:', )); $this->addElement('text', 'city', array( 'label' => 'Cidade:', )); $this->addElement('text', 'state', array( 'label' => 'UF:', 'maxlength' => 2, 'size' => 3, 'validators' => array(new Validators_Uf()) )); $this->addElement('text', 'email', array( 'label' => 'E-mail:', 'validators' => array('EmailAddress'), 'size' => 35 )); $this->addElement('text', 'cell', array( 'label' => 'Celular:', 'onkeypress' => 'mascara(this, telefone)', 'size' => 20, 'maxlength' => 15, )); $this->addElement('text', 'fax', array( 'label' => 'Fax:', 'onkeypress' => 'mascara(this, telefone)', 'size' => 20, 'maxlength' => 15, )); $this->addElement('text', 'phone', array( 'label' => 'Fone:', 'onkeypress' => 'mascara(this, telefone)', 'size' => 20, 'maxlength' => 15, )); $this->addElement('text', 'accountable', array( 'label' => 'Nome Reponsável:', 'size' => 35 )); $this->addElement('text', 'doc_accountable', array( 'label' => 'CPF Responsável:', 'onkeypress' => 'mascara(this, fcpf)', 'maxlength' => 14 )); $this->addElement('textarea', 'obs', array( 'label' => 'OBS:', 'rows' => 5, 'cols' => 40 )); $this->addElement('select', 'canal_whatsapp', [ 'label' => 'Canal (WA):', 'multioptions' => [ '' => '', 'zapi' => 'Zapi', 'digisac' => 'Digisac', ] ]); $this->addElement('text', 'zapi_instancia', array( 'label' => 'ID Instância (WA):', )); $this->addElement('text', 'zapi_token', array( 'label' => 'Token (WA):', )); $this->addElement('text', 'zapi_domain', array( 'label' => 'Domínio (WA):', 'value' => 'api.z-api.io' )); $this->addElement('text', 'prefixo_cupom', array( 'label' => 'Prefixo Cupom:', 'maxlength' => 4, 'min' => 1, 'required' => true )); $this->addElement('select', 'mensagem_boas_vindas', [ 'label' => 'Mensagem Boas Vindas:', 'multiOptions' => Core_Combos::getMensagensOptions(2, $params['id']) ]); $this->addElement('select', 'cupom_cadastro_inicial', [ 'label' => 'Cupom Padrão:', 'multiOptions' => Core_Combos::getCuponsOptions($params['id']), ]); $this->addElement('number', 'fidelidade_pedidos', array( 'label' => 'Pontos para Resgate:', 'onkeypress' => 'mascara(this, soNumeros)', )); $this->addElement('number', 'fidelidade_intervalo', array( 'label' => 'Prazo Resgate (dias):', 'onkeypress' => 'mascara(this, soNumeros)', )); $this->addElement('number', 'fidelidade_tolerancia_resgate', array( 'label' => 'Tolerância Resgate:', 'onkeypress' => 'mascara(this, soNumeros)', )); $this->addElement('number', 'fidelidade_lembrete', array( 'label' => 'Lembrete (dias p/ expirar):', 'onkeypress' => 'mascara(this, soNumeros)', )); $this->addElement('select', 'mensagem_lembrete', [ 'label' => 'Mensagem Lembrete', 'multiOptions' => Core_Combos::getMensagensOptions(5, $params['id']) ]); $this->addElement('select', 'grupo_lead_padrao', [ 'label' => 'Grupo Padrão (clientes)', 'required' => true, 'multiOptions' => Core_Combos::getGruposLeadsOptions() ]); $this->addElement('select', 'notificar_aniversariantes', [ 'label' => 'Notificar Aniversariantes', 'multiOptions' => Core_Combos::getSimNaoOptions() ]); $this->addElement('select', 'mensagem_padrao_aniversariantes', [ 'label' => 'Mensagem Aniversariantes', 'multiOptions' => Core_Combos::getMensagensOptions(3, $params['id']) ]); $this->addElement('select', 'integracao_delivery', [ 'label' => 'Integração com Delivery:', 'multioptions' => [ 0 => 'Não', 1 => 'Sim', ] ]); $this->addElement('select', 'notificar_resgate_disponivel', [ 'label' => 'Notificar Resgate Disponível:', 'multioptions' => [ 0 => 'Não', 1 => 'Sim', ] ]); $this->addElement('select', 'enviar_pesquisa_satisfacao', [ 'label' => 'Enviar Pesquisa Satisfação:', 'multioptions' => [ 0 => 'Não', 1 => 'Sim', ] ]); $this->addElement('select', 'pesquisa_satisfacao', [ 'label' => 'Pesquisa Satisfação:', 'multiOptions' => Core_Combos::getPesquisasOptions($params['id']) ]); $this->addElement('textarea', 'script_html', [ 'label' => 'TAG Conversão:', 'cols' => '80', 'rows' => 5 ]); $this->addElement('select', 'mensagem_resgate_disponivel', [ 'label' => 'Mensagem Resgate Disponivel:', 'multiOptions' => Core_Combos::getMensagensOptions(4, $params['id']) ]); $this->addElement('text', 'valor_ponto', [ 'label' => 'Valor do Ponto (R$):', 'onkeypress' => 'mascara(this, mvalor)', ]); $this->addElement('number', 'dias_score_habitual', [ 'label' => 'Cliente Habitual (dias):', 'onkeypress' => 'mascara(this, soNumeros)', 'description' => 'Intervalo de dias máximo entre pedidos.' ]); $this->addElement('number', 'dias_score_fiel', [ 'label' => 'Cliente Fiel (dias):', 'onkeypress' => 'mascara(this, soNumeros)', 'description' => 'Nº de dias máximo entre os últimos 10 pedidos.' ]); $this->addElement('number', 'dias_score_risco', [ 'label' => 'Cliente Em Risco (dias):', 'onkeypress' => 'mascara(this, soNumeros)', 'description' => 'Acima desse período é considerado Em Risco.' ]); $this->addElement('number', 'dias_score_perdido', [ 'label' => 'Cliente Perdido (dias):', 'onkeypress' => 'mascara(this, soNumeros)', 'description' => 'Acima desse período é considerado Perdido.' ]); $this->addElement('number', 'dias_recencia', [ 'label' => 'Intervalo Recência:', 'onkeypress' => 'mascara(this, soNumeros)', 'description' => 'Intervalo de dias para cálculo da recência.' ]); $this->addElement('number', 'dias_ticket_medio', [ 'label' => 'Intervalo Ticket Médio:', 'onkeypress' => 'mascara(this, soNumeros)', 'description' => 'Intervalo de dias para cálculo do ticket médio.' ]); $this->addElement('text', 'ticket_medio', [ 'label' => 'Valor Ticket Médio:', 'onkeypress' => 'mascara(this, mvalor)', 'description' => 'Valor para corte no cálculo do ticket médio.' ]); $this->addElement('number', 'dias_frequencia', [ 'label' => 'Intervalo Frequência:', 'onkeypress' => 'mascara(this, soNumeros)', 'description' => 'Intervalo de dias para cálculo da frequência do cliente na loja.' ]); $this->addElement('select', 'score_vip_indica', [ 'label' => 'Indicar outros clientes:', 'multioptions' => [ 0 => 'Não', 1 => 'Sim', ] ]); $this->addElement('text', 'score_vip_ticket_medio', [ 'label' => 'Ticket médio acima de(R$):', 'onkeypress' => 'mascara(this, mvalor)', ]); $this->addElement('select', 'score_vip_periodo', [ 'label' => 'Período de avaliação:', 'multioptions' => [ 0 => null, 7 => 'Semanal', 15 => 'Quinzenal', 30 => 'Mensal', 60 => 'Bimestral', 90 => 'Trimestral', 180 => 'Semestral' ] ]); $this->addElement('number', 'score_vip_frequencia', [ 'label' => 'Mínimo de pedidos no período:', 'onkeypress' => 'mascara(this, soNumeros)', ]); $this->addDisplayGroup($this->_fieldsConfiguracoes, 'configuracoes', [ 'legend' => 'Configurações' ]); $this->addDisplayGroup($this->_fieldsScore, 'config_score', [ 'legend' => 'Configurações de Score' ]); $this->addDisplayGroup($this->_fieldsCriterios, 'config_score_vip', [ 'legend' => 'Critérios para Score VIP' ]); $this->_initButtons(); } public function populate(array $values) { if (isset($values['valor_ponto'])) { $values['valor_ponto'] = number_format($values['valor_ponto'], 2, ',', '.'); } if (isset($values['score_vip_ticket_medio'])) { $values['score_vip_ticket_medio'] = number_format($values['score_vip_ticket_medio'], 2, ',', '.'); } if (isset($values['ticket_medio'])) { $values['ticket_medio'] = number_format($values['ticket_medio'], 2, ',', '.'); } parent::populate($values); } public function isValid($data) { $valid = true; if (!empty($data['dias_score_habitual']) && !empty($data['dias_score_fiel']) && $data['dias_score_habitual'] <= $data['dias_score_fiel']) { $this->getElement('dias_score_habitual') ->addError('A quantidade de dias para cliente Habitual deve ser maior que Fiel.'); $valid = false; } return $valid && parent::isValid($data); } }
💾 保存文件
← 返回文件管理器