Exemplo n.º 1
0
    def obj_create(self, bundle, request=None, **kwargs):
        data = bundle.data

        if data['create_user']:
            print "creating user"
            user = User.objects.create(username=data['username'])
            user.set_password(data['password'])
        else:
            user = User.objects.get(username=data['username'])

        mem = MembershipDefault()
        mem.user = user
        for key in data:
            setattr(mem, key, data[key])

        mem.save()

        bundle.obj = mem

        return bundle
    def handle(self, *args, **options):
        """
        Loops through AppEntry instances and ports the
        data over to MembershipDefault instances.
        """
        from tendenci.apps.entities.models import Entity
        from tendenci.addons.memberships.models import AppEntry, MembershipDefault
        from tendenci.apps.profiles.models import Profile
        verbosity = options['verbosity']

        for e in AppEntry.objects.all():

            if e.membership:
                # use guid to match records
                m_default = MembershipDefault.objects.first(
                    guid=e.membership.guid,
                )
            else:
                # use create_dt and membership_type
                m_default = MembershipDefault.objects.first(
                    create_dt=e.create_dt,
                    membership_type=e.membership_type,
                )

            if m_default:
                # found; already created
                m_default_created = True
            else:
                # not found; then creating
                m_default_created = False
                m_default = MembershipDefault()

            if e.membership:
                m_default.member_number = e.membership.member_number
                m_default.membership_type = e.membership.membership_type
                m_default.renewal = e.membership.renewal

                m_default.guid = e.membership.guid
                m_default.expire_dt = e.membership.expire_dt

                # m_default.certifications
                # m_default.work_experience
                # m_default.referral_source
                # m_default.referral_source_other
                # m_default.referral_source_member_name
                # m_default.referral_source_member_number
                # m_default.affiliation_member_number
                # m_default.primary_practice
                # m_default.how_long_in_practice
                # m_default.notes
                # m_default.admin_notes
                # m_default.newsletter_type
                # m_default.directory_type
                # m_default.bod_dt
                # m_default.personnel_notified_dt

                # m_default.payment_recieved_dt
                m_default.payment_method = e.membership.payment_method

                # m_default.override
                # m_default.override_price
                # m_default.exported

                # m_default.chapter
                # m_default.areas_of_expertise
                # m_default.organization_entity
                # m_default.corporate_entity

                if e.membership.corporate_membership_id:
                    m_default.corporate_membership_id = e.membership.corporate_membership_id
                else:
                    m_default.corporate_membership_id = None

                # m_default.home_state
                # m_default.year_left_native_country
                # m_default.network_sectors
                # m_default.networking
                # m_default.government_worker
                # m_default.government_agency
                # m_default.license_number
                # m_default.license_state
                # m_default.industry
                # m_default.region
                # m_default.company_size
                # m_default.promotion_code
                # m_default.directory

                if hasattr(e.membership, 'user'):
                    m_default.user = e.membership.user

            if not hasattr(m_default, 'user'):
                m_default.user, user_created = m_default.get_or_create_user(
                    email=e.email, first_name=e.first_name, last_name=e.last_name
                )

            if not hasattr(m_default, 'membership_type'):
                if e.membership.membership_type:
                    m_default.membership_type = e.memberships.membership_type

                if verbosity:
                    self.echo(
                        m_default, e,
                        created=m_default_created,
                        skipped=True,
                    )

                continue  # on to the next one

            m_default.application_complete_dt = e.create_dt
            m_default.entity = Entity.objects.first()
            m_default.organization_entity = m_default.entity
            m_default.corporate_entity = m_default.entity

            if e.is_approved:
                m_default.application_approved = True
                m_default.application_approved_dt = e.decision_dt
                m_default.application_approved_user = e.judge

                # is a join
                if not e.is_renewal:
                    m_default.join_dt = e.decision_dt
                    m_default.set_join_dt()

            if e.decision_dt:
                m_default.application_approved_denied_dt = e.decision_dt
                m_default.application_approved_denied_user = m_default.user

                m_default.action_taken = True
                m_default.action_taken_dt = e.decision_dt
                m_default.action_taken_user = e.judge

            m_default.set_renew_dt()
            if not m_default.expire_dt:
                m_default.set_expire_dt()

            if not hasattr(m_default.user, 'profile'):
                Profile.objects.create_profile(m_default.user)

            m_default.user.profile.refresh_member_number()

            self.set_owner_creator_fields(m_default, e)
            self.set_allow_fields(m_default, e.membership)
            self.set_status_fields(m_default, e.membership)

            m_default.save()

            self.set_invoice(m_default, e)

            # add user to [membership] group
            m_default.group_refresh()

            # reset create_dt
            self.set_owner_creator_fields(m_default, e)
            m_default.save()

            if verbosity:
                self.echo(m_default, e, created=m_default_created)
