Support » Plugin: Moloni » Criar alguns hooks para developers

  • Resolved Marco Almeida

    (@webdados)


    Bom dia,

    De uma forma geral sugiro que tentem implementar filters e actions como parte do vosso desenvolvimento para tornar o plugin mais developer friendly.
    Se não forem usados têm zero impacto em 100% das instalações, mas podem ser muito úteis para quem deles necessita.

    Para já necessito, para um projecto de um cliente em comum, dos seguintes filtros:

    Nota: os nºs de linhas são na versão 3.0.77 do plugin.

    1) Manipulação da data/hora de entrega
    No controlador Documents, método setDelivery, linha 958 do src/Controllers/Documents.php
    Onde está:
    $this->delivery_datetime = date('Y-m-d H:i:s');
    Passar a algo tipo:
    $this->delivery_datetime = apply_filters( 'moloni_documents_delivery_datetime', date('Y-m-d H:i:s'), $this );

    2) Manipulação do nº de documentos e estados válidos para “pending orders”
    No controlador PendingOrders, método getAllAvailable, após as linhas 23 a 42 do src/Controllers/Documents.php
    Adicionar algo tipo:
    $args = apply_filters( 'moloni_pendingorders_getallavailable_args', $args );

Viewing 7 replies - 1 through 7 (of 7 total)
  • Plugin Author Moloni

    (@molonidevteam)

    Bom dia Marco.

    Temos adicionado já vários filtros ao plugin para WooCommerce à medida que os utilizadores vão pedindo novas funcionalidades ou sempre que nos peçam alterações ao plugin e nós achemos que o problema ficaria melhor resolvido com um filtro.

    Relativamente às sugestões que enviou,
    Para o primeiro problema já existe um filtro que pode ser usado para alterar qualquer informação de um documento no momento preciso antes de ser inserido.

    Pode consultar o filtro em:
    https://github.com/moloni-pt/woocommerce/blob/master/src/Controllers/Documents.php#L260

    Facilmente pode usar o filtro moloni_before_insert_document para editar o $this->delivery_datetime.

    No entanto, agradecemos a sugestão e vamos analisar a possibilidade de implementar esse filtro num futuro update.

    Relativamente à segunda sugestão, de facto é interessante disponibilizar um filtro nesse ponto e vamos adicionar o filtro na próxima atualização, em princípio ainda durante esta semana.

    Se tiver mais alguma sugestão de algum filtro que lhe seja útil, pode também enviar e teremos todo o gosto em analisar a sua implementação.

    Caso tenha que fazer alguma alteração ao código e ache que a alteração possa ser útil para vários clientes, e queira partilhar a alteração, pode sempre fazer um pull request diretamente no repositório do github em https://github.com/moloni-pt/woocommerce
    Após uma análise do pull request teremos todo o gosto em acrescentar as alterações enviadas pelos utilizadores ao core do nosso plugin.

    Thread Starter Marco Almeida

    (@webdados)

    Bom dia,

    Obrigado, não reparei nesse filtro.

    Aqui fica a utilização para referência futura de outros users:

    add_filter( 'moloni_before_insert_document', function( $document ) {
    	//Set delivery date/time 18 hours after
    	$document->delivery_datetime = date( 'Y-m-d H:i:s', strtotime( '+18 hours' ) );
    });

    Quanto ao outro filtro, querem que faça o pull request ou tratam vocês disso?

    Plugin Author Moloni

    (@molonidevteam)

    Boa tarde,

    Já temos a release com esse hook pronta, em princípio será lançada durante a manhã de amanhã, mas agradecemos a sua disponibilidade e colaboração.

    Caso queira acrescentar alguma nova funcionalidade a algum cliente em específico e ache que essa funcionalidade poderá dar jeito a mais clientes, se fizer um pull request e o mesmo for aceite, podemos assim garantir que todas as atualizações irão continuar a funcionar com essas alterações.

    Thread Starter Marco Almeida

    (@webdados)

    Caso queira acrescentar alguma nova funcionalidade a algum cliente em específico e ache que essa funcionalidade poderá dar jeito a mais clientes, se fizer um pull request e o mesmo for aceite, podemos assim garantir que todas as atualizações irão continuar a funcionar com essas alterações.

    Sim, assim farei. A esmagadora maioria das coisas resolve-se criando um hook.

    Plugin Author Moloni

    (@molonidevteam)

    Bom dia,

    Já lançamos então a nova versão com a alteração para o hook.
    Pode atualizar par a versão 3.0.78 e já tem o hook das encomendas.

    Thread Starter Marco Almeida

    (@webdados)

    Obrigado.

    Questão adicional: é possível obter uma conta de teste sem emissão legal de facturas / envio à AT e sem limite de tempo de uso?

    • This reply was modified 4 months, 4 weeks ago by Marco Almeida.
    Plugin Author Moloni

    (@molonidevteam)

    Bom dia,

    Pode registar uma conta Moloni com um contribuinte por exemplo [contribuinte]_API e usar os 30 dias gratuitos para realizar todos os testes que forem precisos.

    Quando os 30 dias acabarem, como se trata de uma empresa de testes podemos aumentar o prazo da conta por mais tempo sem problema.

Viewing 7 replies - 1 through 7 (of 7 total)
  • You must be logged in to reply to this topic.