Sha256: fdc007710b2d3e4d395f526b70e5f3fc15586910a852991432ab1e0592d77985

Contents?: true

Size: 1.37 KB

Versions: 21

Compression:

Stored size: 1.37 KB

Contents

class Locomotive.Models.Site extends Backbone.Model

  paramRoot: 'site'

  urlRoot: "#{Locomotive.mounted_on}/sites"

  initialize: ->
    @_fix_attributes()

    # After save, need to fix the attributes again
    this.on 'sync', ->
      @_fix_attributes()

  includes_domain: (name_with_port) ->
    name = name_with_port.replace(/:[0-9]*/, '')
    name == @domain_with_domain() || _.any(@get('domains'), (domain) -> domain.get('name') == name)

  domain_with_domain: ->
    "#{@get('subdomain')}.#{@get('domain_name')}"

  toJSON: ->
    _.tap super, (hash) =>
      _.each ['locales_text', 'timezone_name_text'], (key) => delete hash[key]
      delete hash.memberships
      hash.memberships_attributes = @get('memberships').toJSONForSave() if @get('memberships')? && @get('memberships').length > 0
      delete hash.domains
      hash.domains = _.map(@get('domains'), (domain) -> domain.get('name'))
      hash.locales = _.flatten([@get('locales')])

  _fix_attributes: ->
    # 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


class Locomotive.Models.CurrentSite extends Locomotive.Models.Site

  url: "#{Locomotive.mounted_on}/current_site"


Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
locomotive_cms-2.5.7 app/assets/javascripts/locomotive/models/site.js.coffee
locomotive_cms-2.5.6 app/assets/javascripts/locomotive/models/site.js.coffee
locomotive_cms-2.5.6.rc2 app/assets/javascripts/locomotive/models/site.js.coffee
locomotive_cms-2.5.6.rc1 app/assets/javascripts/locomotive/models/site.js.coffee
locomotive_cms-2.5.5 app/assets/javascripts/locomotive/models/site.js.coffee
locomotive_cms-2.5.4 app/assets/javascripts/locomotive/models/site.js.coffee
locomotive_cms-2.5.3 app/assets/javascripts/locomotive/models/site.js.coffee
locomotive_cms-2.5.2 app/assets/javascripts/locomotive/models/site.js.coffee
locomotive_cms-2.5.1 app/assets/javascripts/locomotive/models/site.js.coffee
locomotive_cms-2.5.0 app/assets/javascripts/locomotive/models/site.js.coffee
locomotive_cms-2.5.0.rc3 app/assets/javascripts/locomotive/models/site.js.coffee
locomotive_cms-2.5.0.rc2 app/assets/javascripts/locomotive/models/site.js.coffee
locomotive_cms-2.5.0.rc1 app/assets/javascripts/locomotive/models/site.js.coffee
locomotive_cms-2.4.1 app/assets/javascripts/locomotive/models/site.js.coffee
locomotive_cms-2.4.0 app/assets/javascripts/locomotive/models/site.js.coffee
locomotive_cms-2.3.1 app/assets/javascripts/locomotive/models/site.js.coffee
locomotive_cms-2.3.0 app/assets/javascripts/locomotive/models/site.js.coffee
locomotive_cms-2.2.3 app/assets/javascripts/locomotive/models/site.js.coffee
locomotive_cms-2.2.2 app/assets/javascripts/locomotive/models/site.js.coffee
locomotive_cms-2.2.1 app/assets/javascripts/locomotive/models/site.js.coffee