InvoicePlane 1.5.0 Beta 4 - Please help testing!

I have a problem by creating a new product.
The product family works fine, but when i create a new product this DB error occurs.

A Database Error Occurred

Error Number: 1054

Unknown column ‘provider_name’ in ‘field list’

INSERT INTO ip_products (family_id, product_sku, product_name, product_description, product_price, unit_id, tax_rate_id, provider_name, purchase_price, product_tariff) VALUES (‘9’, ‘9000-0010’, ‘Portierung einer Telefonnummer’, ‘Portierung einer Telefonnummer’, ‘99’, NULL, NULL, ‘’, ‘65’, ‘’)

Filename: core/MY_Model.php

Line Number: 211

I tested the migration 1.4.10 to 1.5 and it seems that the issue I found with the migration in beta 3 (id 84 - april 4.) has not been resolved yet.in beta 4.
A Database Error Occurred

Error Number: 1064

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ‘‘ip_client_custom_new’ (client_id, client_custom_fieldid’ at line 1

INSERT INTO ‘ip_client_custom_new’ (client_id, client_custom_fieldid, client_custom_fieldvalue) VALUES ( ‘1’, ( SELECT custom_field_id FROM ip_custom_fields WHERE ip_custom_fields.custom_field_column = ‘client_custom_aanhef’ ), ‘Beste’ )

Filename: modules/setup/models/Mdl_setup.php

Line Number: 332

That’s weird. The provider_name column exists in my setup. And I’m also able to add a new product after upgraing from 1.4.0 or in a fresh installation.

This bug is now fixed. If you would like to test this you may replace the contents of application/modules/setup/models/Mdl_setup.php with these contents: updated Mdl_Setup.php file

I also get the 404 Error after enabling payment via Paypal Express.

When i click on the “Pay now” button on the guest view url i get the 404 page.

Did you try to pay the invoice while beoing logged into your main account?

Yes.
Now i tried with two other browsers, where i am not logged in. But i get the same 404.

And did you tried to open the page while being logged in as a gust user for the corresponding client? Because you need to be logged in as a gust to process the payment.


@graffito @RedSerenityDev
Could you please post more details about how the URL looks like and what is displayed?

I tried this with a fresh install, my development version and an upgraded version from 1.4.10. If I view an invoice in the public guest view (e.g. http://test.dev/index.php/guest/view/invoice/o1aQa1vVh2K1WjO) the invoice is displayed normaly.
If i click the Pay Now button (which is a link to http://test.dev/index.php/guest/payment_information/form/o1aQa1vVh2K1WjO) I get redirected to the login page. No 404 errors in any way…

I just noticed, that it is required to be logged in as a guest user for payments. It would be very good to display a login page instead of the 404 if a user clicks on the “Pay now” button and is not logged in.

So, i created a guest user, assigned the client and tested it again with the invoice i made before (is it a problem, that the invoice was made before the guest user was created?). Because the 404 is still here.

Guest url is:
http://xxxx.tld/guest/view/invoice/UgbXN2TpVZB8arC

When i click the button the url is:
http:/xxxx.tld/guest/payment_information/form/UgbXN2TpVZB8arC

And i see the red 404 page there…

I can provide you the actual urls and guest login via PM if you want. Just demo data there.

Hm… may be an issue with removing the index.php part. I will try this again.

@graffito Could you send me detals via PM?

Thanks Kovah. I replaced the Mdl_setup file and the migration went fine. The custom fields are there. I will do some testing with beta4 and keep you updated.

I will check it in my database.

thx

— EDIT
I have fixed the missing field in my DB.
Now the text provider_name is the content of the discription.

I cant add a new title without tax.
If i add one without tax, a db error occours.

The solution for the problem with the NULL value, and for another minor “optical” error.
EDIT:
And the solution for a little problem with the family_id.

/modules/products/model/Mdl_products.php

-121 $db_array[‘family_id’] = (empty($db_array[‘family_id’]) ? null : $db_array[‘family_id’]);
+121 $db_array[‘family_id’] = (empty($db_array[‘family_id’]) ? “0” : $db_array[‘family_id’]);

-123 $db_array[‘tax_rate_id’] = (empty($db_array[‘tax_rate_id’]) ? null : $db_array[‘tax_rate_id’]);
+123 $db_array[‘tax_rate_id’] = (empty($db_array[‘tax_rate_id’]) ? “0” : $db_array[‘tax_rate_id’]);
+124 $db_array[‘product_tariff’] = (empty($db_array[‘product_tariff’]) ? null : $db_array[‘product_tariff’]);

Upgraded/migrated from 1.4.10 -> 1.5.0 beta4 (after the Mdl_setup.php modification)

======================================================

Create Invoice from customer list (Options) does not work. Create Qoute does.

======================================================

Once a Default Country has been set in General Settings, it cannot be reset to none.

======================================================

When I do a payment, I cannot change the payment method. The payment method is fixed to the payment method set when the invoice was created. In my opinion it should be possible to change the payment method when the payment is done.

======================================================

It’s not realy an issue but when creating a new user, the fields password and verify password are in the ‘wrong’ order. Maybe only in the dutch translation (???)

======================================================

After creating a guest useraccount and logging in with this guest account, I see Pay Now buttons on the Invoices.
I have no Payment Provider configured so I did not expect to see this button.
When pushing the Pay Now button I get a 404 error.

======================================================

After configuring a Payment Provider (System Settings > Online Payment) disabling (uncheck whatever option) is not possible.

======================================================

The bug is already fixed, see the issue list in the first post for a fix.
All other reports will be investigated.

Thanks Kovah. It works. I edited my post.

I have a problem with the payment. When I select an invoice to pay and confirm it the following errors occurs.
The invoice is marked as payed.

A PHP Error was encountered

Severity: Notice
Message: Undefined property: CI::$_formdata

Filename: core/Model.php
Line Number: 77

Backtrace:
File: /application/modules/custom_fields/models/Mdl_payment_custom.php
Line: 49
Function: __get

File: /application/modules/payments/controllers/Payments.php
Line: 66
Function: save_custom

File: index.php
Line: 333
Function: require_once

A PHP Error was encountered

Severity: Warning
Message: Invalid argument supplied for foreach()

Filename: models/Mdl_payment_custom.php
Line Number: 51

Backtrace:
File: /application/modules/custom_fields/models/Mdl_payment_custom.php
Line: 51
Function: _error_handler

File: /application/modules/payments/controllers/Payments.php
Line: 66
Function: save_custom

File: /index.php
Line: 333
Function: require_once

A PHP Error was encountered

Severity: Warning
Message: Cannot modify header information - headers already sent by (output started at /vendor/codeigniter/framework/system/core/Exceptions.php:271)

Filename: helpers/url_helper.php
Line Number: 564

Backtrace:
File: /application/modules/payments/controllers/Payments.php
Line: 68
Function: redirect

File: /index.php
Line: 333
Function: require_once

I fixed as many issues as possible and prepare everything for the release now. InvoicePlane 1.5.0 is on it’s way now.

The only thing I couldn’t resolve is the 404 error after trying to pay an invoice via PayPal or another gateway. Created a ticket here: https://development.invoiceplane.com/browse/IP-506

Many thanks to everyone here for helping test this new version!


If you find any other bugs, please report them in the corresponding release thread.