コード例 #1
0
ファイル: organization.py プロジェクト: jamslevy/gsoc
          {'url_name' : 'mentor'}),
          "Resign as Mentor", 'any_access')
      submenus.append(submenu)

      # add a link to the edit page
      submenu = (redirects.getEditRedirect(roles['mentor'],
          {'url_name': 'mentor'}),
          "Edit My Mentor Profile", 'any_access')
      submenus.append(submenu)

    return submenus


view = View()

admin = decorators.view(view.admin)
applicant = decorators.view(view.applicant)
apply_mentor = decorators.view(view.applyMentor)
create = decorators.view(view.create)
delete = decorators.view(view.delete)
edit = decorators.view(view.edit)
home = decorators.view(view.home)
list = decorators.view(view.list)
list_proposals = decorators.view(view.listProposals)
list_public = decorators.view(view.listPublic)
list_requests = decorators.view(view.listRequests)
list_roles = decorators.view(view.listRoles)
public = decorators.view(view.public)
export = decorators.view(view.export)
pick = decorators.view(view.pick)
コード例 #2
0
    notifications = model_logic.notification.logic.getForFields(filter)
    count = len(list(notifications))

    if count > 0:
      link_title = '<span class="unread">%s (%d)</span>' % (
          force_unicode(link_title), count)
      link_title = mark_safe(link_title)

    items = [('/' + 'notification/list', link_title, 'notification')]
    if user:
      items += [(redirects.getCreateDocumentRedirect(user, 'user'),
          "Create a New Document", 'any_access')]

      items += [(redirects.getListDocumentsRedirect(user, 'user'),
          "List Documents", 'any_access')]

    new_params = {}
    new_params['sidebar_additional'] = items

    params = dicts.merge(params, new_params)

    return super(View, self).getSidebarMenus(id, user, params=params)


view = View()

create = decorators.view(view.create)
edit = decorators.view(view.editProfile)
export = decorators.view(view.export)
roles = decorators.view(view.roles)
コード例 #3
0
ファイル: timeline.py プロジェクト: SRabbelier/Melange
  def __init__(self, params=None):
    """Defines the fields and methods required for the base View class
    to provide the user with list, public, create, edit and delete views.

    Params:
      params: a dict with params for this View
    """

    rights = access.GSoCChecker(params)
    rights['edit'] = [('checkCanEditTimeline', [program_logic])]

    new_params = {}
    new_params['logic'] = timeline_logic
    new_params['rights'] = rights

    new_params['name'] = "GSoC Timeline"
    new_params['module_name'] = "timeline"

    new_params['module_package'] = 'soc.modules.gsoc.views.models'
    new_params['url_name'] = 'gsoc/timeline'

    params = dicts.merge(params, new_params, sub_merge=True)

    super(View, self).__init__(params=params)


view = View()

edit = decorators.view(view.edit)
public = decorators.view(view.public)
コード例 #4
0
ファイル: student_ranking.py プロジェクト: SRabbelier/Melange
    return self._list(request, list_params, contents, page_name)


  def getListRankingDetailsData(self, request, params, student):
    """Returns the list data for Ranking Details list.

    Args:
      request: HTTPRequest object
      params_collection: List of list Params indexed with the idx of the list
      org_entity: GCIOrganization entity for which the lists are generated
    """

    filter = {
        'student': student,
        'status': 'Closed',
        }

    visibility = 'public'
    args = []

    params['logic'] = gci_task_logic

    contents = lists.getListData(request, params, filter,
        visibility=visibility, args=args)
    return lists.getResponse(request, contents)

view = View()

show_details = decorators.view(view.showDetails)
コード例 #5
0
        new_params['logic'] = org_app_logic
        new_params['rights'] = rights

        new_params['scope_view'] = program_view

        new_params['name'] = "GSoC Org Application Survey"
        new_params['url_name'] = 'gsoc/org_app'
        new_params['module_package'] = 'soc.modules.gsoc.views.models'
        new_params['module_name'] = 'org_app_survey'

        new_params['bulk_process_task'] = org_app_survey_tasks.bulk_process

        params = dicts.merge(params, new_params, sub_merge=True)

        super(View, self).__init__(params=params)


view = View()

create = decorators.view(view.create)
edit = decorators.view(view.edit)
delete = decorators.view(view.delete)
list = decorators.view(view.list)
list_self = decorators.view(view.listSelf)
public = decorators.view(view.public)
record = decorators.view(view.viewRecord)
results = decorators.view(view.viewResults)
review = decorators.view(view.review)
review_overview = decorators.view(view.reviewOverview)
take = decorators.view(view.take)
コード例 #6
0
                if request_status != request_entity.status:
                    request_logic.updateEntityProperties(
                        request_entity, {'status': get_dict['status']})

                group_view = params.get('group_view')
                if not group_view:
                    return http.HttpResponseRedirect('/')
                else:
                    # redirect to the requests list
                    return http.HttpResponseRedirect(
                        redirects.getListRequestsRedirect(
                            request_entity.group, group_view.getParams()))

        # put the entity in the context
        context['entity'] = request_entity
        context['request_status'] = request_entity.status
        context['role_verbose'] = params['name']
        context['url_name'] = params['url_name']

        #display the request processing page using the appropriate template
        template = request_view.view.getParams()['request_processing_template']

        return responses.respond(request, template, context=context)


view = View()

create = decorators.view(view.create)
delete = decorators.view(view.delete)
edit = decorators.view(view.edit)
コード例 #7
0
ファイル: student_proposal.py プロジェクト: jamslevy/gsoc
    followers = review_follower_logic.getForFields(fields)

    if is_public:
      # redirect to public page
      redirect_url = redirects.getPublicRedirect(entity, self._params)
    else:
      # redirect to review page
      redirect_url = redirects.getReviewRedirect(entity, self._params)

    for follower in followers:
      # sent to every follower except the reviewer
      if follower.user.key() != review_entity.author.key():
        notifications_helper.sendNewReviewNotification(follower.user,
            review_entity, entity.title, redirect_url)


view = View()

admin = decorators.view(view.admin)
apply = decorators.view(view.apply)
create = decorators.view(view.create)
delete = decorators.view(view.delete)
edit = decorators.view(view.edit)
list = decorators.view(view.list)
list_orgs = decorators.view(view.listOrgs)
list_self = decorators.view(view.listSelf)
public = decorators.view(view.public)
review = decorators.view(view.review)
export = decorators.view(view.export)
pick = decorators.view(view.pick)
コード例 #8
0
ファイル: user_self.py プロジェクト: praveen97uma/Melange
        notifications = model_logic.notification.logic.getForFields(filter)
        count = len(list(notifications))

        if count > 0:
            link_title = '<span class="unread">%s (%d)</span>' % (
                force_unicode(link_title), count)
            link_title = mark_safe(link_title)

        items = [('/' + 'notification/list', link_title, 'notification')]
        if user:
            items += [(redirects.getCreateDocumentRedirect(user, 'user'),
                       "Create a New Document", 'any_access')]

            items += [(redirects.getListDocumentsRedirect(user, 'user'),
                       "List Documents", 'any_access')]

        new_params = {}
        new_params['sidebar_additional'] = items

        params = dicts.merge(params, new_params)

        return super(View, self).getSidebarMenus(id, user, params=params)


