예제 #1
0
 def community_admin_list(self, request):
     context: Context = request.context
     args: dict = context.args
     community_id = args.pop("community_id", None)
     users, err = self.service.list_users_for_community_admin(
         context, community_id)
     if err:
         return MassenergizeResponse(error=str(err), status=err.status)
     return MassenergizeResponse(data=users)
예제 #2
0
    def update_recurring_date(self, request):
        context: Context = request.context
        args: dict = context.args
        event_info, err = self.service.update_recurring_event_date(
            context, args)

        if err:
            return MassenergizeResponse(error=str(err), status=err.status)
        return MassenergizeResponse(data=event_info)
예제 #3
0
 def community_admin_list_view(request) -> None:
     context: Context = request.context
     args: dict = context.args
     community_id = args.pop("community_id", None)
     events, err = self.service.list_events_for_community_admin(
         context, community_id)
     if err:
         return MassenergizeResponse(error=str(err), status=err.status)
     return MassenergizeResponse(data=events)
예제 #4
0
 def list(self, request):
   context: Context = request.context
   args: dict = context.args
   community_id = args.pop('community_id', None)
   user_id = args.pop('user_id', None)
   donate_page_setting_info, err = self.service.list_donate_page_settings(community_id, user_id)
   if err:
     return MassenergizeResponse(error=str(err), status=err.status)
   return MassenergizeResponse(data=donate_page_setting_info)
예제 #5
0
 def delete_donate_page_setting_view(request) -> None:
     context: Context = request.context
     args: dict = context.args
     donate_page_setting_id = args.get("id", None)
     donate_page_setting_info, err = self.service.delete_donate_page_setting(
         args.get("id", None))
     if err:
         return MassenergizeResponse(error=str(err), status=err.status)
     return MassenergizeResponse(data=donate_page_setting_info)
예제 #6
0
        def team_info_view(request) -> None:
            context: Context = request.context
            args: dict = context.args
            team_id = args.pop('team_id', None)

            team_info, err = self.team.get_team_info(team_id)
            if err:
                return MassenergizeResponse(error=str(err), status=err.status)
            return MassenergizeResponse(data=team_info)
예제 #7
0
 def info(self, request):
   context: Context = request.context
   args: dict = context.args
   args = rename_field(args, 'community_id', 'community__id')
   args = rename_field(args, 'subdomain', 'community__subdomain')
   args = rename_field(args, 'donate_page_id', 'id')
   donate_page_setting_info, err = self.service.get_donate_page_setting_info(args)
   if err:
     return MassenergizeResponse(error=str(err), status=err.status)
   return MassenergizeResponse(data=donate_page_setting_info)
예제 #8
0
    def delete(self, request):
        context: Context = request.context
        args: dict = context.args

        tag_collection_id = args.pop('tag_collection_id', None)
        tag_collection_info, err = self.service.delete_tag_collection(
            tag_collection_id)
        if err:
            return MassenergizeResponse(error=str(err), status=err.status)
        return MassenergizeResponse(data=tag_collection_info)
예제 #9
0
 def delete_data(self, request):
     context: Context = request.context
     args: dict = context.args
     data_id = args.get('data_id', None)
     if not data_id:
         return MassenergizeResponse(error="invalid_resource")
     graph_info, err = self.service.delete_data(context, args)
     if err:
         return MassenergizeResponse(error=str(err), status=err.status)
     return MassenergizeResponse(data=graph_info)
예제 #10
0
 def create(self, request):
   context: Context = request.context
   args: dict = context.args
   team_id = args.pop('team_id', None) 
   community_id = args.pop('community_id', None)
   user_id = args.pop('user_id', None)
   goal_info, err = self.service.create_goal(community_id, team_id, user_id, args)
   if err:
     return MassenergizeResponse(error=str(err), status=err.status)
   return MassenergizeResponse(data=goal_info)
예제 #11
0
 def update_team_view(request) -> None:
     context: Context = request.context
     args: dict = context.args
     team_id = args.pop('id', None)
     if not team_id:
         return MassenergizeResponse(error="Please provide a team ID")
     team_info, err = self.team.update_team(team_id, args)
     if err:
         return MassenergizeResponse(error=str(err), status=err.status)
     return MassenergizeResponse(data=team_info)
예제 #12
0
 def update_tag_collection_view(request) -> None: 
   context: Context = request.context
   args: dict = context.args
   tag_collection_id = args.pop('id', None)
   if not tag_collection_id:
     return MassenergizeResponse(error="Please provide an id")
   tag_collection_info, err = self.service.update_tag_collection(tag_collection_id, args)
   if err:
     return MassenergizeResponse(error=str(err), status=err.status)
   return MassenergizeResponse(data=tag_collection_info)
