Пример #1
0
    def post(self, *args, **kwargs):
        request = self.request
        messages = self.request.POST.getlist("message-checkbox")

        if self.request.POST.get("fake-message"):
            from api import mail

            mail(request, "message", "mail", False, "subject", self.request.user)
            return HttpResponseRedirect("/")

        if not messages:
            warning(request, "Por favor, selecione uma ou mais mensagens.")
            return ajax_or_none(request)

        if self.request.POST.get("mark_read", None):
            read_messages(messages, request=request)
            return ajax_or_none(request)

        if self.request.POST.get("delete", None):
            delete_messages(messages, request=request)
            return ajax_or_none(request)

        # shouldn't land here, but will send a message anyway
        warning(request, "Algo de errado aconteceu")

        return ajax_or_none(request)
Пример #2
0
def create_codereview_if_neccessary_message(request, issue):
    """Create a message with a link to create patchset if it's necessary for the issue.

    If there are pushes after latest patchset, it's necessary to create another patchset to reflect the full set
    of changes.
    """
    case_id = get_case_id(issue)
    _, case_title, original_branch, feature_branch, ci_project = get_fogbugz_case_info(case_id)

    if feature_branch and original_branch:
        source_vcs, source_url, source_revision, source_branch_is_local, _ = parse_branch_vcs_info(
            feature_branch, settings.FEATURE_BRANCH_DEFAULT_PREFIX)
        if os.path.isdir(source_url):
            source = GuessVCS(
                attrdict({'revision': source_revision, 'vcs': source_vcs}), source_url)

            source_revision = source.CheckRevision().strip()

            if issue.latest_patch_rev != source_revision:
                messages_api.warning(
                    request, 'There are commits after the latest created patchset. '
                    'Please create a <a href="{0}?case={1}">new one</a>'.format(
                        reverse('process_from_fogbugz'),
                        case_id
                    )
                )
    return ''
Пример #3
0
    def post(self, request, *args, **kwargs):
        machine = shortcuts.get_object_or_404(self.model, pk=self.kwargs.get('pk'))
        force = request.GET.get('force')        
        
        form = self.__get_form(machine, request.POST)
        if force:
            form.force = True
 
        if form.is_valid():
            if not form.has_changed():
                form.reset_errors()
                api.info(request, _(u'Nenhuma alteração efetuada'))
                return shortcuts.render(request, self.template_name, {'form': form,
                                                                      'object': machine})
            
            machine = form.save()
            
            api.success(request, _(u'Máquina alterada com sucesso'))
            
            if form.dynamic_pool_full:
                api.warning(request, _(u'O pool associado a máquina tem mais máquinas do que IPs disponíveis.'))
            
            models.Log(user=request.user, msg=_(u"Máquina '%s' alterada" % machine.mac)).save()
            return shortcuts.redirect(urlresolvers.reverse('webradius:mac_detail', args=(machine.id,)))
        
        if form.dynamic_ip_in_use:
            return shortcuts.render(request, self.template_force_name, {'form': form,
                                                                        'object': machine})
        else:
            return shortcuts.render(request, self.template_name, {'form': form,
                                                                  'object': machine})
Пример #4
0
 def post(self, *args, **kwargs):
     try:
         product_pk = int(self.request.POST['product_pk'])
         product = Product.objects.get(pk=product_pk)
     except (KeyError, ValueError, Product.DoesNotExist):
         return HttpResponseBadRequest("Bad request input")
     issue = Issue(target=product, user=self.request.user)
     form = IssueCreationForm(self.request.POST or None, instance=issue)
     if form.is_valid():
         issue = form.save()
         return HttpResponseRedirect(
                 reverse("shopie:issue_detail",
                 kwargs={
                     'product_slug':product.slug,
                     'product_pk': product.pk,
                     'pk':issue.pk
                 }))
     else:
         message_api.warning(self.request, "Ups, form input tidak valid.")
         return HttpResponseRedirect(
             reverse('shopie:product_issues',
             kwargs={
                 'slug': product.slug,
                 'pk': product.pk
             }))
Пример #5
0
def create_codereview_if_neccessary_message(request, issue):
    """Create a message with a link to create patchset if it's necessary for the issue.

    If there are pushes after latest patchset, it's necessary to create another patchset to reflect the full set
    of changes.
    """
    case_id = get_case_id(issue)
    _, case_title, original_branch, feature_branch, ci_project, target_branch = get_fogbugz_case_info(
        request, case_id)

    if feature_branch and original_branch:
        source_vcs, source_url, source_revision, source_branch_is_local, _ = parse_branch_vcs_info(
            feature_branch, settings.FEATURE_BRANCH_DEFAULT_PREFIX)
        if os.path.isdir(source_url):
            source = GuessVCS(
                attrdict({
                    'revision': source_revision,
                    'vcs': source_vcs
                }), source_url)

            try:
                source_revision = source.CheckRevision().strip()
            except RuntimeError:
                return ''

            if issue.latest_patch_rev != source_revision:
                messages_api.warning(
                    request,
                    'There are commits after the latest created patchset. '
                    'Please create a <a href="{0}?case={1}">new one</a>'.
                    format(reverse('process_from_fogbugz'), case_id))
    return ''