view = View()

create = decorators.view(view.create)
edit = decorators.view(view.editProfile)
export = decorators.view(view.export)
roles = decorators.view(view.roles)
コード例 #9
0
ファイル: seeder.py プロジェクト: pombredanne/Melange-1
            if json:
                try:
                    data = simplejson.loads(json)
                except ValueError:
                    return responses.jsonErrorResponse(request,
                                                       'Invalid JSON!')

                try:
                    seeder_logic.validateConfiguration(data)
                except Error, e:
                    return responses.jsonErrorResponse(request, e.args[0])
            else:
                return responses.jsonErrorResponse(request,
                                                   'No data supplied!')
        else:
            return HttpResponseForbidden()

        response = simplejson.dumps({'result': 'success'})
        return responses.jsonResponse(request, response)


view = View()

get_data = view_decorators.view(view.getData)
home = view_decorators.view(view.home)
seed = view_decorators.view(view.seed)
echo = view_decorators.view(view.echo)
test_provider = view_decorators.view(view.testProvider)
validate_configuration_sheet = view_decorators.view(
    view.validateConfigurationSheet)
コード例 #10
0
ファイル: org_app.py プロジェクト: ajaksu/Melange
        'nr_applications' : len(org_apps),
        'application_type' : params['name_plural'],
        'applications': org_apps,
        'link' : '/%s/review/%s/(link_id)?status=%s' %(
            params['url_name'] ,program_entity.key().id_or_name(), to_status),
        }

    json = simplejson.dumps(to_json)

    # use the standard JSON template to return our response
    context = {'json': json}
    template = 'soc/json.html'

    return responses.respond(request, template, context)


view = View()

admin = decorators.view(view.admin)
bulk_accept = decorators.view(view.bulkAccept)
bulk_reject = decorators.view(view.bulkReject)
create = decorators.view(view.create)
delete = decorators.view(view.delete)
edit = decorators.view(view.edit)
list = decorators.view(view.list)
list_self = decorators.view(view.listSelf)
public = decorators.view(view.public)
export = decorators.view(view.export)
review = decorators.view(view.review)
review_overview = decorators.view(view.reviewOverview)
コード例 #11
0
    rights['any_access'] = ['allow']
    rights['download_blob'] = ['allow']

    new_params = {}
    new_params['logic'] = soc.modules.gci.logic.models.work_submission.logic
    new_params['rights'] = rights

    new_params['name'] = "Work Submission"
    new_params['module_name'] = "work_submission"

    new_params['module_package'] = 'soc.modules.gci.views.models'
    new_params['url_name'] = 'gci/work_submission'

    patterns = []
    patterns += [
        (r'^%(url_name)s/(?P<access_type>download_blob)$',
        '%(module_package)s.%(module_name)s.download_blob',
        'Download the blob'),
        ]

    new_params['extra_django_patterns'] = patterns

    params = dicts.merge(params, new_params, sub_merge=True)

    super(View, self).__init__(params=params)


view = View()

download_blob = decorators.view(view.downloadBlob)
コード例 #12
0
        ar_params = params.copy()
        ar_params['public_row_action'] = {}
        ar_params['public_row_extra'] = lambda x: {}
        ar_params['list_description'] = ugettext(
            "List of your pending requests.")

        if request.GET.get('fmt') == 'json':
            return self.getListSelfData(request, uh_params, ar_params)

        uh_list = helper.lists.getListGenerator(request, uh_params, idx=0)
        ar_list = helper.lists.getListGenerator(request, ar_params, idx=1)

        # fill contents with all the needed lists
        contents = [uh_list, ar_list]

        # call the _list method from base to display the list
        return self._list(request, params, contents, page_name)


view = View()

admin = decorators.view(view.admin)
create = decorators.view(view.create)
edit = decorators.view(view.edit)
delete = decorators.view(view.delete)
list = decorators.view(view.list)
list_self = decorators.view(view.listSelf)
process_invite = decorators.view(view.processInvite)
public = decorators.view(view.public)
export = decorators.view(view.export)
コード例 #13
0
ファイル: survey.py プロジェクト: SRabbelier/Melange
      survey_record = record_logic.getForFields(filter, unique=True)

      if survey_record:
        taken_status = ""
      else:
        # no SurveyRecord available so we mark the survey as new
        taken_status = "(new)"

      submenu = (redirects.getTakeSurveyRedirect(survey_entity, survey_params),
                 'Survey ' + taken_status + ': ' + survey_entity.short_name,
                 'show')

      submenus.append(submenu)
    return submenus


view = View()

admin = decorators.view(view.admin)
create = decorators.view(view.create)
edit = decorators.view(view.edit)
export = decorators.view(view.export)
delete = decorators.view(view.delete)
json = decorators.view(view.exportSerialized)
list = decorators.view(view.list)
public = decorators.view(view.public)
record = decorators.view(view.viewRecord)
results = decorators.view(view.viewResults)
take = decorators.view(view.take)
コード例 #14
0
        ap_params['list_heading'] = 'soc/student_project/list/heading_all.html'
        ap_params['list_row'] = 'soc/student_project/list/row_all.html'

        prefetch = ['mentor', 'student', 'scope']

        return self.list(request,
                         access_type,
                         page_name=page_name,
                         params=ap_params,
                         filter=filter,
                         prefetch=prefetch)


view = View()

accepted_orgs = decorators.view(view.acceptedOrgs)
list_projects = decorators.view(view.acceptedProjects)
admin = decorators.view(view.admin)
assign_slots = decorators.view(view.assignSlots)
assigned_proposals = decorators.view(view.assignedProposals)
create = decorators.view(view.create)
delete = decorators.view(view.delete)
edit = decorators.view(view.edit)
list = decorators.view(view.list)
public = decorators.view(view.public)
export = decorators.view(view.export)
show_duplicates = decorators.view(view.showDuplicates)
slots = decorators.view(view.slots)
home = decorators.view(view.home)
pick = decorators.view(view.pick)
コード例 #15
0
ファイル: survey.py プロジェクト: ajaksu/Melange
    entity = None

    # TODO(ajaksu): there has to be a better way in this universe to get these
    kwargs['prefix'] = 'program'
    kwargs['link_id'] = request.path.split('/')[-1]
    kwargs['scope_path'] = '/'.join(request.path.split('/')[4:-1])

    entity = survey_logic.getFromKeyFieldsOr404(kwargs)

    if not self._public(request, entity, context):
      error = out_of_band.Error('')
      error = responses.errorResponse(
          error, request, template=params['error_public'], context=context)
      return error, None

    return entity, context


view = View()