예제 #13
0
 def list_action_view(request) -> None:
     context: Context = request.context
     args: dict = context.args
     community_id = args.pop('community_id', None)
     subdomain = args.pop('subdomain', None)
     action_info, err = self.service.list_actions(
         context, community_id, subdomain)
     if err:
         return MassenergizeResponse(error=str(err), status=err.status)
     return MassenergizeResponse(data=action_info)
예제 #14
0
 def list(self, request):
   context: Context = request.context
   args: dict = context.args
   community_id = args.pop('community_id', None)
   subdomain = args.pop('subdomain', None)
   user_id = args.pop('user_id', None)
   event_info, err = self.service.list_events(context, community_id, subdomain, user_id)
   if err:
     return MassenergizeResponse(error=str(err), status=err.status)
   return MassenergizeResponse(data=event_info)
예제 #15
0
 def about_us_page_setting_info_view(request) -> None: 
   context: Context = request.context
   args: dict = context.args
   args = rename_field(args, 'community_id', 'community__id')
   args = rename_field(args, 'subdomain', 'community__subdomain')
   args = rename_field(args, 'about_us_page_id', 'id')
   about_us_page_setting_info, err = self.service.get_about_us_page_setting_info(args)
   if err:
     return MassenergizeResponse(error=str(err), status=err.status)
   return MassenergizeResponse(data=about_us_page_setting_info)
예제 #16
0
 def info(self, request):
   context: Context = request.context
   args: dict = context.args
   subscriber_id = args.pop('subscriber_id', None)
   if subscriber_id and not isinstance(subscriber_id, int):
       subscriber_id = parse_int(subscriber_id)
   subscriber_info, err = self.service.get_subscriber_info(subscriber_id)
   if err:
     return MassenergizeResponse(error=str(err), status=err.status)
   return MassenergizeResponse(data=subscriber_info)
예제 #17
0
 def update_subscriber_view(request) -> None: 
   context: Context = request.context
   args: dict = context.args
   subscriber_id = args.pop('subscriber_id', None)
   is_global = args.pop('is_global', None)
   if is_global:
     args["is_global"] = parse_bool(is_global)
   subscriber_info, err = self.service.update_subscriber(subscriber_id, args)
   if err:
     return MassenergizeResponse(error=str(err), status=err.status)
   return MassenergizeResponse(data=subscriber_info)
예제 #18
0
파일: message.py 프로젝트: tpostler/api
 def delete_message_view(request) -> None:
     context: Context = request.context
     args: dict = context.args
     args = rename_field(args, 'message_id', 'id')
     message_id = args.pop('id', None)
     if not message_id:
         return CustomMassenergizeError("Please Provide Message Id")
     message_info, err = self.service.delete_message(message_id)
     if err:
         return MassenergizeResponse(error=str(err), status=err.status)
     return MassenergizeResponse(data=message_info)
예제 #19
0
 def complete_imported_user(self, context: Context,
                            args) -> Tuple[dict, MassEnergizeAPIError]:
     try:
         email_address = args['email']
         profile = UserProfile.objects.filter(email=email_address).first()
         if profile.accepts_terms_and_conditions:
             return MassenergizeResponse(data={"completed": False}), None
         return MassenergizeResponse(data={"completed": True}), None
     except Exception as e:
         capture_message(str(e), level="error")
         return None, CustomMassenergizeError(e)
예제 #20
0
 def list(self, request):
   context: Context = request.context
   args: dict = context.args
   team_id = args.pop('team_id', None) 
   community_id = args.pop("community_id", None)
   subdomain = args.pop("subdomain", None)
   user_id = args.pop('user_id', None)
   goal_info, err = self.service.list_goals(community_id, subdomain, team_id, user_id)
   if err:
     return MassenergizeResponse(error=str(err), status=err.status)
   return MassenergizeResponse(data=goal_info)
예제 #21
0
    def list_exceptions(self, request):
        context: Context = request.context
        args: dict = context.args

        exceptions, err = self.service.list_recurring_event_exceptions(
            context, args)

        if err:
            return MassenergizeResponse(error=str(err), status=err.status)

        return MassenergizeResponse(data=exceptions)
예제 #22
0
 def delete(self, request):
   context: Context = request.context
   args: dict = context.args
   args = rename_field(args, 'vendor_id', 'id')
   vendor_id = args.pop('id', None)
   if not vendor_id:
     return CustomMassenergizeError("Please Provide Vendor Id")
   vendor_info, err = self.service.delete_vendor(vendor_id)
   if err:
     return MassenergizeResponse(error=str(err), status=err.status)
   return MassenergizeResponse(data=vendor_info)
