def login_view(request): if request.method == 'POST': login_form = SignInForm(request.POST) if login_form.is_valid(): username = login_form.cleaned_data['username'] password = login_form.cleaned_data['password'] user = authenticate(username=username, password=password) if user is None or not user.is_active: messages.error(request, u"نام کاربری یا گذرواژه نادرست است.") elif PermissionController.is_member( user) and user.member.is_confirmed is False: messages.error( request, u"ثبت نام شما از طرف مدیریت رد شده است و نمی توانید در سامانه وارد شوید." ) else: login(request, user) next_page = request.GET.get('next') #if PermissionController.is_admin(user): # ProjectMilestone.check_milestones() if next_page: return HttpResponseRedirect(next_page) else: return HttpResponseRedirect( PermissionController.get_user_redirect_url(user)) else: login_form = SignInForm() return render_to_response('accounts/login_page.html', {'login_form': login_form}, context_instance=RequestContext(request))
def save(self, commit=True): message = super(MemberMessageForm, self).save(commit=False) message.sender = self.user message.save() if not self.user.member.cluster: receivers = PermissionController.get_admins() message.receivers = receivers if receivers: for user in receivers: message_text = MessageServices.get_send_message(self.user, message.title, message.body) MessageServices.send_message(subject=u"پیام دریافتی سامانه", message=message_text, user=user) return message send_type = int(self.cleaned_data.get('send_type')) if send_type == 7: receivers = PermissionController.get_admins() elif send_type == 8: receivers = User.objects.filter(member__in=self.user.member.cluster.members.filter().distinct()) #receivers = self.user.member.cluster.members.filter().values_list('user', flat=True) else: receivers = self.cleaned_data.get('receivers') message.receivers = receivers if receivers: for user in receivers: message_text = MessageServices.get_send_message(self.user, message.title, message.body) MessageServices.send_message(subject=u"پیام دریافتی سامانه", message=message_text, user=user) return message
def action_view(self, http_request, selected_instances): if not selected_instances: raise Http404() instance = selected_instances[0] form = ProjectManagerForm(instance=instance) for field in form.fields: form.fields[field].widget.attrs.update({'readonly': 'readonly', 'disabled': 'disabled'}) if http_request.method == 'POST' and self.has_comments: comment_txt = http_request.POST.get('project-comment-text') if comment_txt: comment = ProjectComment.objects.create(user=http_request.user, comment=comment_txt, project=instance) if not PermissionController.is_arbiter(http_request.user): comment.seen_by_member = True comment.save() reports = instance.reports.all() project = None if self.for_admin: project = instance if not self.has_comments: comments = None else: if PermissionController.is_member(http_request.user): comments = instance.comments.filter(seen_by_member=True).order_by('-id') else: comments = instance.comments.all().order_by('-id') return render_to_response('project/show_project.html', {'form': form, 'title': u"جزئیات طرح", 'project': project, 'comments': comments,'reports':reports, 'has_comments': self.has_comments}, context_instance=RequestContext(http_request))
def view_arbiter_comment(request, project_arbiter_id): if (not PermissionController.is_admin(request.user) and not PermissionController.is_supervisor( request.user)) or not project_arbiter_id: raise Http404() project_arbiter = get_object_or_404(ProjectArbiter, id=project_arbiter_id) return render_to_response('project/view_arbiter_comment.html', {'project_arbiter': project_arbiter}, context_instance=RequestContext(request))
def login_view(request): if request.method == 'POST': login_form = SignInForm(request.POST) if login_form.is_valid(): username = login_form.cleaned_data['username'] password = login_form.cleaned_data['password'] user = authenticate(username=username, password=password) if user is None or not user.is_active: messages.error(request, u"نام کاربری یا گذرواژه نادرست است.") elif PermissionController.is_member(user) and user.member.is_confirmed is False: messages.error(request, u"ثبت نام شما از طرف مدیریت رد شده است و نمی توانید در سامانه وارد شوید.") else: login(request, user) next_page = request.GET.get('next') #if PermissionController.is_admin(user): # ProjectMilestone.check_milestones() if next_page: return HttpResponseRedirect(next_page) else: return HttpResponseRedirect(PermissionController.get_user_redirect_url(user)) else: login_form = SignInForm() return render_to_response('accounts/login_page.html', {'login_form': login_form}, context_instance=RequestContext(request))
def __init__(self, *args, **kwargs): self.user = kwargs.pop('user') super(AdminMessageForm, self).__init__(*args, **kwargs) self.fields['send_type'] = forms.ChoiceField( label=u"نوع گیرنده", choices=AdminMessageForm.SEND_TYPE) self.fields['send_type'].required = False self.fields['arbiter_receivers'] = forms.ModelMultipleChoiceField( queryset=PermissionController.get_arbiters_user(), label=u"گیرنده ها") self.fields['arbiter_receivers'].required = False self.fields['arbiter_receivers'].is_hidden = True self.fields['member_receivers'] = forms.ModelMultipleChoiceField( queryset=PermissionController.get_members_user(), label=u"گیرنده ها") self.fields['member_receivers'].required = False self.fields['member_receivers'].is_hidden = True self.fields['is_sms'] = forms.BooleanField(required=False, label=u"ارسال پیامک") self.fields['is_mail'] = forms.BooleanField( required=False, label=u"ارسال پست الکترونیک") process_js_validations(self) self.fields['send_type'].required = True self.fields.keyOrder = [ 'title', 'body', 'send_type', 'arbiter_receivers', 'member_receivers', 'is_sms', 'is_mail' ]
def edit_account(request): if PermissionController.is_member(request.user): return handle_member_edit(request) elif PermissionController.is_supervisor(request.user): return handle_supervisor_edit(request) elif PermissionController.is_admin(request.user): return handle_admin_edit(request) else: raise Http404
def show_user_for_project_comments(user): if PermissionController.is_admin(user): return u"مدیر" elif PermissionController.is_arbiter(user): return u"داور" elif PermissionController.is_supervisor(user): return u"ناظر" else: return u"%s (متقاضی)" % unicode(user)
def check_role(user, role_name): if isinstance(user, AnonymousUser): return False if role_name == 'member': return PermissionController.is_member(user) elif role_name == 'admin': return PermissionController.is_admin(user) elif role_name == 'arbiter': return PermissionController.is_arbiter(user) elif role_name == 'supervisor': return PermissionController.is_supervisor(user) return False
def change_seen_by_member(request): if PermissionController.is_admin(request.user) or PermissionController.is_supervisor(request.user): is_seen = request.POST.get('i') comment_id = request.POST.get('c') if is_seen and comment_id: comment = get_object_or_404(ProjectComment, id=comment_id) if is_seen == 'true': comment.seen_by_member = True elif is_seen == 'false': comment.seen_by_member = False comment.save() return HttpResponse('Ok') raise Http404
def change_seen_by_member(request): if PermissionController.is_admin( request.user) or PermissionController.is_supervisor(request.user): is_seen = request.POST.get('i') comment_id = request.POST.get('c') if is_seen and comment_id: comment = get_object_or_404(ProjectComment, id=comment_id) if is_seen == 'true': comment.seen_by_member = True elif is_seen == 'false': comment.seen_by_member = False comment.save() return HttpResponse('Ok') raise Http404
def save(self, commit=True): message = super(AdminMessageForm, self).save(commit=False) message.sender = self.user message.save() send_type = int(self.cleaned_data.get('send_type')) if send_type == 1: receivers = User.objects.all() elif send_type == 2: receivers = User.objects.filter(member__isnull=False) elif send_type == 3: receivers = User.objects.filter( member__id__in=Cluster.objects.filter().values_list('head', flat=True)) elif send_type == 5: receivers = User.objects.filter(arbiter__isnull=False) elif send_type == 4: receivers = self.cleaned_data.get('member_receivers') elif send_type == 6: receivers = self.cleaned_data.get('arbiter_receivers') else: receivers = [] message.receivers = receivers is_sms = self.cleaned_data.get('is_sms') is_mail = self.cleaned_data.get('is_mail') if receivers: for user in receivers: if is_mail: message_text = MessageServices.get_send_message( self.user, message.title, message.body) MessageServices.send_message( subject=u"پیام دریافتی از مدیریت سیستم", message=message_text, user=user) if is_sms: mobile = None if PermissionController.is_supervisor(user): mobile = user.supervisor.mobile elif PermissionController.is_arbiter(user): mobile = user.arbiter.mobile elif PermissionController.is_member(user): mobile = user.member.mobile if mobile: SMSService.send_sms( message.title + '\n' + message.body, [mobile]) return message
def register(request): if not PermissionController.is_member(request.user): raise Http404() member = Member.objects.get(user=request.user) if not member.is_confirmed: messages.error( request, u"تا زمان عدم تایید عضویت شما از طریق مدیریت سامانه شما قادر به ایجاد طرح نیستید." ) return render_to_response('show_message.html', {}, context_instance=RequestContext(request)) project_handler = ProjectHandler(request) project_handler.initial_forms() if project_handler.is_valid_forms(): project_handler.save_forms() messages.success(request, u"ثبت طرح با موفقیت انجام شد.") return render_to_response('show_message.html', {}, context_instance=RequestContext(request)) context = project_handler.get_context() return render_to_response('project/register.html', context, context_instance=RequestContext(request))
def __init__(self, *args, **kwargs): kwargs['user'] = None super(AdminProjectManagerForm, self).__init__(*args, **kwargs) if 'agreement' in self.fields: del self.fields['agreement'] self.fields.keyOrder = ['title', 'has_confirmation', 'confirmation_type', 'certificate_image', 'has_patent', 'patent_number', 'patent_date', 'patent_certificate', 'patent_request', 'domain', 'summary', 'keywords', 'innovations', 'supervisor', 'state', 'proposal', 'attended_members', 'project_status', 'score','allow_edit','show_in_intro','intro_file'] if self.instance and self.instance.id: if self.instance.project_status != 1: self.fields['score'].is_hidden = True self.fields['project_status'].choices = ( (-2, u"رد شده"), (-1, u"رد شده توسط ناظر"), (0, u"در مرحله درخواست"), (1, u"مورد تایید ناظر"), (2, u"تایید مرحله اول"), #(2, u"تاییدشده توسط داور"), (3, u"تایید مرحله دوم"), (4, u"تکمیل شده"), ) if not 'attended_members' in self.fields: self.fields.keyOrder.remove('attended_members') if PermissionController.is_supervisor(user=self.http_request.user): if 'supervisor' in self.fields: del self.fields['supervisor'] if 'supervisor' in self.fields.keyOrder: self.fields.keyOrder.remove('supervisor') process_js_validations(self)
def __init__(self, *args, **kwargs): kwargs['user'] = None super(AdminProjectManagerForm, self).__init__(*args, **kwargs) if 'agreement' in self.fields: del self.fields['agreement'] self.fields.keyOrder = [ 'title', 'has_confirmation', 'confirmation_type', 'certificate_image', 'has_patent', 'patent_number', 'patent_date', 'patent_certificate', 'patent_request', 'domain', 'summary', 'keywords', 'innovations', 'supervisor', 'state', 'proposal', 'attended_members', 'project_status', 'score', 'allow_edit', 'show_in_intro', 'intro_file' ] if self.instance and self.instance.id: if self.instance.project_status != 1: self.fields['score'].is_hidden = True self.fields['project_status'].choices = ( (-2, u"رد شده"), (-1, u"رد شده توسط ناظر"), (0, u"در مرحله درخواست"), (1, u"مورد تایید ناظر"), (2, u"تایید مرحله اول"), #(2, u"تاییدشده توسط داور"), (3, u"تایید مرحله دوم"), (4, u"تکمیل شده"), ) if not 'attended_members' in self.fields: self.fields.keyOrder.remove('attended_members') if PermissionController.is_supervisor(user=self.http_request.user): if 'supervisor' in self.fields: del self.fields['supervisor'] if 'supervisor' in self.fields.keyOrder: self.fields.keyOrder.remove('supervisor') process_js_validations(self)
def welcome_st(user): if PermissionController.is_arbiter(user): overall_name = unicode(user.arbiter) else: overall_name = u"%s %s" % (user.first_name, user.last_name) if ( user.first_name and user.last_name) else u"%s" % user.username return u"%s خوش آمدید." % overall_name
def action_view(self, http_request, selected_instances): if not selected_instances: raise Http404() instance = selected_instances[0] form = ProjectManagerForm(instance=instance) for field in form.fields: form.fields[field].widget.attrs.update({ 'readonly': 'readonly', 'disabled': 'disabled' }) if http_request.method == 'POST' and self.has_comments: comment_txt = http_request.POST.get('project-comment-text') if comment_txt: comment = ProjectComment.objects.create(user=http_request.user, comment=comment_txt, project=instance) if not PermissionController.is_arbiter(http_request.user): comment.seen_by_member = True comment.save() reports = instance.reports.all() project = None if self.for_admin: project = instance if not self.has_comments: comments = None else: if PermissionController.is_member(http_request.user): comments = instance.comments.filter( seen_by_member=True).order_by('-id') else: comments = instance.comments.all().order_by('-id') return render_to_response( 'project/show_project.html', { 'form': form, 'title': u"جزئیات طرح", 'project': project, 'comments': comments, 'reports': reports, 'has_comments': self.has_comments }, context_instance=RequestContext(http_request))
def send_feedback(request): if not PermissionController.is_member(request.user) and not PermissionController.is_arbiter(request.user): raise Http404() if request.method == 'POST': form = FeedbackForm(request.POST) if form.is_valid(): feedback = form.save(commit=False) feedback.creator = request.user feedback.save() messages.success(request, u"نظر یا پیشنهاد شما با موفقیت ارسال شد.") return render_to_response('show_message.html', {}, context_instance=RequestContext(request)) else: form = FeedbackForm() return render_to_response('feedback/feedback.html', {'form': form}, context_instance=RequestContext(request))
def __init__(self, http_request): super(MessageManager, self).__init__(http_request=http_request) if PermissionController.is_admin(http_request.user): self.actions = [ SendMessage(), DeleteAction(), ShowMessage(), SendEmail(), ]
def action_view(self, http_request, selected_instances): if PermissionController.is_admin(http_request.user): model_form = AdminMessageForm elif PermissionController.is_arbiter(http_request.user): model_form = ArbiterMessageForm else: model_form = MemberMessageForm if http_request.method == 'POST': form = model_form(http_request.POST, http_request.FILES, user=http_request.user) if form.is_valid(): form.save() form = None messages.success(http_request, u"پیام ارسال شد.") else: form = model_form(user=http_request.user) return render_to_response('manager/actions/add_edit.html', {'form': form, 'title': u"ارسال پیام"}, context_instance=RequestContext(http_request))
def save(self, commit=True): message = super(AdminMessageForm, self).save(commit=False) message.sender = self.user message.save() send_type = int(self.cleaned_data.get('send_type')) if send_type == 1: receivers = User.objects.all() elif send_type == 2: receivers = User.objects.filter(member__isnull=False) elif send_type == 3: receivers = User.objects.filter(member__id__in=Cluster.objects.filter().values_list('head', flat=True)) elif send_type == 5: receivers = User.objects.filter(arbiter__isnull=False) elif send_type == 4: receivers = self.cleaned_data.get('member_receivers') elif send_type == 6: receivers = self.cleaned_data.get('arbiter_receivers') else: receivers = [] message.receivers = receivers is_sms = self.cleaned_data.get('is_sms') is_mail = self.cleaned_data.get('is_mail') if receivers: for user in receivers: if is_mail: message_text = MessageServices.get_send_message(self.user, message.title, message.body) MessageServices.send_message(subject=u"پیام دریافتی از مدیریت سیستم", message=message_text, user=user) if is_sms: mobile = None if PermissionController.is_supervisor(user): mobile = user.supervisor.mobile elif PermissionController.is_arbiter(user): mobile = user.arbiter.mobile elif PermissionController.is_member(user): mobile = user.member.mobile if mobile: SMSService.send_sms(message.title + '\n' + message.body, [mobile]) return message
def send_feedback(request): if not PermissionController.is_member( request.user) and not PermissionController.is_arbiter( request.user): raise Http404() if request.method == 'POST': form = FeedbackForm(request.POST) if form.is_valid(): feedback = form.save(commit=False) feedback.creator = request.user feedback.save() messages.success(request, u"نظر یا پیشنهاد شما با موفقیت ارسال شد.") return render_to_response('show_message.html', {}, context_instance=RequestContext(request)) else: form = FeedbackForm() return render_to_response('feedback/feedback.html', {'form': form}, context_instance=RequestContext(request))
def select2(request): term = request.GET.get('q') result = {} if term: allow_users = PermissionController.get_available_receivers(request.user) if term: query = Q(username__icontains=term) | Q(first_name__icontains=term) | Q(last_name__icontains=term) allow_users = allow_users.filter(query) for user in allow_users: result[user.username] = {'id': user.id, 'name': unicode(user)} json = simplejson.dumps(result) return HttpResponse(json, mimetype='application/json')
def save(self, commit=True): message = super(MemberMessageForm, self).save(commit=False) message.sender = self.user message.save() if not self.user.member.cluster: receivers = PermissionController.get_admins() message.receivers = receivers if receivers: for user in receivers: message_text = MessageServices.get_send_message( self.user, message.title, message.body) MessageServices.send_message( subject=u"پیام دریافتی سامانه", message=message_text, user=user) return message send_type = int(self.cleaned_data.get('send_type')) if send_type == 7: receivers = PermissionController.get_admins() elif send_type == 8: receivers = User.objects.filter( member__in=self.user.member.cluster.members.filter().distinct( )) #receivers = self.user.member.cluster.members.filter().values_list('user', flat=True) else: receivers = self.cleaned_data.get('receivers') message.receivers = receivers if receivers: for user in receivers: message_text = MessageServices.get_send_message( self.user, message.title, message.body) MessageServices.send_message(subject=u"پیام دریافتی سامانه", message=message_text, user=user) return message
def save(self, commit=True): message = super(ArbiterMessageForm, self).save(commit=False) message.sender = self.user message.save() receivers = PermissionController.get_admins() message.receivers = receivers if receivers: for user in receivers: message_text = MessageServices.get_send_message(self.user, message.title, message.body) MessageServices.send_message(subject=u"پیام دریافتی سامانه", message=message_text, user=user) return message
def check_milestones(cls): import datetime from cluster.message.models import Message two_days_later = datetime.date.today() + datetime.timedelta(days=2) milestones = ProjectMilestone.objects.filter( milestone_date__lte=two_days_later, is_announced=False) body = u""" موعد های طرح های زیر گذشته اند یا نزدیک هستند: """ i = 1 if not milestones: return admin_users = PermissionController.get_admins() for milestone in milestones: receiver = milestone.project.single_member.user if milestone.project.single_member else milestone.project.cluster.head.user receiver_mobile = milestone.project.single_member.mobile if milestone.project.single_member else milestone.project.cluster.head.mobile section = u""" موعد %s مربوط به طرح %s برای زمان %s """ % (milestone.comment, milestone.project.title, gregorian_to_jalali(milestone.milestone_date)) Message.send_message(admin_users[0], title=u"موعدهای گذشته یا نزدیک", body=body, receivers=[receiver]) message = MessageServices.get_title_body_message( title=u"موعد طرح زیر گذشته یا نزدیک است:", body=section) MessageServices.send_message(subject=u"موعد طرح", message=message, user=receiver) SMSService.send_sms(message=u"موعد طرح زیر گذشته یا نزدیک است:" + '\n' + section, to_numbers=[receiver_mobile]) body += '\n' + unicode(i) + u'- ' + section.strip() i += 1 milestone.is_announced = True milestone.save() if milestone.project.supervisor: MessageServices.send_message( subject=u"موعد طرح", message=message, user=milestone.project.supervisor.user) #message = MessageServices.get_title_body_message(title=u"موعد های طرح های زیر گذشته اند یا نزدیک هستند:", # body=body) Message.send_message(admin_users[0], title=u"موعدهای گذشته یا نزدیک", body=body, receivers=admin_users)
def check_milestones(cls): import datetime from cluster.message.models import Message two_days_later = datetime.date.today() + datetime.timedelta(days=2) milestones = ProjectMilestone.objects.filter(milestone_date__lte=two_days_later, is_announced=False) body = u""" موعد های طرح های زیر گذشته اند یا نزدیک هستند: """ i = 1 if not milestones: return admin_users = PermissionController.get_admins() for milestone in milestones: receiver = ( milestone.project.single_member.user if milestone.project.single_member else milestone.project.cluster.head.user ) receiver_mobile = ( milestone.project.single_member.mobile if milestone.project.single_member else milestone.project.cluster.head.mobile ) section = u""" موعد %s مربوط به طرح %s برای زمان %s """ % ( milestone.comment, milestone.project.title, gregorian_to_jalali(milestone.milestone_date), ) Message.send_message(admin_users[0], title=u"موعدهای گذشته یا نزدیک", body=body, receivers=[receiver]) message = MessageServices.get_title_body_message(title=u"موعد طرح زیر گذشته یا نزدیک است:", body=section) MessageServices.send_message(subject=u"موعد طرح", message=message, user=receiver) SMSService.send_sms( message=u"موعد طرح زیر گذشته یا نزدیک است:" + "\n" + section, to_numbers=[receiver_mobile] ) body += "\n" + unicode(i) + u"- " + section.strip() i += 1 milestone.is_announced = True milestone.save() if milestone.project.supervisor: MessageServices.send_message( subject=u"موعد طرح", message=message, user=milestone.project.supervisor.user ) # message = MessageServices.get_title_body_message(title=u"موعد های طرح های زیر گذشته اند یا نزدیک هستند:", # body=body) Message.send_message(admin_users[0], title=u"موعدهای گذشته یا نزدیک", body=body, receivers=admin_users)
def select2(request): term = request.GET.get('q') result = {} if term: allow_users = PermissionController.get_available_receivers( request.user) if term: query = Q(username__icontains=term) | Q( first_name__icontains=term) | Q(last_name__icontains=term) allow_users = allow_users.filter(query) for user in allow_users: result[user.username] = {'id': user.id, 'name': unicode(user)} json = simplejson.dumps(result) return HttpResponse(json, mimetype='application/json')
def __init__(self, *args, **kwargs): self.user = kwargs.pop('user') super(AdminMessageForm, self).__init__(*args, **kwargs) self.fields['send_type'] = forms.ChoiceField(label=u"نوع گیرنده", choices=AdminMessageForm.SEND_TYPE) self.fields['send_type'].required = False self.fields['arbiter_receivers'] = forms.ModelMultipleChoiceField( queryset=PermissionController.get_arbiters_user(), label=u"گیرنده ها") self.fields['arbiter_receivers'].required = False self.fields['arbiter_receivers'].is_hidden = True self.fields['member_receivers'] = forms.ModelMultipleChoiceField( queryset=PermissionController.get_members_user(), label=u"گیرنده ها") self.fields['member_receivers'].required = False self.fields['member_receivers'].is_hidden = True self.fields['is_sms'] = forms.BooleanField(required=False, label=u"ارسال پیامک") self.fields['is_mail'] = forms.BooleanField(required=False, label=u"ارسال پست الکترونیک") process_js_validations(self) self.fields['send_type'].required = True self.fields.keyOrder = ['title', 'body', 'send_type', 'arbiter_receivers', 'member_receivers', 'is_sms', 'is_mail']
def edit_intro_page(request): if not PermissionController.is_admin(request.user): return HttpResponseRedirect("/login/") instance = IntroPageContent.get_instance() if request.method == "POST": form = IntroPageForm(request.POST, instance=instance) if form.is_valid(): form.save() messages.success(request, u"ویرایش اطلاعات با موفقیت انجام شد.") else: messages.error(request, u"فرم نا معتبر است.") else: form = IntroPageForm(instance=instance) return render_to_response("accounts/edit_intro_page.html", {"form": form}, context_instance=RequestContext(request))
def save(self, commit=True): message = super(ArbiterMessageForm, self).save(commit=False) message.sender = self.user message.save() receivers = PermissionController.get_admins() message.receivers = receivers if receivers: for user in receivers: message_text = MessageServices.get_send_message( self.user, message.title, message.body) MessageServices.send_message(subject=u"پیام دریافتی سامانه", message=message_text, user=user) return message
def edit_intro_page(request): if not PermissionController.is_admin(request.user): return HttpResponseRedirect('/login/') instance = IntroPageContent.get_instance() if request.method == 'POST': form = IntroPageForm(request.POST, instance=instance) if form.is_valid(): form.save() messages.success(request, u"ویرایش اطلاعات با موفقیت انجام شد.") else: messages.error(request, u"فرم نا معتبر است.") else: form = IntroPageForm(instance=instance) return render_to_response('accounts/edit_intro_page.html', {"form": form}, context_instance=RequestContext(request))
def __init__(self, *args, **kwargs): self.user = kwargs.pop('user') super(MemberMessageForm, self).__init__(*args, **kwargs) self.fields['send_type'] = forms.ChoiceField(label=u"نوع گیرنده", choices=MemberMessageForm.SEND_TYPE) self.fields['send_type'].required = False self.fields['receivers'].queryset = PermissionController.get_available_receivers(self.user) self.fields['receivers'].required = False self.fields['receivers'].is_hidden = True process_js_validations(self) self.fields['send_type'].required = True self.fields.keyOrder = ['title', 'body', 'send_type', 'receivers'] if not self.user.member.cluster: self.fields['send_type'] = forms.BooleanField(label=u"ارسال پیام به مدیر سیستم", widget=forms.CheckboxInput( {'readonly': 'readonly', 'disabled': 'disabled'}), initial=True, required=False) process_js_validations(self)
def action_view(self, http_request, selected_instances): if not PermissionController.is_admin(http_request.user): raise Http404 if http_request.method == 'POST': form = EmailSendForm(http_request.POST) if form.is_valid(): email = form.cleaned_data.get('email') receivers = form.cleaned_data.get('receivers') subject = form.cleaned_data.get('subject') body = form.cleaned_data.get('body') MessageServices.send_mass_message(subject, body, receivers,email) form = None messages.success(http_request, u"پست الکترونیک ارسال شد.") else: form = EmailSendForm() return render_to_response('manager/actions/add_edit.html', {'form': form, 'title': u"ارسال پیام"}, context_instance=RequestContext(http_request))
def register(request): if not PermissionController.is_member(request.user): raise Http404() member = Member.objects.get(user=request.user) if not member.is_confirmed: messages.error(request, u"تا زمان عدم تایید عضویت شما از طریق مدیریت سامانه شما قادر به ایجاد طرح نیستید.") return render_to_response('show_message.html', {}, context_instance=RequestContext(request)) project_handler = ProjectHandler(request) project_handler.initial_forms() if project_handler.is_valid_forms(): project_handler.save_forms() messages.success(request, u"ثبت طرح با موفقیت انجام شد.") return render_to_response('show_message.html', {}, context_instance=RequestContext(request)) context = project_handler.get_context() return render_to_response('project/register.html', context, context_instance=RequestContext(request))
def __init__(self, *args, **kwargs): self.user = kwargs.pop('user') super(MemberMessageForm, self).__init__(*args, **kwargs) self.fields['send_type'] = forms.ChoiceField( label=u"نوع گیرنده", choices=MemberMessageForm.SEND_TYPE) self.fields['send_type'].required = False self.fields[ 'receivers'].queryset = PermissionController.get_available_receivers( self.user) self.fields['receivers'].required = False self.fields['receivers'].is_hidden = True process_js_validations(self) self.fields['send_type'].required = True self.fields.keyOrder = ['title', 'body', 'send_type', 'receivers'] if not self.user.member.cluster: self.fields['send_type'] = forms.BooleanField( label=u"ارسال پیام به مدیر سیستم", widget=forms.CheckboxInput({ 'readonly': 'readonly', 'disabled': 'disabled' }), initial=True, required=False) process_js_validations(self)
def get_media(request, path): def return_file(path, name): res = serve(request, path, document_root=settings.MEDIA_ROOT, show_indexes=False) res['Content-Disposition'] = 'attachment; filename=%s' % name return res if not path: raise Http404() id = None try: path2 = path.split('!target_id=')[0] id = path.split('!target_id=')[1] path = path2 except: pass try: slug = path.split('/')[0] name = path.split('/')[1] except: return return_file('', path) print slug print name klass = mapping.get(slug, None) if not klass: raise Http404() if klass == 1: return return_file(path, name) if not request.user.is_authenticated(): raise Http404() if not id: raise Http404() try: object = klass.objects.get(pk=id) except: raise Http404() if PermissionController().is_admin( request.user) or PermissionController().is_supervisor( request.user): return return_file(path, name) if PermissionController().is_arbiter( request.user) and not isinstance(klass, Member): return return_file(path, name) if PermissionController().is_member(request.user): try: member = request.user.member except: raise Http404() if not member: raise Http404() if member == object: return return_file(path, name) if isinstance(object, Project): if check_project_access(object, member): return return_file(path, name) if isinstance(object, ProjectReport): if check_project_access(object.project, member): return return_file(path, name) raise Http404()
def can_view(self): if PermissionController.is_admin(self.http_request.user): return True return False
def default_context(request): today = datetime.date.today() user_menus = PermissionController.get_user_menus(request.user) return {'today': today, 'menus': user_menus}
def get_top_menus(user): return PermissionController.is_member(user)
def is_arbiter(user): return PermissionController.is_arbiter(user)
def can_view(self): if PermissionController.is_member(self.http_request.user): return True
def __init__(self, *args, **kwargs): super(ClusterForm, self).__init__(*args, **kwargs) if not self.http_request.user.is_anonymous( ) and not PermissionController.is_member(self.http_request.user): self.extra_js_validation = {} process_js_validations(self)
def __init__(self, *args, **kwargs): super(ClusterForm, self).__init__(*args, **kwargs) if not self.http_request.user.is_anonymous() and not PermissionController.is_member(self.http_request.user): self.extra_js_validation = {} process_js_validations(self)
def is_admin(user): return PermissionController.is_admin(user)