admin = decorators.view(view.admin)
create = decorators.view(view.create)
edit = decorators.view(view.edit)
delete = decorators.view(view.delete)
list = decorators.view(view.list)
public = decorators.view(view.public)
export = decorators.view(view.export)
pick = decorators.view(view.pick)
results = decorators.view(view.viewResults)
json = decorators.view(view.exportSerialized)
コード例 #16
0
ファイル: role.py プロジェクト: SRabbelier/Melange
        if request_status != request_entity.status:
          request_logic.updateEntityProperties(request_entity, {
              'status': get_dict['status']})

        group_view = params.get('group_view')
        if not group_view:
          return http.HttpResponseRedirect('/')
        else:
          # redirect to the requests list
          return http.HttpResponseRedirect(
              redirects.getListRequestsRedirect(request_entity.group,
                  group_view.getParams()))

    # put the entity in the context
    context['entity'] = request_entity
    context['request_status'] = request_entity.status 
    context['role_verbose'] = params['name']
    context['url_name'] = params['url_name']

    #display the request processing page using the appropriate template
    template = request_view.view.getParams()['request_processing_template']

    return responses.respond(request, template, context=context)


view = View()

create = decorators.view(view.create)
delete = decorators.view(view.delete)
edit = decorators.view(view.edit)
コード例 #17
0
ファイル: sponsor.py プロジェクト: pombredanne/Melange-1
                       "Resign as Program Administrator", 'any_access')
            submenus.append(submenu)

            # add a link to create a new document
            submenu = (redirects.getCreateDocumentRedirect(
                group_entity,
                'sponsor'), "Create a New Document", 'any_access')
            submenus.append(submenu)

            # add a link to list all documents
            submenu = (redirects.getListDocumentsRedirect(
                group_entity, 'sponsor'), "List Documents", 'any_access')
            submenus.append(submenu)

        return submenus


view = View()

admin = decorators.view(view.admin)
create = decorators.view(view.create)
delete = decorators.view(view.delete)
edit = decorators.view(view.edit)
home = decorators.view(view.home)
list = decorators.view(view.list)
list_requests = decorators.view(view.listRequests)
list_roles = decorators.view(view.listRoles)
public = decorators.view(view.public)
export = decorators.view(view.export)
pick = decorators.view(view.pick)
コード例 #18
0
ファイル: site.py プロジェクト: praveen97uma/Melange
    """Displays the edit page for the main site settings page.

    Args:
      request: the standard Django HTTP request object
      page_name: the page name displayed in templates as page and header title
      kwargs: not used
    """

    keys = self._logic.getKeyFieldNames()

    # No entity in this case, since Site key values are hard-coded for the
    # Site singleton, so pass in None to match parent method footprint.
    values = self._logic.getKeyValuesFromEntity(None)
    key_values = dicts.zip(keys, values)

    return self.edit(request, "edit", page_name, seed=key_values, **key_values)


view = View()

admin = decorators.view(view.admin)
create = decorators.view(view.create)
edit = decorators.view(view.edit)
delete = decorators.view(view.delete)
list = decorators.view(view.list)
public = decorators.view(view.public)
export = decorators.view(view.export)
main_public = decorators.view(view.mainPublic)
main_edit = decorators.view(view.mainEdit)
home = decorators.view(view.home)
コード例 #19
0
    form.fields['agreed_to_tos_on'].example_text = self._getToSExampleText()
    form.fields['status'].initial = entity.status

    super(View, self)._editGet(request, entity, form)


  def _getToSExampleText(self):
    """Returns example_text linking to site-wide ToS, or a warning message.
    """
    tos_link = redirects.getToSRedirect(site_logic.getSingleton())

    if not tos_link:
      return ('<div class="notice">&nbsp;<i>No site-wide</i> Terms of'
              ' Service <i>are currently set!</i>&nbsp;</div>')

    return ('<i>current site-wide <b><a href=%s>Terms of Service</a></b></i>'
            % tos_link)


view = View()

admin = decorators.view(view.admin)
create = decorators.view(view.create)
delete = decorators.view(view.delete)
edit = decorators.view(view.edit)
list = decorators.view(view.list)
list_developers = decorators.view(view.listDevelopers)
public = decorators.view(view.public)
export = decorators.view(view.export)
pick = decorators.view(view.pick)
コード例 #20
0
        list_params['logic'] = record_logic
        list_params['list_heading'] = params['records_heading_template']
        list_params['list_row'] = params['records_row_template']
        list_params['public_row_extra'] = lambda entity: {
            'link': redirects.getEditGradingRecordRedirect(
                entity, list_params)
        }
        # TODO(LIST)
        fields = {'grading_survey_group': survey_group}

        # get the list content for all records
        list_params['list_description'] = \
            'List of all GradingRecords. Pick one to edit it.'

        # return the view which renders the set content
        return self.list(request,
                         'any_access',
                         page_name=page_name,
                         params=list_params)


view = View()

create = decorators.view(view.create)
delete = decorators.view(view.delete)
edit = decorators.view(view.edit)
edit_record = decorators.view(view.editRecord)
list = decorators.view(view.list)
public = decorators.view(view.public)
view_records = decorators.view(view.viewRecords)
コード例 #21
0
        if request.POST and request.POST.get("start"):
            # button has been pressed start the task
            task_params = {
                "program_key": survey_logic.getScope(entity).key().id_or_name(),
                "survey_key": entity.key().id_or_name(),
                "survey_type": params["survey_type"],
            }
            task_url = "/tasks/surveys/projects/send_reminder/spawn"

            new_task = taskqueue.Task(params=task_params, url=task_url)
            new_task.add()

            context["message"] = "Task successfully started!"

        template = params["reminder_template"]
        return responses.respond(request, template, context)


view = View()

create = decorators.view(view.create)
edit = decorators.view(view.edit)
delete = decorators.view(view.delete)
list = decorators.view(view.list)
public = decorators.view(view.public)
record = decorators.view(view.viewRecord)
results = decorators.view(view.viewResults)
send_reminder = decorators.view(view.sendReminder)
take = decorators.view(view.take)
コード例 #22
0
ファイル: club_app.py プロジェクト: ajaksu/Melange
    new_params['url_name'] = "club_app"
    new_params['group_name'] = "Club"
    new_params['group_url_name'] = 'club'

    new_params['review_template'] = 'soc/club_app/review.html'

    new_params['sidebar_additional'] = [
        ('/%(url_name)s/list_self/' % new_params,
         'List all my %(name_plural)s' % new_params, 'list_self'),
        ('/%(url_name)s/review_overview/' % new_params,
         'Review %(name_plural)s' % new_params, 'review_overview')]

    params = dicts.merge(params, new_params)

    super(View, self).__init__(params=params)


view = View()

admin = decorators.view(view.admin)
create = decorators.view(view.create)
delete = decorators.view(view.delete)
edit = decorators.view(view.edit)
list = decorators.view(view.list)
list_self = decorators.view(view.listSelf)
public = decorators.view(view.public)
export = decorators.view(view.export)
review = decorators.view(view.review)
review_overview = decorators.view(view.reviewOverview)