예제 #23
0
  def remove_user_action(self, request):
    context: Context = request.context
    args: dict = context.args
    user_action_id = args.get('user_action_id', None) or args.get("id", None)
    if not user_action_id:
      return MassenergizeResponse(error="invalid_resource")

    user_info, err = self.service.remove_user_action(context, user_action_id)
    if err:
      return MassenergizeResponse(error=str(err), status=err.status)
    return MassenergizeResponse(data=user_info)
예제 #24
0
 def update(self, request):
   context: Context = request.context
   args: dict = context.args
   policy_id = args.pop('policy_id', None)
   is_global = args.pop('is_global', None)
   if is_global:
     args["is_global"] = parse_bool(is_global)
   policy_info, err = self.service.update_policy(policy_id, args)
   if err:
     return MassenergizeResponse(error=str(err), status=err.status)
   return MassenergizeResponse(data=policy_info)
예제 #25
0
 def create_policy_view(request) -> None:
     context: Context = request.context
     args: dict = context.args
     community_id = args.pop('community_id', None)
     is_global = args.pop('is_global', None)
     if is_global:
         args["is_global"] = parse_bool(is_global)
     policy_info, err = self.service.create_policy(community_id, args)
     if err:
         return MassenergizeResponse(error=str(err), status=err.status)
     return MassenergizeResponse(data=policy_info)
예제 #26
0
  def delete(self, request):
    context: Context = request.context
    args: dict = context.args

    subscriber_id = args.pop('subscriber_id', None)
    if subscriber_id and not isinstance(subscriber_id, int):
        subscriber_id = parse_int(subscriber_id)
    subscriber_info, err = self.service.delete_subscriber(subscriber_id)
    if err:
      return MassenergizeResponse(error=str(err), status=err.status)
    return MassenergizeResponse(data='Sorry to see you go, you have been unsubscribed from our mailing lists')
예제 #27
0
 def add_action_todo(self, request):
     context: Context = request.context
     args, err = (self.validator.expect(
         "action_id", str,
         is_required=True).expect("household_id", str,
                                  is_required=False).verify(context.args))
     if err:
         return err
     user_info, err = self.service.add_action_todo(context, args)
     if err:
         return MassenergizeResponse(error=str(err), status=err.status)
     return MassenergizeResponse(data=user_info)
예제 #28
0
    def update(self, request):
        context: Context = request.context
        args: dict = context.args
        args, err = (self.validator.rename("user_id", "id").expect(
            "id", str, is_required=True).verify(context.args))
        if err:
            return err

        user_info, err = self.service.update_user(context, args)
        if err:
            return MassenergizeResponse(error=str(err), status=err.status)
        return MassenergizeResponse(data=user_info)
예제 #29
0
        def update_vendor_view(request) -> None:
            context: Context = request.context
            args = context.get_request_body()
            args = rename_field(args, 'id', 'vendor_id')
            validator: Validator = Validator()
            (validator.expect("vendor_id", int).expect(
                "key_contact_name", str, is_required=False).expect(
                    "key_contact_email", str, is_required=False).expect(
                        "onboarding_contact_email", str,
                        is_required=False).expect(
                            "name", str, is_required=False).expect(
                                "email", str, is_required=False).expect(
                                    "is_verified", bool,
                                    is_required=False).expect(
                                        "phone_number", str,
                                        is_required=False).expect(
                                            "have_address",
                                            bool,
                                            is_required=False).expect(
                                                "is_published",
                                                bool,
                                                is_required=False).expect(
                                                    "communities",
                                                    list,
                                                    is_required=False).
             expect("service_area_states", list, is_required=False).expect(
                 "properties_serviced",
                 list, is_required=False).expect("tags",
                                                 list,
                                                 is_required=False).expect(
                                                     "image",
                                                     "file",
                                                     is_required=False).expect(
                                                         "location",
                                                         "location",
                                                         is_required=False))

            args, err = validator.verify(args)
            if err:
                return err

            args['key_contact'] = {}
            key_contact_name = args.pop('key_contact_name', None)
            key_contact_email = args.pop('key_contact_email', None)
            if key_contact_name:
                args['key_contact']["name"] = key_contact_name
            if key_contact_email:
                args['key_contact']["email"] = key_contact_email

            vendor_info, err = self.service.update_vendor(context, args)
            if err:
                return MassenergizeResponse(error=str(err), status=err.status)
            return MassenergizeResponse(data=vendor_info)
예제 #30
0
    def delete(self, request):
        context: Context = request.context
        args: dict = context.args
        team_id = args.get("team_id", None)
        if is_value(team_id):
            team_info, err = self.team.delete_team(team_id)
        else:
            err = CustomMassEnergizeError("No team_id passed to teams.delete")

        if err:
            return MassenergizeResponse(error=str(err), status=err.status)
        return MassenergizeResponse(data=team_info)