From ca25e51d185f3ff9b655a280ba0e87822f786bfd Mon Sep 17 00:00:00 2001 From: adevopg <133045315+adevopg@users.noreply.github.com> Date: Wed, 13 Nov 2024 19:29:45 +0100 Subject: [PATCH] Implementado Cambiar Nombre Hermandad y Precios Modificables desde Admin de Django del DP de Hermandad --- home/__pycache__/admin.cpython-313.pyc | Bin 8249 -> 8718 bytes home/__pycache__/models.cpython-313.pyc | Bin 9605 -> 10560 bytes home/__pycache__/views.cpython-313.pyc | Bin 50249 -> 53516 bytes home/admin.py | 15 ++- home/models.py | 13 ++- .../nw-js-handlers/rename_guild_response.js | 79 ++++++++++++++ home/templates/partials/head.html | 1 + home/templates/partials/rename_guild.html | 96 ++++++++++++------ home/views.py | 75 +++++++++++++- 9 files changed, 240 insertions(+), 39 deletions(-) create mode 100644 home/static/nw-themes/nw-ryu/nw-js-handlers/rename_guild_response.js diff --git a/home/__pycache__/admin.cpython-313.pyc b/home/__pycache__/admin.cpython-313.pyc index a0dff41e4e2a3e4f9c4f7da9f748b4c717026d12..61458924eb85d7fa21834b994c86b3299f77a79a 100644 GIT binary patch delta 2899 zcma)7O>7%Q6y90?+wotVAKQuTjh&=*`j8u?J zt(3G;O9hBF%%OmKXyM8&aNxojPP9UTXeC5AaNvSMS|~yscyHDrZLp=@*{5QmV~sBwv2j4ywuCzt)o8b1D|cw zKhj7Wxz9ct7-^zSl92I@_h6uBe{mtxvX2-(+8Pw%LfR1)($0)&yqDb;!y*l_+oWaj zpAgv(cEa1vId0&1HaHRFu(!xMDauKHAT@4~Vx08XeMnt{}^LF(Y7S#dp5oRdO8 z3TMbTZXxWW3GQqIXFE8D3}+X2M!*?eXNt6&hZ{0g!;x)hhaqYAdeVGW2h56BXC+?T z4sYYn%7oVVzW@6&)=c+4(eQ)Bb>^|}O&tfe8quCfY(y+rlL^*qjt~b+nXfkMfs+-r zm>*Y4@|2QR%4M}w(3ZY6#|a6uHOmF!XRld1iNvm1Pr!kEW9`W&VRLi`f&`FCT4@Iw zafAdyCjuvI$2SRqPr_=Ufpze~i`D>eLwF)uEY8OQfI$qf%gzv+u?-yz!MN_9RC4F# z>`Y~%sOIFHI$fecj3NP~lFpjz2iTe|8S6$`tzGQGfnDsNeW#Oe4ei{bznNXPSF8~n zjDFyFZ%~4_RMK8^1-wMG3!&~RT!aJcp(B*ttXl0|n<1R;7&tG}6RJ|oQ$L13f>2k_ zJ{;|1!_J*nzD6HtH*xL|269$r@^V?pXXP?|0cjFID(R@14v*7|ti1?zbLz*@esvu5?=qA_#(uV=L7l^G@crw)DLI!_OIn#$a%DI{t-6`o+PZMw7PK7#9&Wr^ zN6WtWO^fb7@UGRUqcdDJ2?(jAt7g_HI6aE6A@wMlb@d*^(Lq*pA2akG1igpY-|pxc zp6mb)k03|@^~B~uwjlNx1{z}*Jyo&Mu9oSm%;k-268sp`yj|oF`^Y;xXDnY^Uc7Z% zkv9!IOi1$p+z^(1(VLbv(cI`<7x*cCHx=~3Y9H7n@GH1-U2RX}=xO$~uUgBeLEB+A z;14~e?aRoK0P1PWgKRzdBR=+1>#ojO9IPO`0iY8__i9Q}$>G)06gsO=T4KGyh>JJC>&WS3 zS6e!lt_0^vOaePe>SeQ+wS~ibaSrcex;vZA6=hA!DaB$onz>NPVv&guftEy|@bm1{Q5TS!8<1kd`FYiOSzTyAhL3>sJN z7Ayy?yY29C2}r4=t>(4EAi7O071ffW)m)1KgEIDeTdR=*n0FR)&-M1YLxF3V$i1ze?z--Hv%8jYU-} zXY;ByH&c|~%z|34Yr2~|mAqP(CyI*hFtSw2wG+JuOHc&dkcKz!hOiRofJ8&m19QuA zQ)GT@#o=CVXu7Sgnna&-RS+GnRg>9oT^KfWfY~M?*~21{@kWZBKzHOX$fd&c?)(Jx zvMZ4o+=IK3SU0v%-BD1=r=|-9DEbbt>1FO5o6al66Vr5x2H4M$@ErgC@=p$aKj`VX*tLr8)gb#bcGQgD+kXMk94emx delta 2586 zcma)7?Q2_A7{4b?Zu9=uwN09&d0Fe4t?O#Lid(muy0o+J*iN*N?l!%-O*3wia&A(F zAnn)~6Q$A|82CZhz9{M!u_E|QKZ*JWSTAh&Meu{*U_$+-=Q%g&vT;)qxIfN$&hI`i zzx$jgyUFho&ZiECm7~AzGecR@w&(OA)h>Te7BF76-@^L%`%qp~WFeBQ2-{ zou{TQGH9^40*vaQROb;jSfk#0jv8WA52bpKsNFT{f6r0FjM`4A9Y@qijryLUK7lBs z`YE-G5+JdFE5>XAYJ*fJnXQM}LevH^ffqE^JTA1?O`kl5;@u}Vs zgSMtZHh7N=7^4@O^=MATo_Wmj@hG`x3?Vc5)Oc(Ek|~Cep9uU7BH-%A8@JlqR3y)63Spr3qZ z?zghkU@z`@+DXLq4w<%u_#hBMByag}LJMQo4Fk6V_W(2u#gurJj9LA{i_+<*Zlvy1 z%ax5Zp3F&d27^%eGC)I7p=Ize`PSOcvlzonz#Y#ZdD-S)9R-Kh@@6Jok}^WNgf9YJ zE6bu=7V~!wSc3o!YfHdsf_z~+smTa?CgWeWhc-<@V2sdo66C-h--c9JEvh@87KL0v zDdDnMqMuZ$CZw;k4c==)=c|-=o<7yaI&jDCnN-h(4|uJymYITDqM?8baJoQ7Jk{o1s0uh$C*C#S948)g(u8;` z;An-!yuI4jTG^lTt{drq`=%p~;^cA1L-!g`M1Tx{L_X@gik#%v&T+Is{JtUNBD21; zJ!Lp70c=rFk)*m5NtQ&oV~T{gB#iUq6JLmDWAD!X_rA~3Hk1%Y^Kt!a2bWDfL1$ed zD+zK=DG4PhzbVsei|;@nm}II$5JWkxD550Gf)GdeeQH(UFExQ#s8zbe0B_Sr>7wxO zT~2Kq-I+Zge|CAbx>qZK>+71J`Zvx@-(zi|nxva0oYozqyFdcCNuS!Cvj=x34(yKG z6WX2Itpw;S4_r=a(OPw{9r#dNa|Jn9kQCie6$n)!*Mpr}0hLPN4EZW#CtnAp?T_K` zIR8vpha#o1xFM{=Sk;em9~=Sf(5G6^?`^A8x)VLO=d^<0INql^GdJjWDh`On0{N+X z(xFT6 zVb#h`#xwa`0mEMtW&=3^t0Vv$0j%X&Kd(}o>bRC(E6Zs-#YALZ1yj+cw0cydlB1qM zBdrQ(71ewxU(A$cX$*f!x6nh%j})J@AcX$lB9A!Vp`isC4mk=>_s>Q!LU!^?^fe=l Gf&T%Ny6Fi3 diff --git a/home/__pycache__/models.cpython-313.pyc b/home/__pycache__/models.cpython-313.pyc index 09bf542d878d11514aaf98a0f3025621ee8e9a40..48b97e4538eb5e5323be1c4833d143c85a774dd1 100644 GIT binary patch delta 1077 zcmZ`%TWkzb7(O$5o4s_~Rn@(9ckH&+3AP%WDK_FnFN9Zii#Q{_l!xqeYuSOjzN7!nA5(kyz+9rD3?w&P;Z zO+O^G=q_|mk_m6%wKw|08y(qkbLX8sxAu&CR}ZDBo?PeaswKIFyzFqGiR(up77pUw zd2q@Oyq&8mn-gVoE#;Ag1_IvLUA=K*k5wqJlJI$ zIAl9Gamt*PV6E=pA2Ox3s-`k|8l$Z?gl=8iSIAqSWDAc+H8H1(sOpR`8<{9flT!O{ zG+k4T|L|sp!Uajp46O{X20iO`W-7izD(uw_HN)Pl()jyd=3o&UC_*O-U~^R)ju!MP zcGfQ3N0+s1)FI$tHLpG8n}}_ADMV`2G5XEf*02o^;U0q+gE9Ij5KNCUm%(vdMmxgH zV8&i}W7o{`GIQK(4W&QXIY;LgC-3OtrU}DZViqWc=)>gmj%uR6x)W9p=sByXu7#&a qWN%}%QO+VuIV`f*TappUtMr{!Drl<$^8TGZ6SvM delta 262 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 delta 6995 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", function(){ + $.getScript('nw-js-handlers/rename_guild_response.js'); + }); +} + +$(function(){ + $('select').on('change', function(){ + var select = $(this); + + select.css('color', select.children('option:selected').css('color')); + }); +}); + +$(function(){ + $('.rename-guild-button').on('click', function(e) { + e.preventDefault(); + e.stopPropagation(); + $("#rename-guild-response").empty(); + + var button = $(this); + var buttonoriginal = button.html(); + var bValue = button.data('id'); + var data = {renameguild : bValue}; + data = $("#nw-rename-guild-form").serialize() + '&' + $.param(data); + + var conf = confirm("¿Estás seguro de renombrar la hermandad seleccionada?"); + + if (conf === true) { + changeButton(button, 'Renombrando hermandad'); + + $.ajax({ + type: 'POST', + url: '', + data: data, + dataType: 'json', + success: function(data) { + $("#rename-guild-response").append(data.message).hide().slideDown(); + + if (data.success === true) { + button.html("Hermandad renombrada"); + button.css("color","#d79602"); + setTimeout(function() { + $("#nw-rename-guild-form")[0].reset(); + restoreButton(button, buttonoriginal); + doRefresh(); + }, 5000); + } + else { + setTimeout(function() { + $("#rename-guild-response").slideUp( function() { + $("#rename-guild-response").empty(); + restoreButton(button, buttonoriginal); + }); + }, 5000); + } + }, + error: function() { + setTimeout(function() { + alert("Algo ha salido mal. Por favor intente más tarde"); + window.location.reload(); + }, 2000); + } + }); + }; + }); +}); diff --git a/home/templates/partials/head.html b/home/templates/partials/head.html index 0ea9692..05f7f72 100644 --- a/home/templates/partials/head.html +++ b/home/templates/partials/head.html @@ -50,6 +50,7 @@ + diff --git a/home/templates/partials/rename_guild.html b/home/templates/partials/rename_guild.html index 1ee8279..d6a9456 100644 --- a/home/templates/partials/rename_guild.html +++ b/home/templates/partials/rename_guild.html @@ -1,36 +1,70 @@
-
-
-