コード例 #23
0
ファイル: organization.py プロジェクト: praveen97uma/Melange
        if request.GET.get('fmt') == 'json':
            return self.getListProposalsData(request, rp_params, mp_params,
                                             p_params, org_entity)

        rp_list = helper.lists.getListGenerator(request, rp_params, idx=0)
        mp_list = helper.lists.getListGenerator(request, mp_params, idx=1)
        p_list = helper.lists.getListGenerator(request, p_params, idx=2)

        contents = [rp_list, mp_list, p_list]

        return self._list(request, list_params, contents, page_name, context)


view = View()

admin = decorators.view(view.admin)
#applicant = decorators.view(view.applicant) # TODO
apply_mentor = decorators.view(view.applyMentor)
create = decorators.view(view.create)
delete = decorators.view(view.delete)
edit = decorators.view(view.edit)
home = decorators.view(view.home)
list = decorators.view(view.list)
list_proposals = decorators.view(view.listProposals)
list_public = decorators.view(view.listPublic)
list_requests = decorators.view(view.listRequests)
list_roles = decorators.view(view.listRoles)
public = decorators.view(view.public)
export = decorators.view(view.export)
pick = decorators.view(view.pick)
コード例 #24
0
ファイル: program.py プロジェクト: SRabbelier/Melange
    order = ['-points']

    if lists.isDataRequest(request):
      contents = lists.getListData(request, list_params, ranking_filter)
      return lists.getResponse(request, contents)

    contents = [lists.getListGenerator(
        request, list_params, order=order, idx=0)]

    return self._list(request, list_params, contents=contents,
        page_name=page_name)

view = View()

admin = decorators.view(view.admin)
accepted_orgs = decorators.view(view.acceptedOrgs)
assign_task_quotas = decorators.view(view.assignTaskQuotas)
create = decorators.view(view.create)
delete = decorators.view(view.delete)
edit = decorators.view(view.edit)
list = decorators.view(view.list)
list_my_tasks = decorators.view(view.listMyTasks)
list_participants = decorators.view(view.listParticipants)
list_tasks = decorators.view(view.listTasks)
public = decorators.view(view.public)
request_tasks = decorators.view(view.requestMoreTasks)
show_ranking = decorators.view(view.showRanking)
export = decorators.view(view.export)
home = decorators.view(view.home)
task_type_tag_edit = decorators.view(view.taskTypeTagEdit)
コード例 #25
0
    items = []

    return items

  def _public(self, request, entity, context):
    """See base.View._public().
    """

    news_feed = NewsFeed(entity)
    context['news_feed'] = news_feed.getFeed() 


view = View()

accepted_orgs = decorators.view(view.acceptedOrgs)
list_projects = decorators.view(view.acceptedProjects)
admin = decorators.view(view.admin)
assign_slots = decorators.view(view.assignSlots)
assigned_proposals = decorators.view(view.assignedProposals)
create = decorators.view(view.create)
delete = decorators.view(view.delete)
edit = decorators.view(view.edit)
list = decorators.view(view.list)
public = decorators.view(view.public)
export = decorators.view(view.export)
show_duplicates = decorators.view(view.showDuplicates)
slots = decorators.view(view.slots)
home = decorators.view(view.home)
pick = decorators.view(view.pick)
subscribe = decorators.view(view.subscribe)
コード例 #26
0
            contents = lists.getListData(request, list_params, ranking_filter)
            return lists.getResponse(request, contents)

        contents = [
            lists.getListGenerator(request, list_params, order=order, idx=0)
        ]

        return self._list(request,
                          list_params,
                          contents=contents,
                          page_name=page_name)


view = View()

admin = decorators.view(view.admin)
accepted_orgs = decorators.view(view.acceptedOrgs)
assign_task_quotas = decorators.view(view.assignTaskQuotas)
create = decorators.view(view.create)
delete = decorators.view(view.delete)
edit = decorators.view(view.edit)
list = decorators.view(view.list)
list_my_tasks = decorators.view(view.listMyTasks)
list_participants = decorators.view(view.listParticipants)
list_tasks = decorators.view(view.listTasks)
public = decorators.view(view.public)
request_tasks = decorators.view(view.requestMoreTasks)
show_ranking = decorators.view(view.showRanking)
export = decorators.view(view.export)
home = decorators.view(view.home)
task_type_tag_edit = decorators.view(view.taskTypeTagEdit)
コード例 #27
0
ファイル: notification.py プロジェクト: ajaksu/Melange
    """

    # if the user viewing is the user for which this notification is meant
    # and the notification has not been read yet
    if entity.unread:
      # get the current user
      user = user_logic.getForCurrentAccount()
      
      # if the message is meant for the user that is reading it
      # pylint: disable-msg=E1103
      if entity.scope.key() == user.key():
        # mark the entity as read
        self._logic.updateEntityProperties(entity, {'unread' : False} )

    context['entity_type_url'] = self._params['url_name']
    context['entity_suffix'] = entity.key().id_or_name() if entity else None

    return True


view = View()

admin = decorators.view(view.admin)
create = decorators.view(view.create)
edit = decorators.view(view.edit)
delete = decorators.view(view.delete)
list = decorators.view(view.list)
public = decorators.view(view.public)
export = decorators.view(view.export)

コード例 #28
0
ファイル: student.py プロジェクト: SRabbelier/Melange
            return http.HttpResponseRedirect(gci_redirects.getSubmitFormsRedirect(entity, params))

        # TODO(SRabbelier): handle multiple file uploads
        upload = request.file_uploads[0]

        if form == "consent":
            entity.consent_form = upload
        elif form == "consent_two":
            entity.consent_form_two = upload
        elif form == "student_id":
            entity.student_id_form = upload
        else:
            logging.warning("Invalid value for form '%s'" % form)

        entity.put()

        return http.HttpResponseRedirect(gci_redirects.getSubmitFormsRedirect(entity, params))


view = View()

apply = decorators.view(view.apply)
create = decorators.view(view.create)
delete = decorators.view(view.delete)
edit = decorators.view(view.edit)
list = decorators.view(view.list)
public = decorators.view(view.public)
export = decorators.view(view.export)
submit_forms = decorators.view(view.submitForms)
download_blob = decorators.view(view.downloadBlob)
コード例 #29
0
        rest: see base.View.public()
    """

        form = params['student_edit_form'](request.POST)

        if not form.is_valid():
            return self._constructResponse(request, entity, context, form,
                                           params)

        _, fields = forms_helper.collectCleanedFields(form)

        project_logic.updateEntityProperties(entity, fields)

        return self.stEditGet(request, context, params, entity, **kwargs)


view = View()

