Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shiphawk 0 8 stable updated to original branch #7

Open
wants to merge 114 commits into
base: shiphawk-0-8-stable
Choose a base branch
from

Conversation

fastindian84
Copy link

No description provided.

iloveitaly and others added 30 commits October 26, 2020 15:46
* hack to make the search work

* add CustomerPaymentCreditList

* spacing. revert the PO change

* closed field

* add search_joins to accounting_period

* hack to make the search work

* add CustomerPaymentCreditList

* spacing. revert the PO change

* closed field

* add search_joins to accounting_period

Co-authored-by: stevenou <[email protected]>
…NetSweet#477)

The `wsdl_domain` is just a domain/hostname, no protocol, however
`endpoint` expects to include a protocol, so when you're buliding the
`endpoint` from the `wsdl_domain`, you need to prefix it with a
protocol.
If you performed an advanced search specifying which columns to return
and included externalId, you wouldn't be able to get the external_id
from the resulting record via the usual external_id method. This now
matches how internal_id is extracted.

Prior to this, calls to external_id returned:
```
> record.external_id
=> {:@external_id=>"customer_1"}
```

Now, it returns:
```
> record.external_id
=> "customer_1"
```
…r API 2013.2 and newer (NetSweet#479)

These newer API versions expect the field to be identified by it's
scriptId, not internalId.
iloveitaly and others added 30 commits March 27, 2022 08:50
GH has this built in now
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…s) (NetSweet#529)

NullFieldList is used to either clear an existing value on update, or
avoid a default being applied on adding a record.

My use case only required support for credit memos and invoices, so I
started there, but this could likely be added to most records.

This was heavily inspired by @gmike11's work in NetSweet#481, but that seems to
lump a bunch of changes together. This also solves NetSweet#398.

Where NetSweet#481 manipulated the XML request body to address that the
`<platformCore:nullFieldList>` needs to always use the `platformCore`
namespace, as opposed to the record's normal namespace (ie `transSale`
for invoice) as happens for any other field, I tried to address that on
the `#to_record` side.
I also added some documentation about how to use the action.

The documentation reveals a few rough parts around this action. Notably:

The response you get back is very raw, and not a typical record. Given
how little data is returned, I'm not sure if it'd be better to
instantiate a full record for consistency, or if there should be a
new `DeletedRecord`-style record, with a field for `deleted_date`
and a record_ref for `record`, making it a little easier to work with.

You have to paginate yourself. Eventually it'd be nice if something like
`SearchResult#results_in_batches` were offered to do it for you, though
that'd be a breaking change to the return value of the action currently.

The record class you call `get_deleted` on has no influence on the
request actually performed, so without any criteria, you'll get records
back that are totally unrelated to the record class it was called upon.
This goes beyond how search works where an inventory item search returns
all item types, this includes even non-items that were deleted. Perhaps
it'd be less surprising if the gem set a type criteria for you based on
the calling record type, though perhaps there's some value in the
current behavior of wanting to get all deleted records regardless of
type?
Our company enforces that we do not depend on gems that monkey patch core Ruby classes. To enable us to depend on this gem, this change moves the `lower_camelcase` to be a static method on a new utility class `NetSuite::Utilities::Strings`.

There are many places where `lower_camelcase` is used to generate a `record_type` so this change consolidates the logic in `NetSuite::Support::Records` and uses it where a record type is expected.
…eet#535)

* Rename CustomerSubscriptionsList to SubscriptionsList and CustomerSubscription to Subscription

At least as far back as 2014.1, NetSuite used these names, without the
Customer prefix, so this aligns the gems naming with NetSuite.

This would be a breaking change for anyone using the old name.

* Update `Customer` record fields/record refs for 2021.2

The following were moved from `fields` to `record_refs`:
- buying_reason
- buying_time_frame
- campaign_category
- image
- opening_balance_account
- pref_cc_processor
- representing_subsidiary
- sales_group
- sales_readiness

The following were removed as `fields` since their sublist class is not
yet implemented:
- download_list
- group_pricing_list
- item_pricing_list

I didn't update read-only fields as I don't trust NetSuite's
documentation. They say `creditHoldOverride` is read-only, for example,
but I can very clearly edit it. Therefore opting to leave this list
as-is to avoid breaking changes.

* Add search-only fields to `Customer`
* Add ship_group

* Add spec for ship_group field
* Add ItemAvailability

* Add basic specs to ItemAvailability
* Add basic spec for get_select_value

* Reproduce an exception with empty result

* Initialize an empty sublist from nil
If the `delete` action returned false due to a NetSuite error, there
wasn't a way to access those errors. Now you can call `errors` on the
instance you tried deleting to access them, just like when adding,
updating, etc. instances.
This change adds an optional `proxy` attribute on the `NetSuite::Configuration` that is passed to the generated Savon client used for requests to NetSuite.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.