Example #1
0
def checkin_succeeded(request, user, area=None, env=None, virtual=False):
    from client.api import AreaResource, EnvironmentResource, UserResource

    ## default is to just return an 200 OK http response
    response = {"success": True, "code": 200, "data": {}}

    ## add the value of the virtual checkin flag
    response['data'].update({'virtual': virtual})

    ## add the user URI as data payload - will be used for all notifications
    user_uri = UserResource().get_resource_uri(user)
    response['data'].update({'user_uri': user_uri})

    if area:
        ## return data about the area resource
        ar = AreaResource()
        ar_bundle = ar.build_bundle()
        ar_item = ar.obj_get(ar_bundle, pk=area.id)
        ar_bundle.obj = ar_item
        ar_bundle.request = request

        try:
            area_data = ar.full_dehydrate(ar_bundle).data
            response['data'].update(area_data)
        except ImmediateHttpResponse, error:
            return error.response
Example #2
0
 def to_serializable(self, request = None, virtual = False, include_data = False):
     from client.api import UserResource
     
     serialized_feature = super(ConferenceRoleFeature, self).to_serializable(request = request, virtual=virtual, include_data=include_data)
     
     ''' We want to return data only if there is request from a known user. Otherwise we return nothing '''
     if include_data and request and hasattr(request, 'user') and not request.user.is_anonymous():
         ''' From the list of participant roles retrieve the one corresponding to the user_profile of the user making the request '''
         
         try:
             confrole = self.participant_roles.get(user_profile = request.user.get_profile())
             
             role_dict = {'data' : {'user' : {'user_uri': UserResource().get_resource_uri(confrole.user_profile), 
                                              'first_name': confrole.user_profile.user.first_name,
                                              'last_name': confrole.user_profile.user.last_name
                                             },
                                    'role' : confrole.role
                                   } 
                          }
             
             serialized_feature.update(role_dict)
         except:
             pass
     
     return serialized_feature
Example #3
0
def create_anonymous_succeeded(request):
    from client.api import UserResource
    response = {"success": True, "code": 200, "data": {}}

    new_user = request.user
    if not new_user is None and not new_user.get_profile() is None:
        user_res_uri = UserResource().get_resource_uri(new_user.get_profile())
        response['data'].update({'user_uri': user_res_uri})

    return view_response(request, response, 200)
Example #4
0
def register_succeeded(request, user):
    from client.api import UserResource
    response = {"success": True, "code": 200, "data" : {}}
    
    if not user.get_profile().is_anonymous:
        user_res_uri = UserResource().get_resource_uri(user.get_profile())
        response['data'].update({'resource_uri' : user_res_uri})
        
        if user.first_name and user.last_name:
            response['data'].update({'first_name' : user.first_name, 'last_name' : user.last_name})
        
    return view_response(request, response, 200)
Example #5
0
    def is_authorized(self, request, object=None):
        from client.api import UserResource

        if request.method.upper() == "PUT":
            if hasattr(request, 'user') and not request.user.is_anonymous():
                user_res_uri = request.path
                user_obj = None
                try:
                    user_obj = UserResource().get_via_uri(user_res_uri,
                                                          request=request)
                    #print "[User authorization] user_obj: ", user_obj
                except Exception:
                    #print "[User authorization] exception in getting user resource for update: ", ex
                    user_obj = None

                ## now test for equality between request.user and user_obj
                if request.user.get_profile() == user_obj:
                    return True

        elif request.method.upper() == "GET":
            return True

        return False
Example #6
0
from django.conf.urls.defaults import patterns, include, url
#from tastypie.api import Api
from client.api import ClientApi
from client.api import EnvironmentResource, AreaResource, FeatureResource, AnnotationResource,\
                        AnnouncementResource, HistoryResource, UserResource, EnvrionmentContextResource
#from client.views import checkin, checkout

v1_api = ClientApi(api_name='v1')
v1_api.register(EnvironmentResource())
v1_api.register(AreaResource())
v1_api.register(FeatureResource())
v1_api.register(AnnotationResource())
v1_api.register(AnnouncementResource())
v1_api.register(HistoryResource())
v1_api.register(UserResource())
v1_api.register(EnvrionmentContextResource())

urlpatterns = patterns(
    '',
    #url(r'^checkin/$', checkin, name="checkin"),
    #url(r'^checkout/$', checkout, name="checkout"),
    (r'', include(v1_api.urls)),
)