admin = decorators.view(view.admin)
create = decorators.view(view.create)
delete = decorators.view(view.delete)
edit = decorators.view(view.edit)
list = decorators.view(view.list)
manage = decorators.view(view.manage)
manage_overview = decorators.view(view.manageOverview)
overview = decorators.view(view.overview)
public = decorators.view(view.public)
st_edit = decorators.view(view.stEdit)
export = decorators.view(view.export)
pick = decorators.view(view.pick)
コード例 #30
0
    except out_of_band.Error, error:
      return responses.errorResponse(
          error, request, template=params['error_public'])

    list_params = params.copy()
    list_params['logic'] = record_logic
    list_params['records_row_extra'] = lambda entity: {
        'link': redirects.getEditGradingRecordRedirect(entity, list_params)
    }
    list_params['records_row_action'] = params['public_row_action']
    fields = {'grading_survey_group': survey_group}

    # get the list content for all records
    list_params['list_description'] = \
        'List of all GradingRecords. Pick one to edit it.'

    # return the view which renders the set content
    return self.list(request, 'allow', page_name=page_name,
                     params=list_params, visibility='records')


view = View()

create = decorators.view(view.create)
delete = decorators.view(view.delete)
edit = decorators.view(view.edit)
edit_record = decorators.view(view.editRecord)
list = decorators.view(view.list)
public = decorators.view(view.public)
view_records = decorators.view(view.viewRecords)
コード例 #31
0
            if subscriber.key() == user_account.key():
                remove = True
                break

        if remove:
            subscribers.remove(subscriber)
            data = 'remove'
        else:
            subscribers.append(user_account)
            data = 'add'

        # TODO: missing description for this argument, is it even necessary?
        if not get_params.get('no_toggle'):
            sub_keys = []
            for subscriber in subscribers:
                sub_keys.append(subscriber.key())

            properties = {
                'subscribers': sub_keys,
            }

            ghop_task_subscription_logic.logic.updateEntityProperties(
                entity, properties)

        return http.HttpResponse(data)


view = View()

subscribe = decorators.view(view.subscribe)
コード例 #32
0
    context['page_name'] = page_name

    if request.POST and request.POST.get('start'):
      # button has been pressed start the task
      task_params = {
          'program_key': survey_logic.getScope(entity).key().id_or_name(),
          'survey_key': entity.key().id_or_name(),
          'survey_type': params['survey_type']}
      task_url = '/tasks/surveys/projects/send_reminder/spawn'

      new_task = taskqueue.Task(params=task_params, url=task_url)
      new_task.add()

      context['message'] = "Task successfully started!"

    template = params['reminder_template']
    return responses.respond(request, template, context)


view = View()

create = decorators.view(view.create)
edit = decorators.view(view.edit)
delete = decorators.view(view.delete)
list = decorators.view(view.list)
public = decorators.view(view.public)
record = decorators.view(view.viewRecord)
results = decorators.view(view.viewResults)
send_reminder = decorators.view(view.sendReminder)
take = decorators.view(view.take)
コード例 #33
0
ファイル: program.py プロジェクト: praveen97uma/Melange
        program_entity = logic.getFromKeyFieldsOr404(kwargs)

        fmt = {'name': program_entity.name}
        description = self.DEF_PARTICIPATING_ORGS_MSG_FMT % fmt

        ao_list = self._getOrgsWithProfilesList(program_entity, org_view,
                                                description, False)

        params = params.copy()
        params['list_msg'] = program_entity.accepted_orgs_msg

        return self._list(request, params, [ao_list], page_name)


view = View()

admin = decorators.view(view.admin)
accepted_orgs = decorators.view(view.acceptedOrgs)
assign_task_quotas = decorators.view(view.assignTaskQuotas)
create = decorators.view(view.create)
delete = decorators.view(view.delete)
edit = decorators.view(view.edit)
list = decorators.view(view.list)
public = decorators.view(view.public)
export = decorators.view(view.export)
home = decorators.view(view.home)
difficulty_tag_edit = decorators.view(view.difficultyTagEdit)
task_type_tag_edit = decorators.view(view.taskTypeTagEdit)
task_difficulty_edit = decorators.view(view.taskDifficultyEdit)
task_type_edit = decorators.view(view.taskTypeEdit)
コード例 #34
0
ファイル: org_app_survey.py プロジェクト: SRabbelier/Melange
    new_params['logic'] = org_app_logic
    new_params['rights'] = rights

    new_params['scope_view'] = program_view

    new_params['name'] = "GCI Org Application Survey"
    new_params['url_name'] = 'gci/org_app'
    new_params['module_package'] = 'soc.modules.gci.views.models'
    new_params['module_name'] = 'org_app_survey'

    new_params['bulk_process_task'] = org_app_survey_tasks.bulk_process

    params = dicts.merge(params, new_params, sub_merge=True)

    super(View, self).__init__(params=params)


view = View()

create = decorators.view(view.create)
edit = decorators.view(view.edit)
delete = decorators.view(view.delete)
list = decorators.view(view.list)
list_self = decorators.view(view.listSelf)
public = decorators.view(view.public)
record = decorators.view(view.viewRecord)
results = decorators.view(view.viewResults)
review = decorators.view(view.review)
review_overview = decorators.view(view.reviewOverview)
take = decorators.view(view.take)
コード例 #35
0
ファイル: statistic.py プロジェクト: pombredanne/Melange-1
        minimal_rights = logic.ACCESS_TYPES.index(access_type)
        for item in logic.ACCESS_TYPES[minimal_rights:]:
            ref_logic = logic.helper.LOGICS_DICT[item]
            try:
                checker.checkHasActiveRole({}, ref_logic.logic)
                has_access = True
                break
            except Exception:
                pass

        return has_access


view = View()

csv_export = view_decorators.view(view.csvExport)
manage_statistics = view_decorators.view(view.manageStatistics)
update_stats = view_decorators.view(view.updateOrClearStats)
visualize = view_decorators.view(view.visualize)
get_json_response = view_decorators.view(view.getJsonResponse)
get_virtual_statistics = view_decorators.view(view.getVirtualStatistics)
get_available_statistics = view_decorators.view(view.getAvailableStatistics)
set_collect_task = view_decorators.view(view.setCollectTask)
public = view_decorators.view(view.public)
create = view_decorators.view(view.create)
delete = view_decorators.view(view.delete)
edit = view_decorators.view(view.edit)
list = view_decorators.view(view.list)
collect_task = task_decorators.task(view.collectTask)
コード例 #36
0
        list_params = project_view.view.getParams().copy()

        fmt = {'name': student_entity.scope.name}
        list_params[
            'list_description'] = self.DEF_STUDENT_PROJECTS_MSG_FMT % fmt
        list_params['public_row_extra'] = lambda entity: {
            'link': (redirects.getStudentEditRedirect(entity, list_params)
                     if entity.student.status != 'inactive' else redirects.
                     getPublicRedirect(entity, list_params))
        }

        return project_view.view.list(request,
                                      'allow',
                                      page_name=page_name,
                                      params=list_params,
                                      filter=fields)


view = View()

