Example #1
0
class EMAPAClipboardsResource(Resource):

    clipboard_service = EMAPAClipboardService()

    @as_json
    def get(self):
        """
        Get list of clipboard items
        """

        results = SearchResults()

        if current_user.is_authenticated:

            results = self.clipboard_service.get_clipboard_items(
                current_user._user_key)

        return results.serialize()

    @api.marshal_with(clipboard_edit_model)
    def post(self):
        """
        Add clipboard items
        """

        args = request.get_json()

        # HACK:
        # ensure arguments are strings, not integers
        emapa_id = args['emapa_id']
        if emapa_id:
            emapa_id = str(emapa_id)

        stagesToAdd = args['stagesToAdd']
        if stagesToAdd:
            stagesToAdd = str(stagesToAdd)

        check_permission()

        set_members = self.clipboard_service.add_items(current_user._user_key,
                                                       emapa_id, stagesToAdd)

        # return success with no content
        return clipboard_list_json(set_members)

    @as_json
    def delete(self):
        """
        Delete all clipboard items
        """

        check_permission()

        self.clipboard_service.delete_all_items(current_user._user_key)

        print("DELETE ALL THE ITEMS")
        return {"success": True}
Example #2
0
class EmapaClipboardSortResource(Resource):

    clipboard_service = EMAPAClipboardService()

    @api.doc('sort_emapa_clipboard')
    def get(self):
        """
        Sort EMAPA Clipboard
        """
        check_permission()

        self.clipboard_service.sort_clipboard(current_user._user_key)

        return {"success": True}
Example #3
0
class EMAPAClipboardResource(Resource):

    clipboard_service = EMAPAClipboardService()

    @as_json
    def delete(self, key):
        """
        Delete single clipboard item
        """

        check_permission()

        self.clipboard_service.delete_item(key, current_user._user_key)

        return {"success": True}