Invision Community 4: SEO, prepare for v5 and dormant account notifications Matt November 11, 2024Nov 11
February 13Feb 13 Author This message when i try to void member purchases histpory :TypeError: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given (0)
February 13Feb 13 What version of Ipb are you using? I don't know if that is an Ipb field or has been added by a third party app, but it looks like it doesn't have a default value. Setting a default value should fix the issue. Doing that will ensure that if no data is provided on insert, it will put something that you defined.What was the latest change done to the forum before this happened btw?And as last, but certainly not least, for future reference whenever you are asking for support it would be best to post as many details as possible. i.e. Help us to help you. Edited February 13Feb 13 by Miss_B
February 14Feb 14 Author Hello, i am on IPB 5.0.1, i didnt use commerce (nexus) before realy, i didnt made any specific change, Here the full error txt :INSERT INTO nexus_packages ( p_member_groups, p_date_added, p_store, p_group, p_position, p_type, p_date_updated ) VALUES ( '*', 1739464689, true, '2', 1, 'product', 1739464689 )IPS\Db\Exception: Field 'p_renewal_unit' doesn't have a default value (1364)#0 /home/website/webapps/website/system/Db/Db.php(1010): IPS\Db->preparedQuery()#1 /home/website/webapps/website/system/Patterns/ActiveRecord.php(511): IPS\Db->insert()#2 /home/website/webapps/website/system/Node/Model.php(2820): IPS\Patterns\ActiveRecord->save()#3 /home/website/webapps/website/applications/nexus/sources/Package/Package.php(282): IPS\Node\Model->save()#4 /home/website/webapps/website/applications/nexus/sources/Package/Package.php(1518): IPS\nexus\Package->save()#5 /home/website/webapps/website/system/Node/Controller.php(489): IPS\nexus\Package->saveForm()#6 /home/website/webapps/website/system/Dispatcher/Controller.php(128): IPS\Node\Controller->form()#7 /home/website/webapps/website/system/Node/Controller.php(117): IPS\Dispatcher\Controller->execute()#8 /home/website/webapps/website/applications/nexus/modules/admin/store/packages.php(88): IPS\Node\Controller->execute()#9 /home/website/webapps/website/system/Dispatcher/Dispatcher.php(169): IPS\nexus\modules\admin\store\packages->execute()#10 /home/website/webapps/website/admin/index.php(15): IPS\Dispatcher->run()#11 {main}
February 14Feb 14 1 hour ago, Janyour said:Here the full error txt :INSERT INTO nexus_packages ( p_member_groups, p_date_added, p_store, p_group, p_position, p_type, p_date_updated ) VALUES ( '*', 1739464689, true, '2', 1, 'product', 1739464689 )IPS\Db\Exception: Field 'p_renewal_unit' doesn't have a default value (1364)I just checked the nexus_package table and it doesn't contain the p_renewal_unit field. Most likely it has been added by a third party app. Is this a fresh install or an upgrade? Have you installed recently, or previously any third party app that adds to that table?Anyways, give it a default value and see if it would help. If you aren't using the app that has added it anymore, the best things would be to delete it altogether.
February 14Feb 14 That doesn't actually look to be one of our fields. You would remove that field (after taking a full backup and being prepared to restore if there are any issues) and then try again.
February 14Feb 14 Author Thanks, i just opned this table and its empty!Here the sql export and content :nexus_packages.sql Edited February 14Feb 14 by Janyour
February 14Feb 14 Author Ok thats a default nexus table then.What i should remove as columns ?I removed the column and product adding seem working now!Another issue when i try to void user transactions :TypeError: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given (0)#0 /home/website/webapps/website/applications/nexus/sources/Transaction/Transaction.php(763): method_exists()#1 /home/website/webapps/website/applications/nexus/modules/admin/customers/view.php(674): IPS\nexus\Transaction->refund()#2 /home/website/webapps/website/system/Helpers/MultipleRedirect/MultipleRedirect.php(104): IPS\nexus\modules\admin\customers\view->IPS\nexus\modules\admin\customers\{closure}()#3 /home/website/webapps/website/applications/nexus/modules/admin/customers/view.php(639): IPS\Helpers\MultipleRedirect->__construct()#4 /home/website/webapps/website/system/Dispatcher/Controller.php(128): IPS\nexus\modules\admin\customers\view->void()#5 /home/website/webapps/website/applications/nexus/modules/admin/customers/view.php(102): IPS\Dispatcher\Controller->execute()#6 /home/website/webapps/website/system/Dispatcher/Dispatcher.php(169): IPS\nexus\modules\admin\customers\view->execute()#7 /home/website/webapps/website/admin/index.php(15): IPS\Dispatcher->run()#8 {main}
February 14Feb 14 9 minutes ago, Janyour said:TypeError: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given (0)This seems to be related to a php 8 bug called: "method_exists() is too strict in PHP 8". You can read more about this below at the php site.https://bugs.php.net/bug.php?id=79623What's your php version set to? Do you have any third party apps installed? If you do, disable them all to either rule them out or identifying (one of) them as being the culprit. Edited February 14Feb 14 by Miss_B
February 14Feb 14 Author No third parties, php 8.2 Tried just now with php 8.1 and give same error :/
February 14Feb 14 3 minutes ago, Janyour said:No third parties, php 8.2Tried just now with php 8.1 and give same error :/I don't recall seeing this error posted here before. If you have no third party stuff installed this could very well be a bug then imo. But on the other hand, the original error that you posted was caused by a custom field most likely added by a third party item.So it's hard to say imo. Edited February 14Feb 14 by Miss_B
February 14Feb 14 Author After v5 upgrade I use ONLY IP products!what i should do ? open new thread ?
February 14Feb 14 1 minute ago, Janyour said:After v5 upgrade I use ONLY IP products!Most likely the custom apps weren't disabled/uninstalled properly by the upgrade and they are still in affect. That's based on your original error message caused by a field added by a third party app. Also the second error that you posted, is a bug with php 8.0. and it could be that a third party app code which is outdated and not compatible with php 8.2. is interfering again.4 minutes ago, Janyour said:what i should do ? open new thread ?This will require taking a look directly in your forum's code. Imo you can either wait until one the Ips staff takes a look at this to determine if it's a bug with Ipb, or it's caused as mentioned above by a third party app. Or you can start a topic at the bugs forum or create a ticket from your Client Area. Edited February 14Feb 14 by Miss_B
February 14Feb 14 1 minute ago, Miss_B said:That's based on your original error message caused by a field added by a third party app.If my memory serves me correctly, earlier versions of commerce did in fact have a p_renewal_unit field.... in its initial stages, only one renewal term was supported.
February 14Feb 14 4 minutes ago, Esther E. said:If my memory serves me correctly, earlier versions of commerce did in fact have a p_renewal_unit field.... in its initial stages, only one renewal term was supported.Ah ok. Thank you for the clarification. I wasn't aware of that. Hence why I assumed that that field was added by a third party app.
February 14Feb 14 Author Honestly i dont remember, i installed Nexus 10 or 15 years before but never used realy.