apply = decorators.view(view.apply)
create = decorators.view(view.create)
delete = decorators.view(view.delete)
edit = decorators.view(view.edit)
list = decorators.view(view.list)
list_projects = decorators.view(view.listProjects)
manage = decorators.view(view.manage)
public = decorators.view(view.public)
export = decorators.view(view.export)
コード例 #37
0
ファイル: mentor.py プロジェクト: pombredanne/Melange-1
        new_params['name'] = "GSoC Mentor"
        new_params['module_name'] = "mentor"
        new_params['sidebar_grouping'] = 'Organizations'

        new_params['module_package'] = 'soc.modules.gsoc.views.models'
        new_params['url_name'] = 'gsoc/mentor'

        new_params['role'] = 'gsoc/mentor'

        params = dicts.merge(params, new_params, sub_merge=True)

        super(View, self).__init__(params)


view = View()

accept_invite = decorators.view(view.acceptInvite)
admin = decorators.view(view.admin)
create = decorators.view(view.create)
delete = decorators.view(view.delete)
edit = decorators.view(view.edit)
invite = decorators.view(view.invite)
list = decorators.view(view.list)
manage = decorators.view(view.manage)
process_request = decorators.view(view.processRequest)
role_request = decorators.view(view.request)
public = decorators.view(view.public)
export = decorators.view(view.export)
pick = decorators.view(view.pick)
コード例 #38
0
            # add a link to the resign page
            submenu = (redirects.getManageRedirect(roles['gci_mentor'],
                                                   {'url_name': 'gci/mentor'}),
                       "Resign as Mentor", 'any_access')
            submenus.append(submenu)

            # add a link to the edit page
            submenu = (redirects.getEditRedirect(roles['gci_mentor'],
                                                 {'url_name': 'gci/mentor'}),
                       "Edit My Mentor Profile", 'any_access')
            submenus.append(submenu)

        return submenus


view = View()

admin = decorators.view(view.admin)
applicant = decorators.view(view.applicant)
apply_mentor = decorators.view(view.applyMentor)
create = decorators.view(view.create)
delete = decorators.view(view.delete)
edit = decorators.view(view.edit)
list = decorators.view(view.list)
list_requests = decorators.view(view.listRequests)
list_roles = decorators.view(view.listRoles)
public = decorators.view(view.public)
export = decorators.view(view.export)
home = decorators.view(view.home)
request_task = decorators.view(view.requestTask)
コード例 #39
0
ファイル: notification.py プロジェクト: pombredanne/Melange-1
        # if the user viewing is the user for which this notification is meant
        # and the notification has not been read yet
        if entity.unread:
            # get the current user
            user = user_logic.getCurrentUser()

            # if the message is meant for the user that is reading it
            # pylint: disable=E1103
            if entity.scope.key() == user.key():
                # mark the entity as read
                self._logic.updateEntityProperties(entity, {'unread': False})

        context['entity_type_url'] = self._params['url_name']
        context['entity_suffix'] = entity.key().id_or_name(
        ) if entity else None
        context['page_name'] = 'Notification - %s' % (entity.subject)

        return True


view = View()

admin = decorators.view(view.admin)
create = decorators.view(view.create)
edit = decorators.view(view.edit)
delete = decorators.view(view.delete)
list = decorators.view(view.list)
public = decorators.view(view.public)
export = decorators.view(view.export)
コード例 #40
0
ファイル: student.py プロジェクト: praveen97uma/Melange
            st_org_list = self._listStudentTasks(tasks_by_orgs[k][1],
                                                 st_org_params)

            contents.append(st_org_list)

        return self._list(request, st_params, contents, page_name, context)

    def _listStudentTasks(self, data, params):
        """Returns a list with all entities specified in data.
    """

        result = dicts.rename(params, params['list_params'])
        result['action'] = (redirects.getPublicRedirect, params)
        result['data'] = data
        result['pagination'] = 'soc/list/no_pagination.html'
        # TODO(LIST)
        return result


view = View()

apply = decorators.view(view.apply)
create = decorators.view(view.create)
delete = decorators.view(view.delete)
edit = decorators.view(view.edit)
list = decorators.view(view.list)
list_student_tasks = decorators.view(view.listStudentTasks)
manage = decorators.view(view.manage)
public = decorators.view(view.public)
export = decorators.view(view.export)
コード例 #41
0
    def __init__(self, params=None):
        """Defines the fields and methods required for the program View class
    to provide the user with list, public, create, edit and delete views.

    Params:
      params: a dict with params for this View
    """

        rights = ghop_access.GHOPChecker(params)
        rights['edit'] = [('checkCanEditTimeline', [ghop_program_logic.logic])]

        new_params = {}
        new_params['logic'] = soc.modules.ghop.logic.models.timeline.logic
        new_params['rights'] = rights

        new_params['name'] = "GHOP Timeline"
        new_params['module_name'] = "timeline"

        new_params['module_package'] = 'soc.modules.ghop.views.models'
        new_params['url_name'] = 'ghop/timeline'

        params = dicts.merge(params, new_params, sub_merge=True)

        super(View, self).__init__(params=params)


view = View()

edit = decorators.view(view.edit)
public = decorators.view(view.public)
コード例 #42
0
ファイル: gsoc_statistic.py プロジェクト: SRabbelier/Melange
    """

    new_params = {}

    new_params['url_name'] = 'gsoc/statistic'
    new_params['module_name'] = 'gsoc_statistic'
    new_params['program_logic'] = gsoc_program_logic

    params = dicts.merge(params, new_params)

    super(View, self).__init__(params=params)


view = View()

manage_statistics = view_decorators.view(view.manageStatistics)
csv_export = view_decorators.view(view.csvExport)
manage_statistics = view_decorators.view(view.manageStatistics)
update_stats = view_decorators.view(view.updateOrClearStats)
visualize = view_decorators.view(view.visualize)
get_json_response = view_decorators.view(view.getJsonResponse)
get_virtual_statistics = view_decorators.view(view.getVirtualStatistics)
get_available_statistics = view_decorators.view(view.getAvailableStatistics)
set_collect_task = view_decorators.view(view.setCollectTask)
public = view_decorators.view(view.public)
create = view_decorators.view(view.create)
delete = view_decorators.view(view.delete)
edit = view_decorators.view(view.edit)
list = view_decorators.view(view.list)
collect_task = task_decorators.task(view.collectTask)
コード例 #43
0
ファイル: mentor.py プロジェクト: SRabbelier/Melange
    new_params['name'] = "GSoC Mentor"
    new_params['module_name'] = "mentor"
    new_params['sidebar_grouping'] = 'Organizations'

    new_params['module_package'] = 'soc.modules.gsoc.views.models'
    new_params['url_name'] = 'gsoc/mentor'

    new_params['role'] = 'gsoc/mentor'

    params = dicts.merge(params, new_params, sub_merge=True)

    super(View, self).__init__(params)


view = View()

accept_invite = decorators.view(view.acceptInvite)
admin = decorators.view(view.admin)
create = decorators.view(view.create)
delete = decorators.view(view.delete)
edit = decorators.view(view.edit)
invite = decorators.view(view.invite)
list = decorators.view(view.list)
manage = decorators.view(view.manage)
process_request = decorators.view(view.processRequest)
role_request = decorators.view(view.request)
public = decorators.view(view.public)
export = decorators.view(view.export)
pick = decorators.view(view.pick)
コード例 #44
0
    else:
      form.fields['student_agreement'] = None
      return

    program = program_logic.logic.getFromKeyName(scope_path)

    if not (program and program.student_agreement):
      return

    agreement = program.student_agreement

    content = agreement.content
    params = {'url_name': 'document'}

    widget = form.fields['student_agreement'].widget
    widget.text = content
    widget.url = redirects.getPublicRedirect(agreement, params)


view = View()

apply = decorators.view(view.apply)
create = decorators.view(view.create)
delete = decorators.view(view.delete)
edit = decorators.view(view.edit)
list = decorators.view(view.list)
list_projects = decorators.view(view.listProjects)
manage = decorators.view(view.manage)
public = decorators.view(view.public)
export = decorators.view(view.export)
コード例 #45
0
ファイル: student_project.py プロジェクト: jamslevy/gsoc
    Args:
        entity: the student project entity
        rest: see base.View.public()
    """

    form = params['student_edit_form'](request.POST)

    if not form.is_valid():
      return self._constructResponse(request, entity, context, form, params)

    _, fields = forms_helper.collectCleanedFields(form)

    project_logic.updateEntityProperties(entity, fields)

    return self.stEditGet(request, context, params, entity, **kwargs)