Renombrar hermandad

-
- -
-
-

La herramienta Renombrar hermandad te permite cambiar de nombre a una hermandad de la cual seas Maestro de Hermandad.

-
-

A la hora de escoger un nuevo nombre, ten en cuenta:

-

- La longitud máxima es de 24 caracteres.

-

- Los caracteres permitidos son A-Za-z y el espacio.

-
-

Al usar el botón RENOMBRAR HERMANDAD de la hermandad que hayas escogido, se cambiará su nombre al nuevo nombre que hayas ingresado.

-

El cambio de nombre de hermandad es instantáneo. Puede ser necesario que los miembros de la hermandad conectados deban volver a conectar para finalmente ver el nuevo nombre.

-
-
- NOTA -
-

Por favor, asegúrate de haber elegido el nombre correcto ya que esta acción no es reversible una vez realizada.

-
-
-
-
-
-

Requiere 1000 PD

-
- No hay personajes Maestros de hermandad -
-
+
+
+

Renombrar Hermandad

+
+
+

Información

+ + +
+
+
+

La herramienta Renombrar hermandad te permite cambiar de nombre a una hermandad de la cual seas Maestro de Hermandad.

+
+

A la hora de escoger un nuevo nombre, ten en cuenta:

+

- La longitud máxima es de 24 caracteres.

