# HG changeset patch
# User Sverre Rabbelier
# Date 1226876688 0
# Node ID 87afae6e4c5107e2ddbb8dd0c71e343ac5873814
# Parent 5e9c656a1b68e0fd4cfc647ecae673de4ad46317
Added basic 'invite' functionality
Currently the invite can only be created, existing ones can be
listed and edited, or deleted if desired.
diff -r 5e9c656a1b68 -r 87afae6e4c51 app/soc/logic/models/request.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/app/soc/logic/models/request.py Sun Nov 16 23:04:48 2008 +0000
@@ -0,0 +1,60 @@
+#!/usr/bin/python2.5
+#
+# Copyright 2008 the Melange authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""Host (Model) query functions.
+"""
+
+__authors__ = [
+ '"Sverre Rabbelier" ',
+ ]
+
+
+from soc.logic import key_name
+from soc.logic.models import base
+
+import soc.models.request
+
+
+class Logic(base.Logic):
+ """Logic methods for the Request model
+ """
+
+ def __init__(self):
+ """Defines the name, key_name and model for this entity.
+ """
+
+ base.Logic.__init__(self, soc.models.request.Request)
+
+ def getKeyValues(self, entity):
+ """See base.Logic.getKeyNameValues.
+ """
+
+ return [entity.role, entity.to.link_name, entity.requester.link_name]
+
+ def getKeyValuesFromFields(self, fields):
+ """See base.Logic.getKeyValuesFromFields.
+ """
+
+ return [fields['role'], fields['group_ln'], fields['user_ln']]
+
+ def getKeyFieldNames(self):
+ """See base.Logic.getKeyFieldNames
+ """
+
+ return ['role', 'group_ln', 'user_ln']
+
+
+logic = Logic()
diff -r 5e9c656a1b68 -r 87afae6e4c51 app/soc/models/request.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/app/soc/models/request.py Sun Nov 16 23:04:48 2008 +0000
@@ -0,0 +1,59 @@
+#!/usr/bin/python2.5
+#
+# Copyright 2008 the Melange authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""This module contains the Request Model."""
+
+__authors__ = [
+ '"Sverre Rabbelier" ',
+]
+
+
+import polymodel
+
+from google.appengine.ext import db
+
+from django.utils.translation import ugettext_lazy
+
+import soc.models.user
+import soc.models.group
+
+
+class Request(polymodel.PolyModel):
+ """A request is made to allow a person to create a new Role entity.
+ """
+
+ requester = db.ReferenceProperty(reference_class=soc.models.user.User,
+ required=True, collection_name="requests")
+ requester.help_text = ugettext_lazy(
+ 'This is the user who the request is made for')
+
+ role = db.StringProperty()
+ role.help_text = ugettext_lazy(
+ 'This should be the type of the role that is requested')
+
+ to = db.ReferenceProperty(reference_class=soc.models.group.Group,
+ required=True, collection_name="requests")
+ to.help_text = ugettext_lazy(
+ 'The group that the request should be made to '
+ '(this group should have the authority to grant the request)')
+
+ accepted = db.BooleanProperty()
+ accepted.help_text = ugettext_lazy(
+ 'Field used to indicate whether a request has been accepted')
+
+ declined = db.BooleanProperty()
+ declined.help_text = ugettext_lazy(
+ 'Field used to indicate that a request has been rejected by the user')
diff -r 5e9c656a1b68 -r 87afae6e4c51 app/soc/templates/soc/models/create_invite.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/app/soc/templates/soc/models/create_invite.html Sun Nov 16 23:04:48 2008 +0000
@@ -0,0 +1,18 @@
+{% extends "soc/models/list.html" %}
+{% comment %}
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+{% endcomment %}
+
+{% block instructions %}
+Please use this form to invite someone to become a {{ entity_type }}.
+{% endblock %}
diff -r 5e9c656a1b68 -r 87afae6e4c51 app/soc/templates/soc/models/invite.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/app/soc/templates/soc/models/invite.html Sun Nov 16 23:04:48 2008 +0000
@@ -0,0 +1,27 @@
+{% extends "soc/models/edit.html" %}
+{% comment %}
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+{% endcomment %}
+
+{% block instructions %}
+Hit 'Send Invitation' to send the invite.
+{% endblock %}
+
+{% block submit_buttons %}
+
+
+
+
+
+
+{% endblock %}
diff -r 5e9c656a1b68 -r 87afae6e4c51 app/soc/templates/soc/request/list/request_heading.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/app/soc/templates/soc/request/list/request_heading.html Sun Nov 16 23:04:48 2008 +0000
@@ -0,0 +1,7 @@
+
+
Requester
+
Role
+
To
+
Accepted
+
Declined
+
diff -r 5e9c656a1b68 -r 87afae6e4c51 app/soc/templates/soc/request/list/request_row.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/app/soc/templates/soc/request/list/request_row.html Sun Nov 16 23:04:48 2008 +0000
@@ -0,0 +1,11 @@
+
diff -r 5e9c656a1b68 -r 87afae6e4c51 app/soc/templates/soc/request/public.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/app/soc/templates/soc/request/public.html Sun Nov 16 23:04:48 2008 +0000
@@ -0,0 +1,32 @@
+{% extends "soc/base.html" %}
+{% comment %}
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+{% endcomment %}
+{% load forms_helpers %}
+
+{% block header_title %}
+{{ page_name }} for {{ entity.requester.link_name }}
+{% endblock %}
+
+{% block body %}
+