view = View()

admin = decorators.view(view.admin)
create = decorators.view(view.create)
delete = decorators.view(view.delete)
edit = decorators.view(view.edit)
list = decorators.view(view.list)
manage = decorators.view(view.manage)
manage_overview = decorators.view(view.manageOverview)
public = decorators.view(view.public)
st_edit = decorators.view(view.stEdit)
export = decorators.view(view.export)
pick = decorators.view(view.pick)
コード例 #46
0
    This view is accessed by an AJAX call from task public page.

    Args:
      request: the standard Django HTTP request object
    """

    data = None
    get_params = request.GET

    task_entity = gci_task_logic.logic.getFromKeyNameOr404(
        get_params['key_name'])
    user_entity = user_logic.logic.getCurrentUser()

    # this method gets called everytime the task public page gets loaded
    # caused by jQuery. So this conditional is necessary to make sure
    # toggling won't happen every time task public page is loaded but
    # only when subscription star is clicked
    if not get_params.get('no_toggle'):
      data = params['logic'].subscribeUser(
          task_entity, user_entity, toggle=True)
    else:
      data = params['logic'].subscribeUser(
          task_entity, user_entity, toggle=False)

    return http.HttpResponse(data if data else '')


view = View()

subscribe = decorators.view(view.subscribe)
コード例 #47
0
ファイル: organization.py プロジェクト: SRabbelier/Melange
                "any_access",
            )
            submenus.append(submenu)

            # add a link to the edit page
            submenu = (
                redirects.getEditRedirect(roles["gci_mentor"], {"url_name": "gci/mentor"}),
                "Edit My Mentor Profile",
                "any_access",
            )
            submenus.append(submenu)

        return submenus


view = View()

admin = decorators.view(view.admin)
applicant = decorators.view(view.applicant)
apply_mentor = decorators.view(view.applyMentor)
create = decorators.view(view.create)
delete = decorators.view(view.delete)
edit = decorators.view(view.edit)
list = decorators.view(view.list)
list_requests = decorators.view(view.listRequests)
list_roles = decorators.view(view.listRoles)
public = decorators.view(view.public)
export = decorators.view(view.export)
home = decorators.view(view.home)
request_task = decorators.view(view.requestTask)
コード例 #48
0
    new_params['name'] = "Job"

    new_params['no_create_raw'] = True
    new_params['no_create_with_scope'] = True
    new_params['no_create_with_key_fields'] = True

    new_params['extra_dynaexclude'] = ['key_data', 'text_data']

    new_params['edit_dynaproperties'] = {
      'task': forms.CharField(widget=widgets.PlainTextWidget()),
      }

    new_params['public_field_extra'] = lambda entity: {
        "id": entity.key().id_or_name(),
        "priority_group": entity.priority_group.name,
    }
    new_params['public_field_keys'] = ["id", "task_name", "priority_group"]
    new_params['public_field_names'] = ["ID", "Name", "Priority Group"]

    params = dicts.merge(params, new_params)

    super(View, self).__init__(params=params)


view = View()

delete = decorators.view(view.delete)
edit = decorators.view(view.edit)
list = decorators.view(view.list)
public = decorators.view(view.public)
コード例 #49
0
ファイル: org_app.py プロジェクト: praveen97uma/Melange
            'program':
            program_entity.name,
            'nr_applications':
            len(org_apps),
            'application_type':
            params['name_plural'],
            'applications':
            org_apps,
            'link':
            '/%s/review/%s/(link_id)?status=%s' %
            (params['url_name'], program_entity.key().id_or_name(), to_status),
        }

        return self.json(request, to_json)


view = View()

admin = decorators.view(view.admin)
bulk_accept = decorators.view(view.bulkAccept)
bulk_reject = decorators.view(view.bulkReject)
create = decorators.view(view.create)
delete = decorators.view(view.delete)
edit = decorators.view(view.edit)
list = decorators.view(view.list)
list_self = decorators.view(view.listSelf)
public = decorators.view(view.public)
export = decorators.view(view.export)
review = decorators.view(view.review)
review_overview = decorators.view(view.reviewOverview)
コード例 #50
0
ファイル: survey.py プロジェクト: pombredanne/Melange-1
            survey_record = record_logic.getForFields(filter, unique=True)

            if survey_record:
                taken_status = ""
            else:
                # no SurveyRecord available so we mark the survey as new
                taken_status = "(new)"

            submenu = (redirects.getTakeSurveyRedirect(survey_entity,
                                                       survey_params),
                       'Survey ' + taken_status + ': ' +
                       survey_entity.short_name, 'show')

            submenus.append(submenu)
        return submenus


view = View()

admin = decorators.view(view.admin)
create = decorators.view(view.create)
edit = decorators.view(view.edit)
export = decorators.view(view.export)
delete = decorators.view(view.delete)
json = decorators.view(view.exportSerialized)
list = decorators.view(view.list)
public = decorators.view(view.public)
record = decorators.view(view.viewRecord)
results = decorators.view(view.viewResults)
take = decorators.view(view.take)
コード例 #51
0
    """

    form = params['student_edit_form'](request.POST)

    if not form.is_valid():
      return self._constructResponse(request, entity, context, form, params)

    _, fields = forms_helper.collectCleanedFields(form)

    project_logic.updateEntityProperties(entity, fields)

    return self.stEditGet(request, context, params, entity, **kwargs)


view = View()