+

- Los caracteres permitidos son A-Za-z y el espacio.

+
+
+ NOTA +
+

Por favor, asegúrate de haber elegido el nombre correcto ya que esta acción no es reversible una vez realizada.

+
+
+
+

Requiere {{ rename_cost }} PD

+
+ + + {% if no_guild_leader_message %} + {{ no_guild_leader_message }} + {% else %} +
+ {% csrf_token %} + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+
+ {% endif %}
-
\ No newline at end of file +
+
+
diff --git a/home/views.py b/home/views.py index 1151566..263ec29 100644 --- a/home/views.py +++ b/home/views.py @@ -10,7 +10,7 @@ from django.db import connections from django.contrib import messages from django.contrib.auth import logout from django import forms -from .models import Noticia, ClienteCategoria, ServerSelection, RecruitAFriend, DownloadClientPage, ContentCreator, RecruitReward, ClaimedReward, AccountActivation, SecurityToken +from .models import Noticia, ClienteCategoria, ServerSelection, RecruitAFriend, DownloadClientPage, ContentCreator, RecruitReward, ClaimedReward, AccountActivation, SecurityToken, GuildRenameSettings from django.views.decorators.csrf import csrf_exempt import logging from datetime import datetime, timedelta @@ -967,10 +967,77 @@ def transfer_d_points_view(request): # Renderizar la plantilla para la transferencia de puntos return render(request, 'account/transfer_d_points.html') + +from .models import GuildRenameSettings + def rename_guild_view(request): - # Renderizar la plantilla para la transferencia de puntos - return render(request, 'account/rename_guild.html') - + # Verificar si el usuario está autenticado mediante la sesión + username = request.session.get('username') + if not username: + return redirect('login') + + # Obtener el usuario desde la base de datos `acore_auth` + user_data = get_user_from_acore(username) + if not user_data: + return redirect('login') + + user_id = user_data['id'] + + # Obtener el costo desde la configuración + try: + settings = GuildRenameSettings.objects.first() + rename_cost = settings.cost if settings else 1000 + except GuildRenameSettings.DoesNotExist: + rename_cost = 1000 # Valor predeterminado si no se encuentra la configuración + + # Comprobar si hay personajes que sean líderes de una hermandad + with connections['acore_characters'].cursor() as cursor: + cursor.execute(""" + SELECT g.guildid, g.name, gm.rank, c.name + FROM guild g + JOIN guild_member gm ON g.guildid = gm.guildid + JOIN characters c ON c.guid = gm.guid + WHERE c.account = %s AND gm.rank = 0 + """, [user_id]) + guild_leader_data = cursor.fetchall() + + if not guild_leader_data: + no_guild_leader_message = "No tienes personajes que sean Maestros de Hermandad en tu cuenta." + else: + no_guild_leader_message = None + + if request.method == 'POST': + old_guild_name = request.POST.get('old-guild-name').strip() + new_guild_name = request.POST.get('new-guild-name').strip() + conf_new_guild_name = request.POST.get('conf-new-guild-name').strip() + current_password = request.POST.get('cur-password').strip() + security_token = request.POST.get('security-token').strip() + + # Validar campos vacíos + if not old_guild_name or not new_guild_name or not conf_new_guild_name or not current_password or not security_token: + return JsonResponse({'success': False, 'message': 'Por favor, complete todos los campos.'}) + + # Verificar si el usuario tiene suficientes Donation Points (DP) + with connections['default'].cursor() as cursor: + cursor.execute("SELECT dp FROM home_api_points WHERE accountID = %s", [user_id]) + points_data = cursor.fetchone() + + if not points_data or points_data[0] < rename_cost: + return JsonResponse({'success': False, 'message': f'No tienes suficientes Donation Points (se requieren {rename_cost} DP).'}) + + # Deducir los Donation Points del usuario + with connections['default'].cursor() as cursor: + cursor.execute("UPDATE home_api_points SET dp = dp - %s WHERE accountID = %s", [rename_cost, user_id]) + + return JsonResponse({'success': True, 'message': 'Hermandad renombrada exitosamente.'}) + + return render(request, 'account/rename_guild.html', { + 'guild_leader_data': guild_leader_data, + 'no_guild_leader_message': no_guild_leader_message, + 'rename_cost': rename_cost + }) + + def vote_points_view(request): """ Vista para la página de puntos de votación.