Exemplo n.º 3
0
    def handle(self, *args, **options):
        """
        Loops through AppEntry instances and ports the
        data over to MembershipDefault instances.
        """
        from tendenci.apps.entities.models import Entity
        from tendenci.addons.memberships.models import AppEntry, MembershipDefault
        from tendenci.apps.profiles.models import Profile
        verbosity = options['verbosity']

        for e in AppEntry.objects.all():

            if e.membership:
                # use guid to match records
                m_default = MembershipDefault.objects.first(
                    guid=e.membership.guid, )
            else:
                # use create_dt and membership_type
                m_default = MembershipDefault.objects.first(
                    create_dt=e.create_dt,
                    membership_type=e.membership_type,
                )

            if m_default:
                # found; already created
                m_default_created = True
            else:
                # not found; then creating
                m_default_created = False
                m_default = MembershipDefault()

            if e.membership:
                m_default.member_number = e.membership.member_number
                m_default.membership_type = e.membership.membership_type
                m_default.renewal = e.membership.renewal

                m_default.guid = e.membership.guid
                m_default.expire_dt = e.membership.expire_dt

                # m_default.certifications
                # m_default.work_experience
                # m_default.referral_source
                # m_default.referral_source_other
                # m_default.referral_source_member_name
                # m_default.referral_source_member_number
                # m_default.affiliation_member_number
                # m_default.primary_practice
                # m_default.how_long_in_practice
                # m_default.notes
                # m_default.admin_notes
                # m_default.newsletter_type
                # m_default.directory_type
                # m_default.bod_dt
                # m_default.personnel_notified_dt

                # m_default.payment_recieved_dt
                m_default.payment_method = e.membership.payment_method

                # m_default.override
                # m_default.override_price
                # m_default.exported

                # m_default.chapter
                # m_default.areas_of_expertise
                # m_default.organization_entity
                # m_default.corporate_entity

                if e.membership.corporate_membership_id:
                    m_default.corporate_membership_id = e.membership.corporate_membership_id
                else:
                    m_default.corporate_membership_id = None

                # m_default.home_state
                # m_default.year_left_native_country
                # m_default.network_sectors
                # m_default.networking
                # m_default.government_worker
                # m_default.government_agency
                # m_default.license_number
                # m_default.license_state
                # m_default.industry
                # m_default.region
                # m_default.company_size
                # m_default.promotion_code
                # m_default.directory

                if hasattr(e.membership, 'user'):
                    m_default.user = e.membership.user

            if not hasattr(m_default, 'user'):
                m_default.user, user_created = m_default.get_or_create_user(
                    email=e.email,
                    first_name=e.first_name,
                    last_name=e.last_name)

            if not hasattr(m_default, 'membership_type'):
                if verbosity:
                    self.echo(
                        m_default,
                        e,
                        created=m_default_created,
                        skipped=True,
                    )

                continue  # on to the next one

            m_default.application_complete_dt = e.create_dt
            m_default.entity = Entity.objects.first()
            m_default.organization_entity = m_default.entity
            m_default.corporate_entity = m_default.entity

            if e.is_approved:
                m_default.application_approved = True
                m_default.application_approved_dt = e.decision_dt
                m_default.application_approved_user = e.judge

                # is a join
                if not e.is_renewal:
                    m_default.join_dt = e.decision_dt
                    m_default.set_join_dt()

            if e.decision_dt:
                m_default.application_approved_denied_dt = e.decision_dt
                m_default.application_approved_denied_user = m_default.user

                m_default.action_taken = True
                m_default.action_taken_dt = e.decision_dt
                m_default.action_taken_user = e.judge

            m_default.set_renew_dt()
            if not m_default.expire_dt:
                m_default.set_expire_dt()

            if not hasattr(m_default.user, 'profile'):
                Profile.objects.create_profile(m_default.user)

            m_default.user.profile.refresh_member_number()

            self.set_owner_creator_fields(m_default, e)
            self.set_allow_fields(m_default, e.membership)
            self.set_status_fields(m_default, e.membership)

            m_default.save()

            self.set_invoice(m_default, e)

            # add user to [membership] group
            m_default.group_refresh()

            # reset create_dt
            self.set_owner_creator_fields(m_default, e)
            m_default.save()

            if verbosity:
                self.echo(m_default, e, created=m_default_created)