engine/app/assets/javascripts/locomotive/models/site.js.coffee

32 lines
966 B
CoffeeScript

class Locomotive.Models.Site extends Backbone.Model
paramRoot: 'site'
urlRoot: "#{Locomotive.mount_on}/sites"
initialize: ->
# Be careful, domains_without_subdomain becomes domains
domains = _.map @get('domains_without_subdomain'), (name) =>
new Locomotive.Models.Domain(name: name)
memberships = new Locomotive.Models.MembershipsCollection(@get('memberships'))
@set domains: domains, memberships: memberships
includes_domain: (name) ->
name == @domain_with_domain() || _.any(@get('domains'), (domain) -> domain.get('name') == name)
domain_with_domain: ->
"#{@get('subdomain')}.#{@get('domain_name')}"
toJSON: ->
_.tap super, (hash) =>
hash.memberships = @get('memberships').toJSONForSave() if @get('memberships')
hash.domains = _.map(@get('domains'), (domain) -> domain.get('name'))
class Locomotive.Models.CurrentSite extends Locomotive.Models.Site
url: "#{Locomotive.mount_on}/current_site"