accept_project = decorators.view(view.acceptProject)
admin = decorators.view(view.admin)
create = decorators.view(view.create)
delete = decorators.view(view.delete)
edit = decorators.view(view.edit)
list = decorators.view(view.list)
manage = decorators.view(view.manage)
manage_overview = decorators.view(view.manageOverview)
public = decorators.view(view.public)
st_edit = decorators.view(view.stEdit)
export = decorators.view(view.export)
pick = decorators.view(view.pick)
withdraw = decorators.view(view.withdraw)
withdraw_project = decorators.view(view.withdrawProject)
コード例 #52
0
ファイル: site.py プロジェクト: ajaksu/Melange
    """Displays the edit page for the main site settings page.

    Args:
      request: the standard Django HTTP request object
      page_name: the page name displayed in templates as page and header title
      kwargs: not used
    """

    keys = self._logic.getKeyFieldNames()

    # No entity in this case, since Site key values are hard-coded for the
    # Site singleton, so pass in None to match parent method footprint.
    values = self._logic.getKeyValuesFromEntity(None)
    key_values = dicts.zip(keys, values)

    return self.edit(request, "edit", page_name, seed=key_values, **key_values)


view = View()

admin = decorators.view(view.admin)
create = decorators.view(view.create)
edit = decorators.view(view.edit)
delete = decorators.view(view.delete)
list = decorators.view(view.list)
public = decorators.view(view.public)
export = decorators.view(view.export)
main_public = decorators.view(view.mainPublic)
main_edit = decorators.view(view.mainEdit)
home = decorators.view(view.home)
コード例 #53
0
ファイル: sponsor.py プロジェクト: ajaksu/Melange
          {'url_name': 'host'}), 
          "Resign as Program Administrator", 'any_access')
      submenus.append(submenu)

      # add a link to create a new document
      submenu = (redirects.getCreateDocumentRedirect(group_entity, 'sponsor'),
          "Create a New Document", 'any_access')
      submenus.append(submenu)

      # add a link to list all documents
      submenu = (redirects.getListDocumentsRedirect(group_entity, 'sponsor'),
          "List Documents", 'any_access')
      submenus.append(submenu)

    return submenus


view = View()

admin = decorators.view(view.admin)
create = decorators.view(view.create)
delete = decorators.view(view.delete)
edit = decorators.view(view.edit)
home = decorators.view(view.home)
list = decorators.view(view.list)
list_requests = decorators.view(view.listRequests)
list_roles = decorators.view(view.listRoles)
public = decorators.view(view.public)
export = decorators.view(view.export)
pick = decorators.view(view.pick)
コード例 #54
0
ファイル: seeder.py プロジェクト: SRabbelier/Melange
      if json:
        try:
          data = simplejson.loads(json)
        except ValueError:
          return responses.jsonErrorResponse(request, 'Invalid JSON!')

        try:
          seeder_logic.validateConfiguration(data)
        except Error, e:
          return responses.jsonErrorResponse(request, e.args[0])
      else:
        return responses.jsonErrorResponse(request, 'No data supplied!')
    else:
      return HttpResponseForbidden()

    response = simplejson.dumps({
      'result': 'success'
    })
    return responses.jsonResponse(request, response)


view = View()

get_data = view_decorators.view(view.getData)
home = view_decorators.view(view.home)
seed = view_decorators.view(view.seed)
echo = view_decorators.view(view.echo)
test_provider = view_decorators.view(view.testProvider)
validate_configuration_sheet = view_decorators.view(
    view.validateConfigurationSheet)
コード例 #55
0
ファイル: job.py プロジェクト: ajaksu/Melange
    rights = access.Checker(params)

    new_params = {}
    new_params['rights'] = rights
    new_params['logic'] = job_logic

    new_params['name'] = "Job"

    new_params['no_create_raw'] = True
    new_params['no_create_with_scope'] = True
    new_params['no_create_with_key_fields'] = True

    new_params['extra_dynaexclude'] = ['key_data', 'text_data']

    new_params['edit_dynaproperties'] = {
      'task': forms.CharField(widget=widgets.PlainTextWidget()),
      }

    params = dicts.merge(params, new_params)

    super(View, self).__init__(params=params)


view = View()

delete = decorators.view(view.delete)
edit = decorators.view(view.edit)
list = decorators.view(view.list)
public = decorators.view(view.public)
コード例 #56
0
ファイル: request.py プロジェクト: jamslevy/gsoc
    # that haven't been accepted by an admin yet
    filter = {'link_id': user_entity.link_id,
              'status': 'new'}

    ar_params = params.copy()
    ar_params['list_description'] = ugettext(
        "List of your pending requests.")

    ar_list = helper.lists.getListContent(
        request, ar_params, filter, idx=1)

    # fill contents with all the needed lists
    contents = [uh_list, ar_list]

    # call the _list method from base to display the list
    return self._list(request, params, contents, page_name)


view = View()

admin = decorators.view(view.admin)
create = decorators.view(view.create)
edit = decorators.view(view.edit)
delete = decorators.view(view.delete)
list = decorators.view(view.list)
list_self = decorators.view(view.listSelf)
process_invite = decorators.view(view.processInvite)
public = decorators.view(view.public)
export = decorators.view(view.export)

コード例 #57
0
      comment = "Marked Student Proposal as Ineligible."
      self._createReviewFor(entity, comment, is_public=False)
    elif entity.status == 'invalid':
      # mark the proposal as new
      properties = {'status': 'new'}
      self._logic.updateEntityProperties(entity, properties)

      comment = "Marked Student Proposal as Eligible."
      self._createReviewFor(entity, comment, is_public=False)

    return entity


view = View()

admin = decorators.view(view.admin)
apply = decorators.view(view.apply)
create = decorators.view(view.create)
delete = decorators.view(view.delete)
edit = decorators.view(view.edit)
list = decorators.view(view.list)
list_orgs = decorators.view(view.listOrgs)
list_self = decorators.view(view.listSelf)
comment = decorators.view(view.comment)
public = decorators.view(view.public)
private = decorators.view(view.private)
review = decorators.view(view.review)
export = decorators.view(view.export)
pick = decorators.view(view.pick)
コード例 #58
0
        # TODO(SRabbelier): handle multiple file uploads
        upload = request.file_uploads[0]

        if form == 'consent':
            entity.consent_form = upload
        elif form == 'consent_two':
            entity.consent_form_two = upload
        elif form == 'student_id':
            entity.student_id_form = upload
        else:
            logging.warning("Invalid value for form '%s'" % form)

        entity.put()

        return http.HttpResponseRedirect(
            gci_redirects.getSubmitFormsRedirect(entity, params))


view = View()

apply = decorators.view(view.apply)
create = decorators.view(view.create)
delete = decorators.view(view.delete)
edit = decorators.view(view.edit)
list = decorators.view(view.list)
public = decorators.view(view.public)
export = decorators.view(view.export)
submit_forms = decorators.view(view.submitForms)
download_blob = decorators.view(view.downloadBlob)