Пример #6
0
    def post(self, request, *args, **kwargs):
        try:
            product_id = int(self.request.POST['add_item_id'])
            product_quantity = int(self.request.POST.get('add_item_quantity', 1))
        except (KeyError, ValueError):
            message_api.warning(self.request, 'error, silahkan pilih product')
            return HttpResponseRedirect(reverse('shopie:cart'))

        product = Product.objects.get(pk=product_id)
        order = get_or_create_current_order(self.request, save=True)
        item = order.add_item(product, product_quantity)
        order.save()

        return self.post_success(product, item)
Пример #7
0
    def get(self, request, *args, **kwargs):
        referer = self.request.META.get('HTTP_REFERER')
        pk = self.kwargs.get('username')

        try:
            self.object = UserProfile.objects.get(pk=pk)
        except ObjectDoesNotExist:
            warning(self.request, _(u"User '%s' was not found.") % pk)
            return HttpResponseRedirect(referer or reverse('profiles-userprofile-list'))

        if self.object is not None:
            if self.object.user.is_active:
                warning(self.request, _(u"User '%s' is already active.") %
                        profile.pk)
                return HttpResponseRedirect(reverse(*profile.get_absolute_url()))
            else:
                return super(UserProfileActivate, self).get(request, *args, **kwargs)

        return HttpResponseRedirect(referer or reverse('profiles-userprofile-list'))
Пример #8
0
 def get_object(self):
     """get action"""
     action = get_object_or_404(models.Action, pk=self.kwargs['pk'])
     try:
         return action.actiondocument
     except self.model.DoesNotExist:
         warning_text = ""
         if not action.type:
             warning_text = _(u"The action has no type set: Unable to create the corresponding document")
         elif not action.type.default_template:
             warning_text = _(
                 u"The action type has no document template defined: Unable to create the corresponding document"
             )
         if warning_text:
             logger.warning(warning_text)
             user_message.warning(self.request, warning_text)
             raise Http404
         else:
             return self.model.objects.create(action=action, template=action.type.default_template)
Пример #9
0
 def post(self, *args, **kwargs):
     request = self.request
     messages = self.request.POST.getlist('message-checkbox')
             
     if not messages:
         warning(request, 'Por favor, selecione uma ou mais mensagens.')
         return ajax_or_none(request)
     
     if self.request.POST.get('mark_read', None):
         read_messages(messages, request=request)
         return ajax_or_none(request)
             
     if self.request.POST.get('delete', None):
         delete_messages(messages, request=request)
         return ajax_or_none(request)
         
     # shouldn't land here, but will send a message anyway
     warning(request, 'Algo de errado aconteceu')
     
     return ajax_or_none(request)
Пример #10
0
    def post(self, request, *args, **kwargs):
        username = self.request.POST.get('username', None)
        password = self.request.POST.get('password', None)
        user = authenticate(username=username, password=password)

        if not user:
            return self.fail(request, *args, **kwargs)

        if user and not user.is_active:
            warning(self.request, u"""Esta conta não está ativa. Em caso
                    de dúvidas, entre em contato com o administrador.""")

            return HttpResponseRedirect(self.request.META.get('PATH_INFO'))

        else:
            if user and user.is_active:
                login(self.request, user)
                goto = self.request.POST.get('next', '')
                if goto == '':
                    goto = '/'
                return HttpResponseRedirect(goto)
Пример #11
0
 def get_object(self):
     """get action"""
     action = get_object_or_404(models.Action, pk=self.kwargs['pk'])
     try:
         return action.actiondocument
     except self.model.DoesNotExist:
         warning_text = ""
         if not action.type:
             warning_text = _(
                 "The action has no type set: Unable to create the corresponding document"
             )
         elif not action.type.default_template:
             warning_text = _(
                 "The action type has no document template defined: Unable to create the corresponding document"
             )
         if warning_text:
             logger.warning(warning_text)
             user_message.warning(self.request, warning_text)
             raise Http404
         else:
             return self.model.objects.create(
                 action=action, template=action.type.default_template)
Пример #12
0
 def post(self, request, *args, **kwargs):
     force = request.GET.get('force')
     
     form = macinfo.MacAddForm(request.POST)
     if force:
         form.force = True
     
     if form.is_valid():
         machine = form.save()
                        
         models.Log(user=request.user, msg=_(u"Máquina '%s' cadastrado" % machine.mac)).save()                
         api.success(request, _(u'Máquina cadastrada com sucesso'))
         
         if form.dynamic_pool_full:
             api.warning(request, _(u'O pool associado a máquina tem mais máquinas do que IPs disponíveis.'))
         
         return shortcuts.redirect(urlresolvers.reverse('webradius:mac_detail', args=(machine.id,)))
     
     if form.dynamic_ip_in_use:
         return shortcuts.render(request, self.template_force_name, {'form': form})
     else:
         return shortcuts.render(request, self.template_name, {'form': form})
Пример #13
0
 def fail(self, request, *args, **kwargs):
     warning(self.request, u"""Usuário ou senha incorretos.""")
     return self.get(request, *args, **kwargs)