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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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')
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)
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)
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)
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)