{"action":"created","issue":{"url":"https://api.github.com/repos/silvershop/silvershop-core/issues/433","repository_url":"https://api.github.com/repos/silvershop/silvershop-core","labels_url":"https://api.github.com/repos/silvershop/silvershop-core/issues/433/labels{/name}","comments_url":"https://api.github.com/repos/silvershop/silvershop-core/issues/433/comments","events_url":"https://api.github.com/repos/silvershop/silvershop-core/issues/433/events","html_url":"https://github.com/silvershop/silvershop-core/issues/433","id":136124951,"number":433,"title":"Reduce the amount of locations where user-information (eg. Address, Name) are stored.","user":{"login":"bummzack","id":1006185,"avatar_url":"https://avatars.githubusercontent.com/u/1006185?v=3","gravatar_id":"","url":"https://api.github.com/users/bummzack","html_url":"https://github.com/bummzack","followers_url":"https://api.github.com/users/bummzack/followers","following_url":"https://api.github.com/users/bummzack/following{/other_user}","gists_url":"https://api.github.com/users/bummzack/gists{/gist_id}","starred_url":"https://api.github.com/users/bummzack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bummzack/subscriptions","organizations_url":"https://api.github.com/users/bummzack/orgs","repos_url":"https://api.github.com/users/bummzack/repos","events_url":"https://api.github.com/users/bummzack/events{/privacy}","received_events_url":"https://api.github.com/users/bummzack/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/silvershop/silvershop-core/labels/enhancement","name":"enhancement","color":"02e10c"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/silvershop/silvershop-core/milestones/6","html_url":"https://github.com/silvershop/silvershop-core/milestones/2.x.x","labels_url":"https://api.github.com/repos/silvershop/silvershop-core/milestones/6/labels","id":970906,"number":6,"title":"2.x.x","description":"Version 2 of shop, which will include changes that break compatibility of version 1.","creator":{"login":"jedateach","id":1356335,"avatar_url":"https://avatars.githubusercontent.com/u/1356335?v=3","gravatar_id":"","url":"https://api.github.com/users/jedateach","html_url":"https://github.com/jedateach","followers_url":"https://api.github.com/users/jedateach/followers","following_url":"https://api.github.com/users/jedateach/following{/other_user}","gists_url":"https://api.github.com/users/jedateach/gists{/gist_id}","starred_url":"https://api.github.com/users/jedateach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jedateach/subscriptions","organizations_url":"https://api.github.com/users/jedateach/orgs","repos_url":"https://api.github.com/users/jedateach/repos","events_url":"https://api.github.com/users/jedateach/events{/privacy}","received_events_url":"https://api.github.com/users/jedateach/received_events","type":"User","site_admin":false},"open_issues":8,"closed_issues":10,"state":"open","created_at":"2015-02-08T23:36:48Z","updated_at":"2016-06-30T09:33:18Z","due_on":null,"closed_at":null},"comments":1,"created_at":"2016-02-24T17:13:08Z","updated_at":"2016-07-01T15:27:15Z","closed_at":null,"body":"Fields like `FirstName`,  `Surname` etc. are currently stored in `Address`, `Order` and `Member`, which can to differently populated data (eg. the Address might lack `FirstName` and `Surname`, while the data resides in `Member`).\r\n\r\nThe following change could improve the situation:\r\n\r\n- No longer store any Address related fields within `Order`\r\n- The main authority about which fields form an Address should be `Address` (one single point of extension)\r\n- Member addresses can lack the properties that are already present in the `Member` object\r\n- Upon placing an order, create new Address instances which are unique to the order. These instances should contain complete information (merge data from Member and Address). This will also prevent address modifications by the user once an order is placed.\r\n"},"comment":{"url":"https://api.github.com/repos/silvershop/silvershop-core/issues/comments/229976165","html_url":"https://github.com/silvershop/silvershop-core/issues/433#issuecomment-229976165","issue_url":"https://api.github.com/repos/silvershop/silvershop-core/issues/433","id":229976165,"user":{"login":"bummzack","id":1006185,"avatar_url":"https://avatars.githubusercontent.com/u/1006185?v=3","gravatar_id":"","url":"https://api.github.com/users/bummzack","html_url":"https://github.com/bummzack","followers_url":"https://api.github.com/users/bummzack/followers","following_url":"https://api.github.com/users/bummzack/following{/other_user}","gists_url":"https://api.github.com/users/bummzack/gists{/gist_id}","starred_url":"https://api.github.com/users/bummzack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bummzack/subscriptions","organizations_url":"https://api.github.com/users/bummzack/orgs","repos_url":"https://api.github.com/users/bummzack/repos","events_url":"https://api.github.com/users/bummzack/events{/privacy}","received_events_url":"https://api.github.com/users/bummzack/received_events","type":"User","site_admin":false},"created_at":"2016-07-01T15:27:15Z","updated_at":"2016-07-01T15:27:15Z","body":"I think the main issue here is to determine what Address instance will contain the customer information? The natural reaction would be to use the Shipping-Address, however if somebody specifies a shipping-address for a gift and uses a separate billing-address, then the customer would be stored in the billing-address.\r\n\r\nI don't think there's a good/easy solution to this, so leaving it as is, is probably best: The customer is stored in `Member` or `Order` (jn case of guest checkout). The addresses are stored in `Address` DataObjects…\r\n\r\nWhat can be done as an improvement would be to ensure the Customer fields get shown in the CMS and Order as well (as of now, a Guest order will not show Firstname and Surname in the CMS orders!).\r\n\r\nAny objections? @markguinn, @wilr, @anselmdk ?"}}
{"actor":{"display_login":"bummzack"}}